← Back to Blog

Passordentropi forklart: hvordan du faktisk beregner hvor sterkt et passord er

2025-12-26

"Bruk et sterkt passord" er et vanlig råd, men "sterkt" er vagt. Entropi er selve målet bak dette rådet — et tall, i bits, som forteller deg hvor mange forsøk en angriper trenger i verste fall. Denne artikkelen forklarer hva dette tallet betyr og hvordan du beregner det for et passord du faktisk velger.

Kort oppsummert

  • Entropi (i bits) måler størrelsen på søkerommet en angriper må brute-force seg gjennom: entropi = log2(tegnsett-størrelse ^ lengde).
  • Hvert ekstra tegn multipliserer søkerommet; hver ekstra tegntype multipliserer det bare med en fast, forholdsvis liten faktor.
  • Et passord på 12 tegn med kun små bokstaver har mindre entropi enn et passord på 8 tegn som blander alle fire tegntyper — men en passfrase på 20 tegn med små bokstaver slår begge.
  • CSPRNG-genererte passord treffer sin teoretiske entropi nøyaktig; menneskevalgte passord gjør det sjelden, fordi mennesker ikke er tilfeldige.

Kort svar

Entropi i bits er log2(N), der N er det totale antallet like sannsynlige passord av den lengden og tegnsettet. I praksis: entropi = lengde × log2(tegnsett-størrelse). Et passord på 16 tegn trukket jevnt fra de 95 utskrivbare ASCII-tegnene har omtrent 16 × log2(95) ≈ 105 bits entropi — sammenlignbart med en 256-bit AES-nøkkels praktiske brute-force-motstand er overkill til sammenligning, men 105 bits er allerede langt utenfor rekkevidde for nåværende eller forutsigbar maskinvare. PassGenerate genererer passord på denne måten, ved hjelp av Web Crypto API-ens CSPRNG, så entropitallet er reelt, ikke bare teoretisk.

Entropiformelen, steg for steg

Entropi forutsetter at hvert tegn velges uavhengig og jevnt tilfeldig fra et fast sett. Gitt et tegnsett av størrelse C og et passord av lengde L, er antallet mulige passord C^L, og entropien i bits er:

entropi = L × log2(C)
TegnsettSettstørrelse (C)Bits per tegn (log2 C)
Kun sifre (0-9)103.32
Små bokstaver (a-z)264.70
Små bokstaver + sifre365.17
Store/små bokstaver + sifre625.95
Store/små bokstaver + sifre + symboler (~33 vanlige)956.57

Lengde vs. tegnsett-størrelse: hvorfor lengde vinner

Denne tabellen viser hvorfor NIST SP 800-63B nedtoner tvungne kompleksitetsregler til fordel for lengde:

LengdeKun sifreSmå bokstaverBlandet (store+små+sifre+symboler)
827 bits38 bits52 bits
1240 bits56 bits79 bits
1653 bits75 bits105 bits
2066 bits94 bits131 bits
2480 bits113 bits157 bits
32106 bits150 bits210 bits

Legg merke til at et passord på 8 tegn med alle fire tegntyper (52 bits) har mindre entropi enn et passord på 12 tegn med kun små bokstaver (56 bits). Dette er det matematiske grunnlaget for et velkjent funn: å legge til fire ekstra tilfeldige tegn gjør mer for sikkerheten din enn å tvinge inn symboler og sifre i et kort passord. Det er også grunnen til at lange, tilfeldig genererte passfraser (flere tilfeldige ordbokord) kan være både sterkere og lettere å skrive enn en kort samling symboler — hvert ekstra ord legger typisk til 11-13 bits hvis det er hentet fra en liste med noen tusen ord, noe som raskt summerer seg over 4-6 ord.

Hvorfor "tilfeldig utseende" ikke er det samme som tilfeldig

Entropiberegninger forutsetter ekte, jevn tilfeldighet. Menneskeskapte passord bryter systematisk denne forutsetningen selv når de ser komplekse ut: tastaturmønstre (Qwerty123!), leetspeak-erstatninger (P@ssord1), og datoer eller navn med et symbol lagt til reduserer alle den effektive entropien langt under det tegnantallet antyder, fordi angripernes knekkeverktøy er bygget rundt nettopp slike mønstre. Et passord kan se tilfeldig ut for et menneskelig øye og likevel falle innenfor de første få millioner forsøkene i et målrettet ordboksangrep.

Dette er den praktiske grunnen til å foretrekke en generator som bruker en kryptografisk sikker pseudotilfeldig tallgenerator (CSPRNG) fremfor å finne opp et passord selv. Math.random() i JavaScript er ikke kryptografisk sikker og er uegnet for passordgenerering — den blir seedet og generert av en algoritme som er forutsigbar nok til å rekonstrueres fra en håndfull utdata i noen motorer. Web Crypto API-ens crypto.getRandomValues() henter fra operativsystemets kryptografiske tilfeldighetskilde, så hvert tegn er genuint, uavhengig tilfeldig, og entropimatematikken ovenfor gjelder faktisk.

Hvordan dette ser ut med ekte maskinvare

Bit-tallene ovenfor er nyttige for sammenligning, men de forteller ikke hvor lang tid et faktisk angrep tar — det avhenger av maskinvaren som gjør forsøkene, og den maskinvaren blir raskere hvert år. Hive Systems publiserer en årlig referansetest av nettopp dette, og tester brute-force-hastighet mot en leid flåte av forbruker-GPU-er. Deres 2026-tabell setter et tilfeldig generert passord på 8 tegn med det fulle blandede tegnsettet (store, små, sifre, symboler) til omtrent 132 år å knekke — ned fra 164 år i 2025 og 225 år i 2024, en nedgang på omtrent 20-25 % per år etter hvert som GPU-maskinvaren forbedres. Et passord på 8 tegn med kun små bokstaver falt enda raskere: fra tre uker å knekke i 2025 til omtrent to uker i 2026.

To ting fra den referansetesten er verdt å vite. For det første er trenden ensrettet — det som ser "trygt" ut i dag blir svakere hvert år rent på grunn av maskinvareforbedringer, noe som er et virkelighetsnært argument for å velge lengre passord fremfor dagens minimum. For det andre, og noe kontraintuitivt: de spesialiserte AI-akseleratorbrikkene bygget for å trene språkmodeller viste seg ikke å være raskere til å brute-force knekke passord enn tilsvarende gaming-GPU-er, og i enkelte tester til og med tregere — passordknekking er et rent regneproblem som ikke drar nytte av matrisemultiplikasjonsoptimaliseringene AI-maskinvare er bygget rundt.

Hvor mange bits trenger du egentlig?

Det finnes ikke ett universelt tall, fordi det avhenger av hva du forsvarer deg mot:

  • ~40-60 bits: Motstandsdyktig mot tilfeldig gjetting og småskala automatiserte angrep, men innenfor rekkevidde av et godt utstyrt offline-angrep mot en svakt hashet database. Kun egnet for reelt lavverdi-kontoer med lave konsekvenser.
  • ~70-90 bits: Godt utenfor rekkevidde for brute force, selv med optimalisert knekkemaskinvare, for enhver realistisk angrepstidsramme. Et rimelig mål for de fleste personlige kontoer.
  • 100+ bits: Praktisk talt uoppnåelig via brute force med dagens eller forutsigbar regnekraft, kryptografisk i samme forstand som en sterk krypteringsnøkkel. Passende for hovedpassordet til passordbehandleren din eller andre kritiske enkeltpunkter.

De viktigste poengene

  • Entropi er lengde × log2(tegnsett-størrelse) — lengde har en lineær effekt, tegnsett-størrelse har en logaritmisk effekt, og det er derfor lengde dominerer.
  • Et kort passord med hver tegntype kan ha mindre entropi enn et lengre passord med kun én type.
  • Effektiv entropi er kun lik teoretisk entropi når tegnene er genuint, jevnt tilfeldige — noe en CSPRNG garanterer og menneskelig valg vanligvis ikke oppnår.
  • Sikt mot 70+ bits for hverdagskontoer og 100+ bits for hovedpassord eller andre kritiske enkeltpunkter.

Hvorfor du kan stole på PassGenerate

  • Passord genereres lokalt i nettleseren din ved hjelp av Web Crypto API.
  • Ingen passord overføres til servere.
  • Bruker en kryptografisk sikker pseudotilfeldig tallgenerator (CSPRNG).
  • Følger moderne beste praksis for sikkerhet, anbefalt av NIST og OWASP.

Kilder

  • Hive Systems 2026 Password Table (brute-force-referansedata)
  • NIST SP 800-63B – Digital Identity Guidelines
  • OWASP Authentication Cheat Sheet
  • MDN Web Crypto API Documentation

Konklusjon

Entropi er et presist, beregnbart mål på passordstyrke, ikke et vagt begrep om "kompleksitet". Lengde betyr mer enn tvungen blanding av tegntyper fordi det øker søkerommet lineært, mens tegnsett-størrelsen kun øker det logaritmisk — og ingenting av dette stemmer med mindre tegnene faktisk er tilfeldige, noe som er grunnen til at en CSPRNG-basert generator som PassGenerate produserer passord som treffer sin teoretiske entropi nøyaktig, noe et menneskevalgt passord praktisk talt aldri oppnår.