Cifrul ADFGVX
În criptografie, cifrul ADFGVX a fost o cifrare de câmp folosit de armata germană pe frontul de vest în timpul primului război mondial . ADFGVX a fost de fapt o extensie a unui cifru anterior numit ADFGX .
Inventat de locotenentul [1] Fritz Nebel (1891–1977) [2] și introdus în martie 1918, cifrul a fost un cifru de transpunere fracționant , care a combinat un pătrat Polybius modificat cu o singură transpunere de coloană.
Cifrarea este numită după cele șase litere posibile folosite în cifru: A
, D
, F
, G
, V
și X
Literele au fost alese în mod deliberat, deoarece sunt foarte diferite unele de altele în codul Morse . Acest lucru a redus posibilitatea erorii operatorului.
Nebel a proiectat cifrul pentru a oferi armatei în mișcare o criptare care era mai convenabilă decât codurile de tranșee, dar care era încă sigură. De fapt, germanii credeau că cifrul ADFGVX este de nespart. [3]
Operațiune
Pentru mesajul sub formă de text, „Attack at once”, un alfabet secret este completat pentru prima dată într-un pătrat 5 × 5 Polybius :
A | D | F | G | X | |
---|---|---|---|---|---|
A | b | t | A | l | p |
D | d | h | o | z | k |
F | q | f | v | s | n |
G | g | i / j | c | u | x |
X | m | r | e | w | y |
i
și j
au fost combinate pentru ca alfabetul să se încadreze într-o grilă 5 × 5.
Prin utilizarea pătratului, mesajul este convertit în formă fracționată:
În continuare, mesajul fracționat este supus unei transpuneri columnare . Mesajul este scris pe rânduri sub o cheie de transpunere (aici "CARGO"):
CARGO _________ AFADA DAFGF DXAFA DDFFX GFXF
În continuare, literele sunt sortate alfabetic în cheia de transpunere (schimbând CARGO în ACGOR) prin rearanjarea coloanelor de sub litere împreună cu literele în sine:
ACGOR _________ FADAA ADGFF XDFAA DDFXF FGFX
Apoi, este citit în coloane, în ordine de cuvinte cheie, ceea ce dă textul cifrat :
FAXDF ADDDG DGFFF AFAX AFAFX
În practică, tastele de transpunere aveau o lungime de aproximativ două duzini de caractere. Mesajele lungi trimise în cifrul ADFGX au fost împărțite în seturi de mesaje de lungimi diferite și neregulate pentru a-l face invulnerabil la anagramări multiple. [3] Atât tastele de transpunere, cât și tastele de fracționare au fost schimbate zilnic.
ADFGVX
În iunie 1918, o cifră suplimentară, V
, a fost adăugată cifrului. Aceasta a extins grila la 6 × 6, permițând utilizarea a 36 de caractere. Aceasta a permis alfabetul complet (în loc să combinați I
și J
) și cifrele de la 0
la 9
. Acest lucru a avut ca efect scurtarea considerabilă a mesajelor care conțin numeroase numere.
Criptarea se bazează pe cele 6 litere ADFGVX. În exemplul următor, alfabetul este codat cu codul olandez „nachtbommenwerper”. Rezultă alfabetul: NACHTBOMEWRPDFGIJKLQSUVXYZ. Aceasta creează tabelul de mai jos cu literele ADFGVX ca titluri de coloane și identificatori de rânduri:
A | D | F | G | V | X | |
---|---|---|---|---|---|---|
A | N | A | 1 | C | 3 | H |
D | 8 | T | B | 2 | O | M |
F | E | 5 | W | R | P | D |
G | 4 | F | 6 | G | 7 | I |
V | 9 | J | 0 | K | L | Q |
X | S | U | V | X | Y | Z |
Textul „atac la 1200 dimineața” se traduce prin:
A | T | T | A | C | K | A | T | 1 | 2 | 0 | 0 | A | M |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AD | DD | DD | AD | AG | VG | AD | DD | AF | DG | VF | VF | AD | DX |
Apoi, este creată o nouă tabelă cu o cheie ca titlu. Să folosim „PRIVACY” ca cheie. De obicei se foloseau taste mult mai lungi sau chiar expresii.
P | R | I | V | A | C | Y |
---|---|---|---|---|---|---|
A | D | D | D | D | D | A |
D | A | G | V | G | A | D |
D | D | A | F | D | G | V |
F | V | F | A | D | D | X |
Coloanele sunt sortate alfabetic, pe baza cuvântului cheie, iar tabelul se modifică în acesta:
A | C | I | P | R | V | Y |
---|---|---|---|---|---|---|
D | D | D | A | D | D | A |
G | A | G | D | A | V | D |
D | G | A | D | D | F | V |
D | D | F | F | V | A | X |
Apoi, adăugarea coloanelor una cu cealaltă rezultă acest text cifrat: </br> DGDD DAGD DGAF ADDF DADV DVFA ADVX
Cu ajutorul cuvântului cheie, coloanele pot fi reconstruite și plasate în ordinea corectă. Când utilizați tabelul original care conține alfabetul secret, textul poate fi descifrat.
Criptanaliza
ADFGVX a fost criptanalizat de locotenentul armatei franceze Georges Painvin, iar cifrul a fost spart la începutul lui iunie 1918. [4] Lucrarea a fost excepțional de dificilă prin standardele criptografiei clasice, iar Painvin s-a îmbolnăvit fizic în timpul acesteia. Metoda sa de soluție s-a bazat pe găsirea de mesaje cu început stereotipic, pe care să le fracționeze și apoi să formeze modele similare în pozițiile din cifru care corespundeau titlurilor de coloane din tabelul de transpunere. (O analiză statistică considerabilă a fost necesară după ce acest pas a fost realizat, toate făcute manual). ) A fost astfel eficient doar în perioadele cu trafic foarte mare, dar și atunci când au fost trimise cele mai importante mesaje.
Cu toate acestea, acesta nu a fost singurul truc pe care Painvin l-a folosit pentru a sparge criptarea ADFGX. [3] De asemenea, el a folosit secțiuni repetate din cifru pentru a obține informații despre lungimea probabilă a cheii care a fost folosită. În cazul în care cheia avea un număr egal de litere în lungime, el știa, prin modul în care mesajul a fost încifrat, că fiecare coloană consta în totalitate din coordonate de litere luate din partea de sus a p[tratului Polybius sau din stânga pătratului, nu dintr-un amestec ale celor două. De asemenea, după substituție, dar înainte de transpunere, coloanele ar fi constituite alternativ în totalitate din litere „de sus” și „lateral”. Una dintre caracteristicile analizei frecvenței literelor este că, în timp ce distribuțiile literelor individuale pot varia foarte mult de la normă, legea mediilor prevede că grupurile de litere variază mai puțin. Cu cifrul ADFGX, fiecare literă „laterală” sau „de sus” este asociată cu cinci litere în text. În exemplul de mai sus, litera „D” „D” este asociată cu literele „Dhozk”, iar litera „D” de sus este asociată cu literele „thfjr”. Deoarece cele două grupuri de cinci litere au distribuții de frecvențe cumulate diferite, o analiză a frecvenței literei „D” în coloane constând din litere „laterale” are un rezultat distinct diferit de cele ale literei „D” în coloane constând în litere de „sus”. Acest truc i-a permis lui Painvin să ghicească care coloane constau din litere „laterale” și care coloane constau din literele „de sus”. El a putut apoi să le împerecheze și să efectueze o analiză de frecvență pe perechi pentru a vedea dacă împerecherea era doar zgomot sau corespunde literelor din text. Odată ce a avut împerecherea potrivită, el a putut apoi să folosească analiza frecvenței pentru a descoperi literele cu litere complete. Rezultatul a fost încă transpus, dar pentru a descărca o simplă transpunere a fost tot ceea ce a avut de făcut. După ce a determinat schema de transpunere pentru un mesaj, el va putea apoi să spargă orice alt mesaj care a fost criptat cu aceeași cheie de transpunere.
Painvin a spart cifrul ADFGX în aprilie 1918, la câteva săptămâni după ce germanii au lansat ofensiva de primăvară . Ca rezultat direct, armata franceză a descoperit unde intenționează să atace Erich Ludendorff . Francezii și-au concentrat forțele în acel punct, despre care se pretinde că a oprit ofensiva de primăvară.
Cu toate acestea, afirmația potrivit căreia Painvin a spart cifrul ADFGX a oprind ofensiva de primăvară germană din 1918,a fost făcută frecvent în timp , este contestată de unii. În recenzia sa din 2002 despre cartea lui Sophie de Lastours pe această temă, La France gagne la guerre des codes secrets 1914-1918, în Journal of Intelligence History, ( Journal of Intelligence History : volumul 2, Numărul 2, Iarna 2002) Hilmar- Detlef Brückner a declarat:
Din păcate, Sophie de Lastours subscrie la părerea tradițională franceză că rezolvarea unei telegrame ADFGVX germană de Painvin la începutul lunii iunie 1918 a fost decisivă pentru victoria Aliaților în primul război mondial, deoarece a dat avertizare în timp util despre o viitoare ofensivă germană însemnată pentru a ajunge la Paris și a provoca o înfrângere critică Aliaților. Cu toate acestea, se știe de mulți ani, că atacul german Gneisenau din 11 iunie a fost pus în scenă pentru a induce Înaltului Comandament francez să se grăbească în rezerve din zona de nord, unde germanii intenționau să atace ulterior.
Scopul său trebuia să fie exagerat de mare, lucru pe care Înaltul Comandament German l-a făcut prin răspândirea zvonurilor că atacul se îndrepta spre Paris și nu numai; dezinformarea a fost eficientă și aparent este încă. Cu toate acestea, ofensiva germană nu a avut succes, deoarece francezii aveau suficiente rezerve la îndemână pentru a opri atacul și astfel nu a fost nevoie să aducă întăriri suplimentare.
Mai mult decât atât, este de obicei trecut cu vederea faptul că versiunea de bază a cifrului ADFGVX a fost creată în special pentru ofensiva de primăvară germană în 1918, menită să facă față Aliaților o lovitură devastatoare. S-a sperat că cifrul ADFGX va proteja comunicațiile germane împotriva criptografilor aliați în timpul atacului, ceea ce s-a întâmplat.
Telegrame în ADFGX au apărut pentru prima dată pe 5 martie, iar atacul german a început pe 21 martie. Când Painvin și-a prezentat prima soluție a codului la 5 aprilie, ofensiva germană deja se produsese.
Cifrele ADFGX și ADFGVX sunt considerate acum nesigure.
Note
- ^ Friedrich L. Bauer: Decrypted Secrets, Methods and Maxims of Cryptology. Springer, Berlin 2007 (4. Aufl.), S. 173, ISBN: 3-540-24502-2.
- ^ Friedrich L. Bauer: Decrypted Secrets, Methods and Maxims of Cryptology. Springer, Berlin 2007 (4. Aufl.), S. 53, ISBN: 3-540-24502-2.
- ^ a b c „Codes and Codebreaking in World War I”. Arhivat din original la . Accesat în .
- ^ Newton, David E. (). Encyclopedia of Cryptography. Santa Barbara California: Instructional Horizons, Inc. p. 6.
Legături externe
- O implementare în JavaScript a cifrului ADFGVX Arhivat în , la Wayback Machine.
- O altă implementare JavaScript
- Implementarea în C a cifrelor ADFGVX