← Back to Blog

Wachtwoordentropie uitgelegd: hoe je de sterkte echt berekent

2025-12-26

"Gebruik een sterk wachtwoord" is een veelgehoord advies, maar "sterk" is vaag. Entropie is de echte maatstaf achter dat advies — een getal, in bits, dat aangeeft hoeveel pogingen een aanvaller in het slechtste geval nodig heeft. Dit artikel legt uit wat dat getal betekent en hoe je het berekent voor een wachtwoord dat je daadwerkelijk kiest.

Kort samengevat

  • Entropie (in bits) meet de grootte van de zoekruimte die een aanvaller via brute kracht moet doorzoeken: entropie = log2(tekenset-grootte ^ lengte).
  • Elk extra teken vermenigvuldigt de zoekruimte; elk extra tekentype vermenigvuldigt deze slechts met een vaste, vergelijkenderwijs kleine factor.
  • Een wachtwoord van 12 tekens met alleen kleine letters heeft minder entropie dan een wachtwoord van 8 tekens met alle vier tekentypes gemengd — maar een wachtwoordzin van 20 tekens in kleine letters overtreft beide.
  • Door CSPRNG gegenereerde wachtwoorden bereiken precies hun theoretische entropie; door mensen gekozen wachtwoorden vrijwel nooit, omdat mensen niet willekeurig zijn.

Kort antwoord

Entropie in bits is log2(N), waarbij N het totale aantal even waarschijnlijke wachtwoorden is voor die lengte en tekenset. In de praktijk: entropie = lengte × log2(tekenset-grootte). Een wachtwoord van 16 tekens dat uniform is getrokken uit de 95 afdrukbare ASCII-tekens heeft ongeveer 16 × log2(95) ≈ 105 bits entropie — vergelijkbaar met een 256-bit AES-sleutel qua praktische brute-force-weerstand, wat overdreven is in vergelijking, maar 105 bits ligt al ver voorbij wat huidige of voorzienbare hardware kan uitputten. PassGenerate genereert wachtwoorden op deze manier, met de CSPRNG van de Web Crypto API, dus dit entropiegetal is echt, niet alleen theoretisch.

De entropieformule, stap voor stap

Entropie gaat ervan uit dat elk teken onafhankelijk en uniform willekeurig wordt gekozen uit een vaste verzameling. Bij een tekenset van grootte C en een wachtwoord van lengte L is het aantal mogelijke wachtwoorden C^L, en de entropie in bits is:

entropie = L × log2(C)
TekensetSetgrootte (C)Bits per teken (log2 C)
Alleen cijfers (0-9)103.32
Kleine letters (a-z)264.70
Kleine letters + cijfers365.17
Hoofdletters/kleine letters + cijfers625.95
Hoofdletters/kleine letters + cijfers + symbolen (~33 gangbare)956.57

Lengte vs. tekenset-grootte: waarom lengte wint

Deze tabel laat zien waarom NIST SP 800-63B minder belang hecht aan geforceerde complexiteitsregels ten gunste van lengte:

LengteAlleen cijfersKleine lettersGemengd (hoofdletters+kleine letters+cijfers+symbolen)
827 bits38 bits52 bits
1240 bits56 bits79 bits
1653 bits75 bits105 bits
2066 bits94 bits131 bits
2480 bits113 bits157 bits
32106 bits150 bits210 bits

Merk op dat een wachtwoord van 8 tekens met alle vier tekentypes (52 bits) minder entropie heeft dan een wachtwoord van 12 tekens volledig in kleine letters (56 bits). Dit is de wiskundige basis van een bekende bevinding: vier extra willekeurige tekens toevoegen doet meer voor je beveiliging dan symbolen en cijfers forceren in een kort wachtwoord. Het is ook waarom lange, willekeurig gegenereerde wachtwoordzinnen (meerdere willekeurige woordenboekwoorden) zowel sterker als makkelijker te typen kunnen zijn dan een korte reeks symbolen — elk extra woord voegt doorgaans 11-13 bits toe als het uit een lijst van enkele duizenden woorden komt, wat snel oploopt over 4-6 woorden.

Waarom "willekeurig lijken" niet hetzelfde is als willekeurig zijn

Entropieberekeningen gaan uit van echte, uniforme willekeurigheid. Door mensen gemaakte wachtwoorden schenden deze aanname systematisch, zelfs als ze complex lijken: toetsenbordpatronen (Qwerty123!), leetspeak-vervangingen (W@chtwoord1), en data of namen met een toegevoegd symbool verlagen allemaal de effectieve entropie ver onder wat het aantal tekens suggereert, omdat de kraaktools van aanvallers precies rond zulke patronen zijn gebouwd. Een wachtwoord kan er voor een menselijk oog willekeurig uitzien en toch binnen de eerste paar miljoen pogingen van een gerichte woordenboekaanval vallen.

Dit is de praktische reden om een generator die een cryptografisch veilige pseudowillekeurige-getallengenerator (CSPRNG) gebruikt te verkiezen boven zelf een wachtwoord bedenken. Math.random() in JavaScript is niet cryptografisch veilig en niet geschikt voor wachtwoordgeneratie — het wordt geseed en gegenereerd door een algoritme dat in sommige engines voorspelbaar genoeg is om te reconstrueren uit een paar uitvoerwaarden. De crypto.getRandomValues() van de Web Crypto API put uit de cryptografische willekeurbron van het besturingssysteem, dus elk teken is echt onafhankelijk willekeurig en de bovenstaande entropiewiskunde geldt daadwerkelijk.

Hoe dit eruitziet met echte hardware

De bovenstaande bitgetallen zijn nuttig om te vergelijken, maar zeggen niet hoe lang een echte aanval daadwerkelijk duurt — dat hangt af van de hardware die de pogingen doet, en die hardware wordt elk jaar sneller. Hive Systems publiceert jaarlijks precies hierover een benchmark, waarbij de brute-force-snelheid wordt getest op een gehuurd park consumenten-GPU's. Hun tabel voor 2026 stelt dat een willekeurig gegenereerd wachtwoord van 8 tekens met de volledige gemengde tekenset (hoofdletters, kleine letters, cijfers, symbolen) ongeveer 132 jaar nodig heeft om te kraken — een daling ten opzichte van 164 jaar in 2025 en 225 jaar in 2024, een afname van ongeveer 20-25% per jaar naarmate GPU-hardware verbetert. Een wachtwoord van 8 tekens met alleen kleine letters daalde nog sneller: van drie weken om te kraken in 2025 naar ongeveer twee weken in 2026.

Twee dingen uit deze benchmark zijn de moeite waard om te weten. Ten eerste is de trend eenrichtingsverkeer — wat vandaag "veilig" lijkt, wordt elk jaar zwakker puur door hardwareverbeteringen, wat een argument uit de praktijk is om te kiezen voor langere wachtwoorden in plaats van het huidige minimum. Ten tweede, en enigszins contra-intuïtief: de gespecialiseerde AI-versnellerchips die zijn gebouwd om taalmodellen te trainen, bleken niet sneller in het brute-force kraken van wachtwoorden dan gelijkwaardige gaming-GPU's, en in sommige tests zelfs langzamer — het kraken van wachtwoorden is een puur numeriek probleem dat niet profiteert van de matrixvermenigvuldigingsoptimalisaties waarop AI-hardware is gebaseerd.

Hoeveel bits heb je écht nodig?

Er is geen enkel universeel getal, omdat het ervan afhangt waartegen je je verdedigt:

  • ~40-60 bits: Bestand tegen toevallig gokken en kleinschalige geautomatiseerde aanvallen, maar binnen bereik van een goed uitgeruste offline aanval tegen een zwak gehashte database. Alleen geschikt voor echt laagwaardige accounts met weinig gevolgen.
  • ~70-90 bits: Ruim buiten het bereik van brute kracht, zelfs met geoptimaliseerde kraakhardware, voor elk realistisch aanvalstijdsbestek. Een redelijk doel voor de meeste persoonlijke accounts.
  • 100+ bits: Praktisch onbereikbaar via brute kracht met huidige of voorzienbare rekenkracht, cryptografisch in dezelfde zin als een sterke encryptiesleutel. Geschikt voor het hoofdwachtwoord van je wachtwoordmanager of andere single points of failure.

Belangrijkste inzichten

  • Entropie is lengte × log2(tekenset-grootte) — lengte heeft een lineair effect, tekenset-grootte een logaritmisch effect, en daarom domineert lengte.
  • Een kort wachtwoord met elk tekentype kan minder entropie hebben dan een langer wachtwoord met slechts één type.
  • Effectieve entropie is alleen gelijk aan theoretische entropie wanneer tekens echt uniform willekeurig zijn — wat een CSPRNG garandeert en menselijke keuze doorgaans niet bereikt.
  • Streef naar 70+ bits voor alledaagse accounts en 100+ bits voor hoofdwachtwoorden of andere single points of failure.

Waarom je PassGenerate kunt vertrouwen

  • Wachtwoorden worden lokaal in je browser gegenereerd met de Web Crypto API.
  • Er worden geen wachtwoorden naar servers verzonden.
  • Gebruikt een cryptografisch veilige pseudowillekeurige-getallengenerator (CSPRNG).
  • Volgt moderne best practices voor beveiliging, aanbevolen door NIST en OWASP.

Bronnen

  • Hive Systems 2026 Password Table (brute-force-benchmarkgegevens)
  • NIST SP 800-63B – Digital Identity Guidelines
  • OWASP Authentication Cheat Sheet

Conclusie

Entropie is een precieze, berekenbare maatstaf voor wachtwoordsterkte, geen vaag begrip van "complexiteit". Lengte telt meer dan geforceerd mengen van tekentypes omdat het de zoekruimte lineair vergroot, terwijl de tekenset-grootte deze slechts logaritmisch vergroot — en niets hiervan klopt tenzij de tekens echt willekeurig zijn, wat de reden is waarom een op CSPRNG gebaseerde generator zoals PassGenerate wachtwoorden produceert die precies hun theoretische entropie bereiken, iets wat een door een mens gekozen wachtwoord vrijwel nooit bereikt.