Ondanks het feit dat het cijfer vele malen werd herwerkt, werd het voor het eerst beschreven door Giovan Battista Bellaso in 1553. Vervolgens kreeg hij de naam van de Franse diplomaat Blaise Vigenère. Deze optie is vrij eenvoudig te implementeren en te begrijpen, omdat het de meest toegankelijke cryptanalysemethode is.
Methodebeschrijving
Het Wizhner-cijfer bevat een reeks van verschillende Caesar-cijfers. Deze laatste wordt gekenmerkt door een verschuiving van meerdere lijnen. Voor coderingsdoeleinden kunt u een alfabetische tabel gebruiken die het Vigenère-vierkant wordt genoemd. In professionele kringen wordt het tabula recta genoemd. De Vigenère-tabel bestaat uit meerdere regels van 26 karakters. Elke nieuwe regel verplaatst een bepaald aantal posities. Hierdoor bevat de tabel 26 verschillende Caesar-lettertypen. Elke coderingsfase omvat het gebruik van een ander alfabet, dat wordt geselecteerd op basis van het karakter van het trefwoord.
Laten we, om de essentie van deze methode beter te begrijpen, eens kijken naar tekstversleuteling met het woord ATTACKATDAWN als voorbeeld. De persoon die de tekst verzendt, schrijft het trefwoord "LEMON" op totdat het overeenkomt met de lengte van de verzonden tekst. Het zoekwoord ziet er als volgt uit:CITROENCITROEN. Het eerste teken van de gegeven tekst - A - is versleuteld met de reeks L, het eerste teken van de sleutel. Dit teken bevindt zich op het snijpunt van rij L en kolom A. Voor het volgende teken van de gegeven tekst wordt het tweede sleutelteken gebruikt. Daarom ziet het tweede teken van de gecodeerde tekst eruit als X. Het is het resultaat van de kruising van rij E en kolom T. Andere delen van de gegeven tekst worden op een vergelijkbare manier gecodeerd. Het resultaat is het woord LXFOPVEFRNHR.
Decoderingsproces
Het woord wordt ontcijferd met behulp van de Vigenère-tabel. U moet de tekenreeks vinden die overeenkomt met het eerste teken van het trefwoord. De string zal het eerste karakter van de cijfertekst bevatten.
De kolom die dit teken bevat, komt overeen met het eerste teken van de brontekst. Volgende waarden worden op dezelfde manier gedecodeerd.
Belangrijke tips
Als u cijfertekst opgeeft, moet u een trefwoord opgeven. Het is nodig om de code ook te decoderen met het Russische Vigenère-cijfer. Om er zeker van te zijn dat de codering correct is, is het beter om de tekst dubbel te controleren. Als de tekst niet correct is gecodeerd, kan deze niet correct worden gedecodeerd.
Bij gebruik van het Vigenère-vierkant met spaties en interpunctie, wordt het decoderingsproces veel gecompliceerder. Het is belangrijk om te weten dat frequente herhaling van het codewoord het ontcijferen van de tekst zal vergemakkelijken. Daarom moet de code-informatie:lang zijn.
Waarschuwing voor de methode
Het Vigenère-cijfer is, net als vele andere, niet veilig omdat het gemakkelijk te kraken is. Als het nodig is om geheime informatie over te dragen, hoeft u deze methode niet te gebruiken. Voor dergelijke doeleinden zijn andere methoden ontwikkeld. Het Vigenère-cijfer is een van de oudste en meest populaire versleutelingsmethoden.
De sleutel is een speciale zin. Het wordt meerdere keren herhaald en wordt over de versleutelde tekst geschreven. Als gevolg hiervan wordt elke letter van het verzonden bericht verschoven ten opzichte van de opgegeven tekst met een bepaald nummer, dat wordt gespecificeerd door de letter van de wachtwoordzin. Gedurende verschillende eeuwen heeft deze methode consequent de positie van de meest betrouwbare versleutelingsmethode ingenomen. In de 19e eeuw werden de eerste pogingen om het Vigenère-cijfer te breken opgemerkt, die waren gebaseerd op het bepalen van de lengte van de sleutelzin. Als de lengte bekend is, kan de tekst worden verdeeld in bepaalde fragmenten, die worden gecodeerd door dezelfde shift.
Extra decoderingsmethoden
Je kunt het originele bericht openen met behulp van de frequentieanalysemethode als de gegeven tekst lang genoeg is. Het oplossen van het cijfer komt grotendeels neer op het vinden van de lengte van de sleutelzin. Er zijn twee hoofdmethoden waarmee u de lengte van de sleutelzin kunt bepalen. De eerste methode voor het decoderen van het Vigenère-cijfer is ontwikkeld door Friedrich Kassitzky. Deze methode is gebaseerd op het zoeken naar bigrams. De essentie ervan ligt in het feit dat als hetzelfde digram wordt herhaald in het gecodeerde bericht op een afstand die een veelvoud is van de lengte van de sleutelzin, dan is er een grote kans dat het op dezelfde posities in de cijfertekst zal voorkomen. Als je een bepaalde afstand vindt, de delers ervan krijgt, kun je een reeks bepaalde getallen krijgen. Ze zullen de lengte van de sleutelzin zijn. Deze methode vereist echter wat geluk. In een grote gecodeerde tekst kun je willekeurige bigrams vinden, wat het decoderingsproces aanzienlijk zal bemoeilijken.
De tweede methode om de tekst te ontcijferen werd voorgesteld door Friedman. De essentie ervan ligt in de cyclische verschuiving van het gecodeerde bericht. De resulterende tekst wordt onder de oorspronkelijke cijfertekst geschreven en het aantal overeenkomende letters in de onderste en bovenste regel wordt geteld. Met de resulterende getallen kunt u de zogenaamde matchindex berekenen. Het wordt bepaald door de verhouding van overeenkomsten tot de totale lengte van het bericht. De toevalsindex voor Russische teksten is ongeveer 6%. Voor willekeurige teksten is deze index echter ongeveer 3 of 1/32. De methode van Friedman is hierop gebaseerd. De gecodeerde tekst wordt geschreven met een verschuiving van 1, 2, 3, enz. posities. Vervolgens moet u voor elke dienst de index van overeenkomsten berekenen. Het is dus noodzakelijk om een cyclische verschuiving van het gehele bericht uit te voeren. Wanneer de index met een bepaald aantal tekens wordt verschoven, kan de lengte ervan dramatisch toenemen. Dit suggereert dat de lengte van het trefwoord gelijk kan zijn aan een bepaald getal. Als zich een situatie voordoet waarin alle tekens naar dezelfde positie worden verschoven, heeft de overeenkomstindex dezelfde waarde als het origineeltekst. Als er een index wordt berekend voor een Vigenère-cijfer, vindt er sowieso een vergelijking plaats van feitelijk willekeurige tekst.
Voer frequentieanalyse uit
Als het resultaat van het decoderingsproces positief is, kunt u tekst in kolommen invoeren. De kolommen worden gevormd op basis van de brontekst. Kassitzky vond de meest geavanceerde vorm van tekst uit. De middelen van deze methode kunnen echter niet worden toegepast als het rooster afwijkt van de standaardvolgorde van letters in het alfabet. Daarom kunt u met deze methode alleen in speciale gevallen de lengte van sleutels achterhalen.