Klare cijfertekst

Vigenèrecijfer

Het Vigenèrecijfer is een van de klassieke methoden voor encryptie, voor het eerst beschreven in 1553. Het werkt zo: je schrijft elke letter een waarde toe (A=0, B=1, …, Z=25) en kiest een wachtwoord. Een tekst versleutelen doe je dan door de tekst en het wachtwoord bij elkaar op te tellen en 26 van het resultaat af te trekken als deze meer of gelijk is aan 26. Bijvoorbeeld:

geheimverhaal 6 4 7 4 8 12 21 4 17 7 0 0 11
wachtwoordwac   22 0 2 7 19 22 14 14 17 3 22 0 2 +
28 4 9 11 27 32 35 18 34 10 22 0 13 MOD 26
cejlbijsikwan 2 4 9 11 1 6 9 18 8 10 22 0 13

Je stuurt nu de zogenaamde cijfertekst ‘cejlbijsikwan’ op naar je partner-in-crime, en als de andere partij het wachtwoord ‘wachtwoordwac’ kent kan hij het originele bericht reconstrueren:

cejlbijsikwan 2 4 9 11 1 6 9 18 8 10 22 0 13
wachtwoordwac   22 0 2 7 19 22 14 14 17 3 22 0 2
-20 4 7 4 -18 -16 -5 4 -9 7 0 0 11 MOD 26
geheimverhaal 6 4 7 4 8 12 21 4 17 7 0 0 11

Klare cijfertekst

Deze methode van versleuteling kan inmiddels wel gebroken worden, maar heeft zich tot ten minste 1863 dapper verzet en verdiende daarom de titel ‘de onbreekbare versleuteling’. Als je op eenzelfde manier nadenkt als ik, dan denk je nu ‘zijn er ook cijferteksten die in plaats van een onleesbare brei letters toevallig een woord vormen?’ Het antwoord is ja! Heel veel zelfs, bijvoorbeeld:

aanbied
nooddak +

nobelen

En als je gelijk met mij verder denkt dan wordt het een uitdaging om hier het maximale uit te halen. aardwezens+mengschaal=meejoggend is de langste som die je kan maken, al kan je door woorden te combineren nog iets langere combinaties vinden. Door het opsplitsen van alleen de cijfertekst wordt dit mogelijk: meerdimensionaal + vertragingsactie = hiv-kuis-maya-op-tip. En door het opdelen van zowel het wachtwoord als de cijfertekst krijgen we: aandelenkoersindex + aft-beiaard-avaleren = af-geiten-bremstruik. Als we de originele tekst ook nog zouden opdelen is het niet spannend meer, omdat het dan makkelijk is om een combinatie van woorden te kiezen die werkt, en die dan gewoon te herhalen.

Hier naar kijkende valt het meteen op dat je kan proberen om nog een stapje encryptie te doen, aanbied + nooddak = nobelen, maar wat is nooddak + nobelen? Het onleesbare ‘acphoex’ helaas. Gelukkig zijn er een paar uitverkoren setjes die een extra stap toe laten, zoals: alias + sagen = sloef, sagen + sloef = kluis. Helaas volgt hierop cwimx. Het lijkt me duidelijk dat we de langste reeks willen vinden:

4 woorden: autologisch dut-waag-hemd dom-klomp-wok gif-glos-waan

5 woorden: imps cola kaas mols wolk

6 woorden: aub jas jut sul boe tip

7 woorden: bit vws wel rad neo eer rif

(vws = ministerie voor volksgezondheid welzijn en sport)

Hierna houdt het toch echt op, terwijl ik zo had gehoopt op een reeks die zichzelf herhaald. Waarom zouden we die niet kunnen vinden?

Periodiek

Als we even alleen naar de waardes achter de letters kijken (2 in plaats van ‘c’, en t = 20) en maar één letter volgen door alle iteraties heen. Neem het geheime woord ‘appel’ en het wachtwoord ‘boven’. De eerste twee letters hebben waardes 0(a) en 1(b), en deze maken samen 1(b). De eerste letter van het volgende woord wordt 1+1=c(2) en daarna 2+1=3(d) etc. De reeks die hier uit volgt zal vele bekend voorkomen, het is namelijk de Fibonacci reeks. In dit geval mag een getal alleen nooit boven de 25 uitkomen, dus op een circulaire nummerlijn.

Na 84 stappen zal deze reeks zich herhalen (we komen weer uit bij 0 en 1). Het is logisch dat dit uiteindelijk gebeurd omdat er maar 26² mogelijke paren van 2 getallen zijn, maar het hoeft niet altijd 84 stappen te kosten. Als we als voorbeeld namelijk appel en naald hadden gekozen (a=0, n=13) dan waren we veel sneller klaar geweest: 0+13=13, 13+13=26=0, etc. Hieronder zie je alle periodes (hoe lang het duurt voor we terug zijn bij af) die zich voordoen als we alle beginwaardes proberen. Elke opeenvolging van 2 waardes is hier te vinden:

Lengte Periode
1 0 0 0 …
3 0 13 13 0 13 …
28 0 2 2 4 6 10 16 0 16 16 6 22 2 24 0 24 24 22 20 16 10 0 10 10 20 4 24 2 0
28 0 4 4 8 12 20 6 0 6 6 12 18 4 22 0 22 22 18 14 6 20 0 20 20 14 8 22 4 0
28 0 8 8 16 24 14 12 0 12 12 24 10 8 18 0 18 18 10 2 12 14 0 14 14 2 16 18 8 0
28 2 10 12 22 8 4 12 16 2 18 20 12 6 18 24 16 14 4 18 22 14 10 24 8 6 14 20 8 2
28 2 6 8 14 22 10 6 16 22 12 8 20 2 22 24 20 18 12 4 16 20 10 4 14 18 6 24 4 2
28 2 8 10 18 2 20 22 16 12 2 14 16 4 20 24 18 16 8 24 6 4 10 14 24 12 10 22 6 2
84 0 1 1 2 3 5 8 13 21 8 3 11 14 25 13 12 25 11 10 21 5 0 5 5 10 15 25 14 13 1 14 15 3 18 21 13 8 21 3 24 1 25 0 25 25 24 23 21 18 13 5 18 23 15 12 1 13 14 1 15 16 5 21 0 21 21 16 11 1 12 13 25 12 11 23 8 5 13 18 5 23 2 25 1 0
84 0 3 3 6 9 15 24 13 11 24 9 7 16 23 13 10 23 7 4 11 15 0 15 15 4 19 23 16 13 3 16 19 9 2 11 13 24 11 9 20 3 23 0 23 23 20 17 11 2 13 15 2 17 19 10 3 13 16 3 19 22 15 11 0 11 11 22 7 3 10 13 23 10 7 17 24 15 13 2 15 17 6 23 3 0
84 0 7 7 14 21 9 4 13 17 4 21 25 20 19 13 6 19 25 18 17 9 0 9 9 18 1 19 20 13 7 20 1 21 22 17 13 4 17 21 12 7 19 0 19 19 12 5 17 22 13 9 22 5 1 6 7 13 20 7 1 8 9 17 0 17 17 8 25 7 6 13 19 6 25 5 4 9 13 22 9 5 14 19 7 0
84 1 3 4 7 11 18 3 21 24 19 17 10 1 11 12 23 9 6 15 21 10 5 15 20 9 3 12 15 1 16 17 7 24 5 3 8 11 19 4 23 1 24 25 23 22 19 15 8 23 5 2 7 9 16 25 15 14 3 17 20 11 5 16 21 11 6 17 23 14 11 25 10 9 19 2 21 23 18 15 7 22 3 25 2 1
84 1 4 5 9 14 23 11 8 19 1 20 21 15 10 25 9 8 17 25 16 15 5 20 25 19 18 11 3 14 17 5 22 1 23 24 21 19 14 7 21 2 23 25 22 21 17 12 3 15 18 7 25 6 5 11 16 1 17 18 9 1 10 11 21 6 1 7 8 15 23 12 9 21 4 25 3 2 5 7 12 19 5 24 3 1
84 1 5 6 11 17 2 19 21 14 9 23 6 3 9 12 21 7 2 9 11 20 5 25 4 3 7 10 17 1 18 19 11 4 15 19 8 1 9 10 19 3 22 25 21 20 15 9 24 7 5 12 17 3 20 23 17 14 5 19 24 17 15 6 21 1 22 23 19 16 9 25 8 7 15 22 11 7 18 25 17 16 7 23 4 1

Dit laat direct zien waarom een herhalende reeks vinden zo lastig is. Bijna alle letter opeenvolgingen zitten in periodes van 84 lang, en dat gaat natuurlijk nooit lukken – het duurt te lang voor we weer thuis zijn. Laten we het onzelfs eerst eens toestaan om de letters van het alfabet op een andere volgorde te zetten (of welke waardes we aan welke letters toewijzen, maar net hoe je het wil zien). Kunnen we dan een zichzelf herhalende rij maken?

Allereerst kunnen we gebruik maken van de periode van 1 lang door v=0 te maken in het alfabet, dan zijn we er al met een beetje hulp van een zeker toeristenkantoor: vvv+vvv= vvv vvv vvv vvv…
Die van 3 kan ook prima, laten we v=0 en d=13 maken zodat d+d=v wordt: vvv dvd dvd vvv dvd dvd vvv
Die van 28 wordt al zeer lastig maar het alfabet acdepxriljtonqksgubvmwhyfz past hier en geeft:

tab + kam = fan nar tab haf rag dak lap tab bah dak mat haf gal nar dak kam gal pad mat fan bah gal lap fan rag pad tab kam …..

De a hier met een periode 1 in het midden laten is natuurlijk wel erg handig voor ons, maar niet zo mooi. Het is het leukst als de periode van elke positie (eerste, tweede en derde letter) in ieder geval langer is dan 1. Om zo’n oplossing te realiseren moeten we ook de lengte van het alfabet veranderen, een x of q kunnen we toch wel missen. Hierdoor krijgen we namelijk compleet andere periodes – met een alfabet van 22 tekens hebben we bijvoorbeeld een langste periode van maar 30! De maximale periode van een bepaalde alfabetlengte is altijd degene die begint met 0 1, een normale Fibonacci reeks op een circulaire getallenlijn. De lengtes van deze reeks voor iedere “alfabetgrootte” wordt de Pisano reeks genoemd:

π(n) = 1, 3, 8, 6, 20, 24, 16, 12, 24, 60, 10, 24, 28, 48, 40, 24, 36, 24, 18, 60, 16, 30, 48, 24, 100, 84, 72, 48, 14, 120, 30, 48, 40, 36, 80, 24, 76, 18, 56

Dus kandidaten voor alternative alfabetgroottes zijn π(24) = 24 en π(29) = 14. Een alfabet van 24 letters, met een maximale periode van 24 levert in precies de juiste volgorde een prachtige reeks op:

pmkhfnaqgeruivtbjwdslocx: pek + hok = haf aha eer bij pok bed bal abt oor hip per hor hal aha eek big por bed baf abc ook hip pek hok ….

Het vinden van deze reeks bleek nog een aardige uitdaging, bedenk je maar hoeveel alfabetten er zijn van verschillende lengtes en hoeveel woordcombinaties er te proberen zijn

Betekenis

De ultieme toepassing van dit soort esoterie is natuurlijk het kunnen maken van een gedichtje. Dat wil zeggen dat regel a + regel b = regel c. Met enige betekenis. Dit bleek echter ontzettend lastig. Wat betreft het gewone alfabet heb ik dit al heel snel opgegeven. Het abc heeft simpelweg niet genoeg woordsetjes om iets zinnigs mee te kunnen zeggen.

Het beste alfabet ontdekken, waarmee een gedicht misschien wel kan slagen, is nog een heuze uitdaging. Gelukkig hoeven we niet per se het beste alfabet te vinden, en is ‘heel goed’ misschien goed genoeg. Zo’n alfabet kunnen we vinden met statistische methodes (ook wel genetische algoritmes). Resultaat is het schitterende alfabet ewdbkfnopxvjraizgytulhsqmc. Waar het abc slechts 5649 woordsetjes oplevert die samen weer een woord vormen, zijn dat er voor het ewd maarliefst 70567. Het opent daarmee de deur naar iets betekenisvols.


Pensioenpolitiek:

dekkingsgraden

verstrekkingen? het

regent geleuter.


Consumenten:

we zitten

we zeuren

de kijker

En een poging om een vorm te hebben, nog 2 haikus:


een wintervogel.

timbre gepieker. als

tikken pelmolen.


een algoritme

gereed. zotheid, een

getaltsunami.

Ik daag iedereen uit om meer gedichtjes te vinden, ik zal binnekort een alle software en lijstjes publiceren.

Substitutie encryptie

Nog een vraag voor de ambitieuze lezer, bij het maken van deze post heb ik ook met andere klassieke versleuteltechnieken gespeeld. Specifiek rotatie, ook wel Caesarcijfer.
De opgave is: vind een woord waarbij als je elke letter met n opschuift in het alfabet je weer een woord krijgt. Ik heb er nog geen gevonden van +23 en +24, dus suggesties zijn zeer welkom. Ook betere oplossingen dan die hier onder zou ik leuk vinden


Langste woord wat een woord blijft na het toepassen van de rotatie:

rot 1 aktes bluft
rot 2 maf och
rot 3 orka rund
rot 4 ransaap verweet
rot 5 nova staf
rot 6 fusion layout
rot 7 hitte opaal
rot 8 klad stil
rot 9 breve kanen
rot 10 cuba melk
rot 11 opzit zakte
rot 12 doof paar
rot 13 gevat tring
rot 14 daar roof
rot 15 etat tipi
rot 16 doop teef
rot 17 bunny sleep
rot 18 brits tjalk
rot 19 flap yeti
rot 20 boter vinyl
rot 21 ets zon
rot 22 dik zeg
rot 23 ?
rot 24 ?
rot 25 abbot zaans
Alfabet spiegelen: toffig  gluurt

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s