
Mensen verbergen al meer dan tweeduizend jaar boodschappen in het volle zicht. Bij de oudste trucs wordt elke letter volgens een vaste regel vervangen door een andere. Ze zijn leuk om te gebruiken en een perfect startpunt voor cryptografie, maar een geduldige aanvaller kan elk ervan met potlood kraken. In deze gids zie je hoe vijf klassieke cijfers werken en waarom geen ervan je nu kan beschermen.
Platte tekst, cijfertekst en sleutels
Het oorspronkelijke bericht is de plaintext. De door elkaar gehusselde versie is de ciphertext. Een cipher is de regel die de ene versie in de andere verandert, en de key is het geheime detail dat precies bepaalt welke husseling je gebruikt.
Een goede gewoonte, die teruggaat tot de 1800s, is om ervan uit te gaan dat de vijand de methode van de cipher kent en dat alleen de key geheim is. Alles hieronder moet volgens die standaard worden beoordeeld: als iemand weet wat je hebt gedaan, maar je key niet kent, kunnen ze je bericht dan toch lezen?
Caesarverschuiving: schuif het alfabet
De Caesarverschuiving schuift elke letter een vast aantal plaatsen vooruit. Gebruik een verschuiving van 3: A wordt D, B wordt E en Z loopt door naar C. De Romeinse schrijver Suetonius meldt dat Julius Caesar dit gebruikte voor militaire brieven.
Het aantal plaatsen is de sleutel. Wie dat aantal kent, kan terugschuiven. Het probleem is dat er zo weinig sleutels zijn: slechts 25 bruikbare verschuivingen. Een aanvaller kan ze gewoon allemaal proberen, een brute-force-zoektocht die met de hand een minuut duurt en op een computer helemaal geen tijd kost.
ROT13
ROT13 zet de Caesarverschuiving vast op 13 plaatsen. Omdat het alfabet 26 letters lang is, brengen twee verschuivingen van 13 je terug naar het begin. Versleutelen en ontsleutelen zijn dezelfde bewerking. Forums gebruikten het om spoilers te verbergen: het houdt een vluchtige blik tegen, maar beschermt niets.
Atbash: het gespiegeld alfabet
Atbash schrijft het alfabet achterstevoren onder zichzelf, zodat A bij Z hoort, B bij Y, C bij X enzovoort. Het komt uit het Hebreeuwse alfabet en komt voor in enkele oude teksten.
Net als ROT13 heeft het helemaal geen sleutel en maakt het zichzelf ongedaan: spiegel de spiegel en je bent weer terug. Daardoor is het een puzzel, geen slot. Zodra iemand het patroon herkent, ligt elk bericht dat ermee is geschreven open en bloot.
Affiene versleuteling: vermenigvuldig en verschuif
Geef elke letter een getal: A = 0 tot en met Z = 25. De affiene versleuteling neemt dat getal, vermenigvuldigt het met a, telt b erbij op en gaat bij 26 weer terug naar het begin:
E(x) = (a·x + b) mod 26
Stel a = 1 in en je hebt weer een gewone Caesarverschuiving. Door het vermenigvuldigen komen letters die naast elkaar staan ver uit elkaar te liggen, waardoor het resultaat meer door elkaar lijkt.
Er is wel een probleem. Om te kunnen ontsleutelen, moet elke letter van de cijfertekst afkomstig zijn van precies één letter uit de platte tekst. Dat gebeurt alleen als a geen gemeenschappelijke factor heeft met 26. Dus a = 3 en a = 5 werken, maar a = 2 of a = 13 niet, omdat ze twee verschillende letters naar dezelfde plaats zouden sturen. Er zijn maar 12 toegestane waarden voor a. Met 26 waarden voor b levert dat 312 sleutels op. Beter dan 25, maar voor een computer nog steeds heel weinig.
Substitutie met een sleutelwoord: elke mogelijke mengeling
Waarom elke letter volgens een regel verschuiven? Met een substitutiecijfer kan de sleutel elk willekeurig gehusseld alfabet zijn. Om het herschikken makkelijk te onthouden, schrijf je eerst een sleutelwoord, verwijder je herhaalde letters en voeg je daarna de ongebruikte letters in de juiste volgorde toe. Het sleutelwoord ZEBRAS geeft het sleutelalfabet ZEBRASCDFGHIJKLMNOPQTUVWXY, dus A wordt Z, B wordt E, C wordt B, enzovoort.
Het aantal mogelijke herschikkingen is 26 faculteit, ongeveer 4 × 10²⁶. Ze allemaal uitproberen is hopeloos, dus substitutie leek eeuwenlang onkraakbaar. Dat was het niet.
Waarom geen van deze cijfers tegenwoordig veilig is
Substitutiecijfers hebben een fatale eigenschap: een letter wordt altijd dezelfde letter. Daardoor blijft de vorm van de taal behouden. In het Engels komt E het vaakst voor, gevolgd door T, A en O, terwijl Q en Z zeldzaam zijn. Geleerden in de islamitische wereld beschreven rond de negende eeuw frequentieanalyse: tel de letters in de cijfertekst, koppel de meest voorkomende aan E en gebruik woordpatronen (een woord van één letter is waarschijnlijk A of I) om de rest in te vullen.
Langere berichten geven betere statistieken, dus zelfs een enorme sleutelruimte helpt niet. Moderne cijfers zijn zo ontworpen dat de cijfertekst geen dergelijke patronen laat zien en hun veiligheid berust op sleutels die veel te groot zijn om te raden. Gebruik voor echte toepassingen goed geteste moderne hulpmiddelen, nooit je eigen methode.
Zo ontdek je dit in het lab
Het Codes & Ciphers Lab geeft je een draaibare cijverschijf en hulpmiddelen om letters te tellen en gissingen te testen. Een goede volgorde in de eerste gratis wereld:
- Begin met De Caesar-verschuiving en probeer er één te kraken.
- Bekijk zelfinverse gedrag in ROT13 en daarna Atbash.
- Test welke vermenigvuldigers werken in Affine: eerst vermenigvuldigen, dan verschuiven.
- Bouw een gehusselde sleutel in Substitutie met een sleutelwoord.
Dit is een vereenvoudigd onderwijsmodel van historische cijfers. Het is bedoeld om inzicht te geven in sleutels en aanvallen, niet om echte berichten te beschermen.
- De sleutel bepaalt de herschikking; ga ervan uit dat aanvallers de methode kennen.
- Caesar heeft slechts 25 bruikbare sleutels, en ROT13 en Atbash hebben geen geheime sleutel.
- De affiene vermenigvuldiger mag geen gemeenschappelijke factor met 26 hebben, waardoor er 12 geldige waarden overblijven.
- Substitutie met een sleutelwoord heeft een enorme sleutelruimte, maar is kwetsbaar voor letterfrequentieanalyse.
De Caesarverschuiving
Elke letter verschuift dezelfde afstand. Ongeveer 6 minuten. Gratis, geen account, werkt in je browser.
Meer gratis lessen bij deze gids
Simulaties op Novareka zijn onderwijsmodellen die expres vereenvoudigd zijn. Ze laten zien hoe een idee werkt; ze zijn geen vervanging voor professioneel, medisch of technisch advies.
Labs in deze gids
Live
LiveVerder lezen
Alle gidsen →
Uitleg
Uitleg
Uitleg