Transpositiecijfer
Het transpositiecijfer is een van de klassieke handcijfers, een versleutelingsmethode die in de cryptografie wordt toegepast. Bij transpositie worden letters of tekens van plaats verwisseld met andere letters of tekens.
Men gebruikt in de klassieke cryptografie vooral de techniek van kolomtranspositie. Enkele voorbeelden van kolomtranspositie zijn het transpositiecijfer en de dubbele transpositie. Ook bij de moderne cryptografische algoritmes voor computergebruik kent men transpositie. Daar worden dan binaire gegevens van plaats verwisseld.
Meestal wordt transpositie gebruikt in combinatie met fractionering en substitutieversleuteling. Vooral de combinatie met fractionering is zeer effectief. Een voorbeeld van zo'n combinatie is het ADFGX-cijfer.
Er zijn vele verschillende methodes om de transpositietabel met de klare tekst te vullen.
We beschrijven eerst de gewone kolomtranspositie om vervolgens twee voorbeelden te geven van onderbroken transpositie. Deze methode is beter bestand tegen verwisselen van de letters dan gewone kolomtranspositie vanwege zijn grillige plaatsing van de klare tekst. Bovendien zijn er vele variaties van invullen mogelijk, volgens een vooraf bepaald patroon, met open gedeeltes, rijen of diagonalen die éérst worden ingevuld enzovoort.
Kolomtranspositie
bewerkenIn ons voorbeeld is het sleutelwoord LEONARDO. De letters van dit woord worden volgens alfabet genummerd, van links naar rechts. Onder dit woord schrijven we de klare tekst van links naar rechts en boven naar onder.
De klare tekst is DIT DRINGENDE BERICHT IS ZEER GEHEIM.
L E O N A R D O 4 3 6 5 1 8 2 7 --------------- D I T D R I N G E N D E B E R I C H T I S Z E E R G E H E I M
Vervolgens lezen we de tekst af per kolom, beginnende met het kleinste nummer. Kolom 1 is dus RBSE, kolom 2 is NREM. We verdelen de gevonden tekst in groepen.
Cijfertekst: RBSE NREM INHG DECR DEIH TDTE GIE IEZI
Om de cijfertekst te ontcijferen moeten we eerst een tabel maken met het sleutelwoord en het juiste aantal kolommen. Uit het aantal letters in de cijfertekst kunnen we dan het aantal lange en korte kolommen afleiden. We vullen de tabel met de cijfertekst, kolom per kolom, in volgorde van het sleutelwoord. Dan lezen we de tekst af van links naar rechts en boven naar onder.
Onderbroken kolomtranspositie
bewerkenBij onderbroken kolomtranspositie wordt de tekst op onregelmatige wijze in de tabel gezet. Er zijn vele manieren waarop we de tekst kunnen invullen.
We gebruiken weer het sleutelwoord LEONARDO. Onder het sleutelwoord schrijven we de klare tekst van links naar rechts en boven naar onder, maar worden de rijen slechts gedeeltelijk opgevuld. Voor de eerste rij wordt deze ingevuld tot en met de kolom waar de eerste letter staat. In ons voorbeeld is dit de letter A. De tweede rij wordt ingevuld tot en met de tweede letter, zijnde D. Zo vult men rij na rij verder in. Indien er vele rijen nodig zijn begint men na de laatste rij opnieuw met een rij met de lengte van de eerste letter.
L E O N A R D O 4 3 6 5 1 8 2 7 --------------- D I T D R I N G E N D E B E R I C H T I S Z E E R G E H E I M
Vervolgens lezen we de tekst af per kolom, beginnende met het kleinste nummer. Kolom 1 is dus RNE, kolom 2 is EE en kolom 3 is INECSE.
Cijfertekst: RNEEE INECS EDIBR IIEMD ETGTG HZRID H
Om de cijfertekst te ontcijferen moeten we eerst een tabel maken met het sleutelwoord en de lengte van elke rij bepalen aan de hand van de nummering van de kolommen. Uit het aantal letters in de cijfertekst kunnen we dan afleiden tot hoe ver naar beneden de kolommen moeten worden ingevuld. Vervolgens vullen we de tabel met de cijfertekst, kolom per kolom, in volgorde van het sleutelwoord. Ten slotte lezen we de tekst af van links naar rechts en boven naar onder.
In het tweede voorbeeld van onderbroken kolom transpositie maken we een tabel waarin de tekst past. In ons voorbeeld is de tekst 31 letters lang en gebruiken we een tabel van 8 x 4, met dus een letter over. We passen voor de grootte van de rij hetzelfde principe toe als in het vorige voorbeeld. We beginnen de tekst in te vullen van links naar rechts en van boven naar onder en als het linkerveld is ingevuld gaan we in het rechterveld met invullen verder.
L E O N A R D O 4 3 6 5 1 8 2 7 --------------- D I T D R I C H I N G E N D E T B E I S Z E E R R G E H E I M
Vervolgens lezen we de tekst per kolom af, beginnende met het kleinste nummer. Kolom 1 is dus RNZE, kolom 2 is CEEM.
Cijfertekst: RNZEC EEMIN EGDIB RDESH TGIEH TRIDE I
Om de cijfertekst te ontcijferen moeten we ook hier de tabel opnieuw reconstrueren en de indeling bepalen alvorens de tekst in te vullen.
De drie voorbeelden van transpositie geven op deze korte tekst drie totaal verschillende resultaten. Combinatie van verschillende transposities behoren tot de sterkste klassieke vercijferingen. Enkele voorbeelden zijn dubbele transpositie, SECOM[1] en het VIC-cijfer.[2]