Handcijfer

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

De handcijfers, ook wel pen-en-papiercodes genoemd, zijn vercijferingsmethodes om met behulp van een geheime sleutelwoord of zin een tekst 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.

Vercijferingsmethodes[bewerken]

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:

  • Substitutie: vervangen van letters door andere letters
  • Transpositie: verwisselen van de positie van letters binnen een tekst
  • Fractionering: breken van letters in verschillende delen waarna deze verplaatst worden

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 Claude Elwood Shannons diffusie. 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 Bifid, Trifid, en ADFGVX. De principes van substitutie, transpositie en fractionering worden in de moderne crypto-algoritmes voor computer nog steeds toegepast.

Sleutelwoorden[bewerken]

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[bewerken]

In de loop der eeuwen zijn vele verschillende methodes ontwikkeld voor de vercijfering van text. Hieronder worden enkele van de bekendste vercijferingsmethodes voorgesteld.

  • De rotatievercijfering van Caesar is een van de oudst bekende cijfers en werd gebruikt voor de communicatie tussen Romeinse veldheren. Deze vercijfering wordt ook wel rotatiecijfer of ROT genoemd.
  • Het substitutiecijfer 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 opgesplitst in twee getallen.
  • Trifid is een drievoudige matrix welke een combinatie van substitutie met fractionering gebruikt. Elke letter wordt opgesplitst in drie getallen.
  • Playfair is een substitutiecijfer waarbij een matrix is gebruikt om bigrammen te vercijferen.
  • ADFGVX combineert fractionering van een Polybiusvierkant, dat een monoalfabetisch substitutie bevat, met een enkelvoudige kolomstranspositie. Het was tijdens de Eerste Wereldoorlog het veldcijfer van het Duitse leger.
  • Dubbele transpositie is een tweevoudige kolomtranspositie. Dit was één 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 gevolgd wordt door een bijkomende dubbele transpositie.

Veiligheid[bewerken]

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.

Zie ook[bewerken]

Externe links[bewerken]