Handcijfer

In de cryptografie zijn handcijfers, ook pen-en-papiercodes genoemd, encryptiemethodes om met behulp van een geheim sleutelwoord of -zin een tekst met de hand om te zetten in een onleesbare code. De tekst kan enkel (eenvoudig) ontcijferd worden door de persoon die dezelfde methode gebruikt en in het bezit is van dezelfde geheime sleutel. Er zijn verscheidene technieken ontwikkeld, waarvan enkele zeer betrouwbaar bleken.

Hoewel de ontwikkeling van cryptografische machines en computers veel van het handwerk overbodig maakte, bleef er altijd een rol weggelegd voor de handcijfers. Veldcijfers - zo noemen militairen de handcijfers - zoals de dubbele transpositie werden nog zeer veel gebruikt tijdens de Tweede Wereldoorlog. Het grote voordeel van veldcijfers is de eenvoudige toepassing zonder speciale toestellen. Daarom blijven deze veldcijfers tot op vandaag nog steeds een interessant alternatief om een boodschap op eenvoudige wijze toch veilig over te brengen. In dit artikel worden de bekendste klassieke handcijfers beschreven.

Cijfers

Een methode van vercijfering noemen we een cijfer. De leesbare tekst noemen we klare tekst en de vercijferde of gecodeerde tekst noemen we de cijfertekst. De cijfertekst wordt meestal ingedeeld in groepen van vijf letters. Er zijn drie grote indelingen in de techniek van het vercijferen:

Vooral de combinatie van transpositie en fractionering blijkt zeer effectief. Hierdoor worden de verschillende delen van één letter verspreid over de hele tekst, waardoor de vercijfering voldoet aan de diffusie, die door Claude Shannon is geïntroduceerd. Het ideale cijfer is dus een combinatie van de drie vercijferingsprincipes. Dit principe is bovendien eenvoudig in gebruik. Enkele voorbeelden die transpositie en fractionering combineren zijn het Bifid, Trifid, en ADFGX-cijfer. De principes van substitutie, transpositie en fractionering worden in de moderne crypto-algoritmes voor computers nog steeds toegepast.

Sleutelwoorden

Een vereiste voor een goed cijfer is dat het eenvoudig is in gebruik. Daarom gebruikt men veelal sleutelwoorden om een substitutie-alfabet of een matrix te vullen. Doorgaans noteert men het sleutelwoord, of de zin, schrapt de letters die er dubbel in voorkomen, en vult achter dit sleutelwoord de resterende letters van het alfabet aan. Hoe langer het sleutelwoord of de zin, des te minder men alfabetisch dient aan te vullen.

Sleutelwoord : SLEUTELWOORD
Cijferalfabet: SLEUTWORDABCFGHIJKMNPQVXYZ

Voor een matrix kan men vele verschillende manieren van vullen gebruiken die zender en ontvanger overeen kunnen komen. In de voorbeelden hieronder zien we in de eerste matrix het sleutelwoord van links naar rechts en boven naar onder. De tweede matrix is spiraalgewijs tegen de klok in van buiten naar binnen gevuld. De derde matrix is van boven naar onder en van rechts naar links. De vierde matrix is van linksboven zigzaggend naar rechtsonder. Vele andere combinaties, richtingen en figuren zijn mogelijk. Hieraan is te zien dat men van één sleutelwoord veel totaal verschillende matrices kan maken.

S  L  E  U  T     S  IJ  H  G  F     Q  IJ  B  W  S     S  L  E  U  T
W  O  R  D  A     L  K  Y  X  C     V  K  C  O  L     A  D  R  O  W
B  C  F  G  H     E  M  Z  V  B     X  M  F  R  E     B  C  F  G  H
IJ  K  M  N  P     U  N  P  Q  A     Y  N  G  D  U     P  N  M  K  IJ
Q  V  X  Y  Z     T  W  O  R  D     Z  P  H  A  T     Q  V  X  Y  Z

De klassieke handcijfers

Er zijn in de loop der eeuwen zijn veel verschillende methodes ontwikkeld om tekst te coderen. Hieronder worden enkele van de bekendste vercijferingsmethodes voorgesteld.

  • Het Caesarcijfer is een van de oudst bekende cijfers en werd door Romeinse veldheren gebruikt. Deze vercijfering wordt ook wel rotatiecijfer of ROT genoemd.
  • De substitutieversleuteling is een monoalfabetische substitutie. Hierbij wordt elke letter vervangen door een andere letter.
  • Vigenère is een polyalfabetische substitutie, het vervangen van letters aan de hand van verschillende alfabetische reeksen in een tabel, het Vigenère-tableau.
  • Autoclave is een verbetering van het Vigenèrecijfer. Hierbij vercijfert men, mits een kleine verschuiving door een sleutelwoord, de klare tekst met zichzelf.
  • Homofone substitutie gebruikt een evenredige verdeling van letters naar getallen om bestand te zijn tegen letterfrequentie-analyse.
  • Bifid is een matrix die een combinatie van substitutie met fractionering gebruikt. Elke letter wordt in twee getallen opgesplitst.
  • Trifid is een drievoudige matrix welke een combinatie van substitutie met fractionering gebruikt. Elke letter wordt in drie getallen opgesplitst.
  • Playfair is een substitutiecijfer waarbij een matrix is gebruikt om bigrammen te vercijferen.
  • ADFGX combineert fractionering van een Polybiusvierkant, dat een monoalfabetisch substitutie bevat, met een enkelvoudige kolomstranspositie. Het Duitse leger gebruikte het tijdens de Eerste Wereldoorlog, maar in iets uitgebreide vorm. Het werd het ADFGVX-cijfer.
  • Dubbele-transpositie is een tweevoudige kolomtranspositie. Dit was een van de veiligste handcijfers, gebruikt tijdens de Tweede Wereldoorlog.
  • Straddling-checkerboard of spreidend dambord is een fractionerend monoalfabetisch substitutiecijfer. Het is een matrixcijfer dat meestal wordt gevolgd door een bijkomende dubbele transpositie.

Veiligheid

Alle hierboven beschreven handcijfers werden vroeg of laat met succes gebroken door cryptoanalyse. Sommige van de veldcijfers zijn desondanks nuttig indien de tijd, nodig voor cryptoanalyse, zo lang is dat de verkregen informatie achterhaald en nutteloos blijkt. De sterkste veldcijfers, beschreven in dit artikel, zijn dubbele transpositie en ADFGVX. In de Verenigde Staten is de informatie over cryptoanalyse van de dubbele transpositie geheim gebleven tot enkele jaren geleden.

Succesvolle cryptoanalyse is enkel mogelijk indien genoeg cijfermateriaal ter beschikking is dat met dezelfde sleutel werd vercijferd. Over het algemeen geldt dat grotere sleutelwoorden een betere veiligheid geven en hoe minder tekst vercijferd is, des te moeilijker de cijfertekst te kraken is. Letterfrequentie-analyse is bijvoorbeeld onbetrouwbaar als er slechts één zin werd gecodeerd, of er verhoudingsgewijs veel zeldzame letters in de tekst zitten. Zo is het eenvoudige Vigenère onbreekbaar indien één korte zin met een lang sleutelwoord vercijferd werd, maar is het breken van het veel veiliger dubbel transpositiecijfer minder moeilijk indien er genoeg cijfertekst voorhanden is.

Indien het wenselijk is de sterkte van een bestaand cijfer te verhogen, kan men het combineren met andere cijfers. Bijvoorbeeld kan men bij trifid na omzetting in een getallenreeks, deze eerst bewerken met een dubbele transpositie vóór de gefractioneerde letters terug worden samengevoegd. Door een enkele kolomstranspositie te gebruiken vóór vercijfering met Playfair trekt men de veelgebruikte digrammen in de klare tekst uit elkaar.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.