CODEERMACHINES EN CRYPTOGRAFIE
Straddling Checkerboards
Home One-time pad


Deze pagina bevat verschillende voorbeelden van straddling checkerboards die gebruikt worden om tekst te coderen in cijfers. Deze codering is geen encryptie en biedt absoluut geen cryptografische veiligheid! De codering is enkel een voorbereiding van de klare tekst ten behoeve van het eigenlijke encryptie-proces. Daarom noemen we het resultaat van de codering de plaincode (klare code), om duidelijk te maken dat het bericht nog steeds leesbare is.

Checkerboards zijn makkelijk aan te passen of te ontwerpen vanaf nul. Dit kan gaan van simpele tekstcodering tot het gebruik van speciale karakters, woorden of codes voor specifieke toepassingen. De hieronder getoonde checkerboards tonen de basiseigenschappen en mogelijkheden van tekst-naar-cijfer codering. Alles is mogelijk, zolang verzender en ontvanger een gemeenschappelijk systeem gebruiken.

Bij een straddling checkerboard worden de meest gebruikte letters omgezet in n-cijfer combinaties. Alle andere letters of tekens worden omgezet naar twee-cijfer combinaties. Dit beperkt de grootte van het bericht aanzienlijk (een 1.5 cijfer/letter ratio tegenover 2.0 voor twee-cijferige systemen). Bij het decoderen kunnen we de n-cijfer en twee-cijfer combinaties gemakkelijk onderscheiden. Als het volgende cijfer bij een letter in de bovenste rij hoort, dan is het een n-cijfer combinatie die je direct in een letter kan decoderen. Indien het cijfer bij een lege cel hoort dan gaat het om een twee-cijfer combinatie en moet je het eerstvolgende cijfer eraan toevoegen alvorens de cijfercombinatie in een letter te decoderen.

Deze manier van coderen is efficienter dan vast twee-cijfer codering en beperkt de lengte van het bericht. Een checkerboard breekt de karakters ook in afzonderlijke stukken. Dit wordt fractioneren genoemd. Bovendien is de fractionering onregelmatig (soms n-cijfer en some tweecijfer combinaties). Wanneer een checkerboard codering gevolgd word door een encryptie-algoritme dat de plaincode cijfers transpositioneert zal de onregelmatige fractionering de karakters op een onregelmatige manier uiteen trekken en daardoor een veel complexere encryptie geven. Dikwijls gebruiken zulke encryptiemethodes ook checkerboards waarvan de volgorde van de cijfers dooreengehaald werd, dit om de veiligheid van de encryptie nog te verhogen.

De fractionerende eigenschappen van het checkerboard en het dooreenhalen van de cijfers zijn echter irrelevant wanneer men one-time pad vercijfering gebruikt, aangezien dit type van vercijfering sowieso onbreekbaar is. Enkel de efficientie en economische omzetting zijn hierbij van belang. Op mijn one-time pad pagina vind u meer informatie over dit type van vercijfering.

Een eenvoudig AT ONE SIR checkerboard, gemakkelijk te onhouden en op te schrijven.

Laat ons een kort voorbeeld geven van hoe het straddling checkerboard werkt door de tekst "CONTACT JOHN AT 1830H" te coderen. De letters van de bovenste rij worden gecodeerd in het cijfer dat erboven staat. Voor de andere letters nemen we het cijfer van de rij en vervolgens het cijfer van de kolom. Eens de tekst gecodeerd naar cijfers kunnen we het bericht met eender welk encryptie-algoritme vercijferen.


 Plaintekt :  C  O  N  T  A  C  T   J  O  H  N    A  T  [fig]  1   8   3   0  [ltr] H   
 Plaincode :  21 3  4  1  0  21 1   26 3  25 4    0  1   68   111 888 333 000  68   25

 In groepen:  21341 02112 63254 01681 11888 33300 06825


Hoewel het bovenstaande checkerboard eenvoudig op te maken en te gebruiken is, is er een formaat dat praktischer en sneller is bij complexere checkerboards met een groter aantal cellen:

De tabel spreekt voor zichzelf . "L/F" 68 dient voor het omschakelen tussen letters en cijfers, waarbij men elk cijfer drie keer schrijft om fouten te vermijden. De tekst A54H word dus gecodeerd in "0 68 555 444 68 25". De cel "/" (69) dient voor scheiding van woorden en/of zinnen. De volgorde van de letters en de lege cellen in de bovenste rij kan gewijzigd worden naar believen. Enkele andere anagrammen voor de letters bovenste letters zijn "A-NOTE-SIR", "NATO-RISE-", "RAT-NOISE-", of "NO-TEA-SIR". Natuurlijk kunnen die letters vervangen worden door de meest frequente letters van gelijk welke andere taal. In dat geval worden de tweede en derde rij aangevuld met andere overblijvende letters.

De volgende standaard tabel is geoptimaliseerd voor Engels. Bij bevat verschillende leestekens en de spatie "SPC" (90). "FIG" (90) heeft hier dezelfde funtie als "F/L" in de vorige tabel. De "REQ" (98) cel is een afkorting van REQUEST zoals in "request help" of "request supplies". Deze tabel bevat ook een "CODE" (0) cel. Deze "CODE" prefix wordt gebruikt in combinatie met een bijkomend codeboek. Zo'n codeboek bevat allerlei verschillende woorden, uitdrukkingen en standaard zinnen, elk voorzien van een drie-cijferige of vier-cijferige code, naargelang het gebruikte codeboek. Indien "245" bijvoorbeeld staat voor de tekst "vraag om meer informatie" dan coderen we dit in "0245". Gerbuik steeds de "CODE" prefix (in deze tabel 0) net vr de eigenlijke code. Wanneer de ontvanger als volgende cijfer 0 tegenkomt dan weet hij dat de volgende drie cijfers met een codeboek omgezet moeten worden in tekst. Het gebruik van een codeboek is optioneel maar kan de lengte van het bericht aanzienlijk verkorten..

De bovenste rij met meest frequente engelse letters in onderstaand checkerboard kan onthouden worden met de woorden ON A TIE. We kunnen deze tabel optimaliseren voor het Frans door het woord SAINTE in alfabetische volgorde te zetten.. Voor Duits is dat ANREIS en voor Spaans SENORA. Natuurlijk moeten we bij gebruik van andere letters in de bovenste rij de tweede en derde rij op ander wijze aanvullen.

De volgende tabel, tevens geoptimaliseerd voor engels, bevat de meest gebruikte bigrammen voor engels. Dit verminderd wederom het aantal cijfers, nodig voor sommmige woorden.

De CT37 omzettingstabel is een uitgebreide versie van de checkerboard en bevat bijkomende karakters. De tabel is makkelijk te onthouden. De 7 meest gebruikte letter (in de Engelse taal) "ESTONIA" staan in de bovenste rij. De volgende twee rijen bevatten de overige letters, aangevuld met de "FIG" veld. De vierde rij bevat "SPACE" en "CODE" met daartussen de leestekens (minder belangrijk om te onthouden).

De CT-37-words tabel gebruikt een mix van letters, woorden en codes. CODE 6 is een verkortte prefix voor codes van vaste lengte. De veelgebruikte woorden "acknowledge", "request", "message", "rendez-vous punt", "grid" (coordinaten), "send" en "supply" worden omgezet in een kleine twee-cijfer code. Het weglaten van n bijkomende letter of CODE in de bovenste rij maakt een bijkomende volledige rij beschikbaar van 10 woorden, uitdrukkingen of korte zinnen (CODE kan eventueel in de nieuwe rij komen). Deze methode kan de lengte van een bericht aanzienlijk verkorten.

In de CT-46 tabel hebben we vier volle rijen aangezien we vier lege vakken hebben in de bovenste rij. Deze tabel is niet zo moeilijk te onthouden. De eerste rij bevat de zes meest voorkomende letters AEINOR, genummerd van 1 tot 7. Elke nieuwe rij start met de overblijvende cijfers 7, 8, 9 en 0. De tweede en derde rij bevatten de overgebleven letters van het alfabet. De vierde rij bevat links SPC en rechts CODE met daartussen de leestekens (minder belangrijk om te onthouden) De vijfde rij bevat de getallen, voorafgegaan door een 0.

De CT-55 tabel heeft een nog meer uitgebreide set van karakters. In deze tabel wordt L/F 89 gebruikt voor omschakeling tussen letters (geel) en tekens (groen). Dit maakt het mogelijk om meerdere tekens dezelfde conversiewaarde toe te kennen. De rode velden kunnen zowel in letter als teken mode gebruikt worden. Zo dient men in een tekst niet om te schakelen voor bvb een spatie of punt. Nummers worden omgezet in hun dubbele code om vergissingen uit te sluiten. Een voorbeeld: F-16B wordt omgezet in 73 89 84 11 66 89 70. CODE is ook hier de prefix voor vier-cijferige codes en RPT wordt gebruikt om een belangrijk stuk tekst te herhalen. Deze conversietabel heeft de 7 meeste frequente letters (geoptimaliseerd voor engels) en is geschikt voor tekst met veel getallen en tekens.

Er zijn natuurlijk veel ander manieren om karakters om te zetting in getallen. De methode zelf dient niet veilig te zijn omdat de one-time pad encryptie voor de veiligheid zorgt. Elke methode is goed, zolang zij maar praktisch is, de cijfertekst niet te lang maakt en niet gevoelig is voor fouten.

Bijkomende informatie


Copyright 2004 - 2016 Dirk Rijmenants

Home One-time pad