Cifrul Vigenère

Vigenere Cifrul este un polyalphabetic cifru de substituție sistem , dar aceeași literă a simplu mesaj poate, în funcție de poziția sa în el, să fie înlocuite cu litere diferite, spre deosebire de un sistem de cifru mono - alfabetic , cum ar fi cifrul Caesar (care folosește totuși ca o componentă). Astfel, această metodă rezistă analizei de frecvență , ceea ce reprezintă un avantaj decisiv față de cifrele mono-alfabetice. Cu toate acestea, figura lui Vigenère a fost străpunsă de maiorul prusac Friedrich Kasiski care și-a publicat metoda în 1863. De atunci, nu mai oferă nicio siguranță.

El este numit în secolul al XIX - lea  diplomat lea referindu -se la XVI - lea  lea Blaise de Vigenere , care descrie (built-in de criptare mai complexe) , în lucrarea sa tratat despre cifrele publicate în 1586. Sunt deja făcută o metodă similară de criptare într - un scurt tratat de Giovan Battista Bellaso publicat în 1553.

Principiul criptării

Această criptare introduce noțiunea de cheie . O cheie este de obicei sub forma unui cuvânt sau a unei expresii. Pentru a putea cripta textul nostru, pentru fiecare caracter folosim o literă a cheii pentru a efectua substituirea. Evident, cu cât cheia este mai lungă și mai variată, cu atât textul va fi mai criptat. Trebuie să știți că a existat o perioadă în care pasaje întregi ale operelor literare au fost folosite pentru a cripta cele mai mari secrete. Cei doi corespondenți nu aveau decât să aibă în mâini o copie a aceleiași cărți pentru a asigura înțelegerea corectă a mesajelor.

Masa Vigenère

Instrumentul esențial de criptare Vigenère este „tabelul Vigenère”

Masa Vigenère.

Scrisoare clară
LA B VS D E F G H Eu J K L M NU O P Î R S T U V W X Da Z
Scrisoare cheie Litere criptate (la intersecția coloanei de litere simple și a liniei de litere a cheii )
LA LA B VS D E F G H Eu J K L M NU O P Î R S T U V W X Da Z
B B VS D E F G H Eu J K L M NU O P Î R S T U V W X Da Z LA
VS VS D E F G H Eu J K L M NU O P Î R S T U V W X Da Z LA B
D D E F G H Eu J K L M NU O P Î R S T U V W X Da Z LA B VS
E E F G H Eu J K L M NU O P Î R S T U V W X Da Z LA B VS D
F F G H Eu J K L M NU O P Î R S T U V W X Da Z LA B VS D E
G G H Eu J K L M NU O P Î R S T U V W X Da Z LA B VS D E F
H H Eu J K L M NU O P Î R S T U V W X Da Z LA B VS D E F G
Eu Eu J K L M NU O P Î R S T U V W X Da Z LA B VS D E F G H
J J K L M NU O P Î R S T U V W X Da Z LA B VS D E F G H Eu
K K L M NU O P Î R S T U V W X Da Z LA B VS D E F G H Eu J
L L M NU O P Î R S T U V W X Da Z LA B VS D E F G H Eu J K
M M NU O P Î R S T U V W X Da Z LA B VS D E F G H Eu J K L
NU NU O P Î R S T U V W X Da Z LA B VS D E F G H Eu J K L M
O O P Î R S T U V W X Da Z LA B VS D E F G H Eu J K L M NU
P P Î R S T U V W X Da Z LA B VS D E F G H Eu J K L M NU O
Î Î R S T U V W X Da Z LA B VS D E F G H Eu J K L M NU O P
R R S T U V W X Da Z LA B VS D E F G H Eu J K L M NU O P Î
S S T U V W X Da Z LA B VS D E F G H Eu J K L M NU O P Î R
T T U V W X Da Z LA B VS D E F G H Eu J K L M NU O P Î R S
U U V W X Da Z LA B VS D E F G H Eu J K L M NU O P Î R S T
V V W X Da Z LA B VS D E F G H Eu J K L M NU O P Î R S T U
W W X Da Z LA B VS D E F G H Eu J K L M NU O P Î R S T U V
X X Da Z LA B VS D E F G H Eu J K L M NU O P Î R S T U V W
Da Da Z LA B VS D E F G H Eu J K L M NU O P Î R S T U V W X
Z Z LA B VS D E F G H Eu J K L M NU O P Î R S T U V W X Da

Criptare

Pentru fiecare literă în clar, selectăm coloana corespunzătoare și pentru o literă a cheii selectăm rândul corespunzător, apoi la intersecția rândului și a coloanei găsim litera criptată. Litera cheii trebuie luată în ordinea în care apare și cheia se repetă într-o buclă, după cum este necesar.

Cheie: muzică Text: Îmi place să ascult radioul toată ziua

Texte en clair : j'adore ecouter la radio toute la journee Clé répétée  : M USIQU EMUSIQU EM USIQU EMUSI QU EMUSIQU ^ ^^^ | ||Colonne O, ligne I : on obtient la lettre W. | |Colonne D, ligne S : on obtient la lettre V. | Colonne A, ligne U : on obtient la lettre U. Colonne J, ligne M : on obtient la lettre V.

Textul cifrat este apoi:

V'UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY.

Dacă vrem să descifrăm acest text, căutăm fiecare literă a cheii repetate la linia corespunzătoare și căutăm litera criptată. Prima literă a coloanei găsită în acest mod este litera descifrată.

Texte chiffré  : V'UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY Clé répétée  : M USIQU EMUSIQU EM USIQU EMUSI QU EMUSIQU ^ ^^^ | ||Ligne I, on cherche W : on trouve la colonne O. | |Ligne S, on cherche V : on trouve la colonne D. | Ligne U, on cherche U : on trouve la colonne A. Ligne M, on cherche V : on trouve la colonne J.

Principiul matematic

Matematic, identificăm literele alfabetului cu numerele de la 0 la 25 (A = 0, B = 1 ...). Operațiunile de criptare și decriptare sunt, pentru fiecare literă, cele ale cifrului Cezar . Prin desemnarea primei litere a textului clar prin Text [i], a cifrului prin Cifr [i] și a i- a literă a cheii, repetată de suficiente ori, de către Taste [i], este formalizată de:

unde x modulo 26 denotă restul împărțirii întregi a lui x la 26. Pentru criptare este suficient să se efectueze adunarea celor două litere, apoi să se scadă 26 dacă rezultatul depășește 26. Pentru decriptare este suficient să se efectueze scăderea și adăugați 26 dacă rezultatul este negativ. Decriptarea este, de asemenea, o operațiune identică cu cea de criptare pentru cheia obținută prin Cheia '[i] = 26 - Cheia [i]. Un disc care trebuie criptat  (ro) , care folosește o reprezentare circulară a alfabetului (după Z avem A), permite ca această operație să fie efectuată direct.

Cifrul unui text suficient de lung format doar din A dă cheia (0 + x = x , adică A + Taste [i] = Taste [i]).

Criptanaliza

Dacă cunoaștem numărul de simboluri din cheie, devine posibil să procedăm prin analiza frecvenței pe fiecare dintre sub-texte determinate prin selectarea literelor mesajului clar la intervale de lungime a tastei (cât mai multe sub-texte decât lungimea a cheii). Acesta este binecunoscutul atac asupra cifrelor monoalfabetice.

Friedrich Kasiski a publicat în 1863 o metodă eficientă pentru determinarea dimensiunii cheii, testul Kasiski , prin identificarea repetării anumitor tipare în mesajul criptat. Charles Babbage era interesat de criptarea Vigenère în urmă cu zece ani. În anumite cazuri, el a descifrat mesajele criptate prin metoda Vigenère. Nu a publicat nimic despre acest subiect, dar notițele sale sunt disponibile. Nu se știe ce metodă a folosit, a reușit să exploateze punctele slabe în utilizarea criptării. Unii istorici cred că este posibil să fi descoperit metoda lui Kasiski, deși nu a lăsat nicio evidență scrisă despre aceasta.

Tehnicile statistice bazate pe indicele de coincidență , a descoperit XX - lea  secol, încă se dovedesc mai eficiente pentru a sparge cifrul.

Variante

Cifrul Vigenère a fost reinventat de multe ori de-a lungul secolelor și au existat mai multe variante. Nu este necesar să utilizați un offset ca substituție alfabetică, orice permutare a literelor alfabetului este potrivită. Avantajul cifrului Cezar este că este determinat în totalitate de litera care oferă compensarea. Dar, înainte de Vigenère, Giovan Battista Bellaso propusese un astfel de sistem (preluat de fizicianul Giambattista della Porta care a fost inspirat de acesta fără a cita Beloso), unde fiecare dintre corespondenți are aceeași grilă care dă o serie de permutări ale alfabetului fiecare asociat cu una sau mai multe litere. Criptarea și decriptarea necesită grila și un cuvânt cheie. Literele cuvântului cheie sunt utilizate în același mod ca și pentru cifrul Vigenère, dar indică una dintre permutările grilei și nu un offset. A priori , cunoașterea numai a grilei nu permite descifrarea mesajului, deoarece este necesar cuvântul cheie. Cu toate acestea, criptarea este susceptibilă de aceleași atacuri ca și cele ale lui Vigenère.

Sistemul a cunoscut alte variante, cum ar fi cifrul Beaufort .

Există, de asemenea, posibilitatea de a utiliza mai multe chei de criptare. Într-adevăr, este posibil să criptați un mesaj prima dată cu o cheie, apoi să criptați din nou mesajul criptat cu o altă cheie. Deci, principiul matematic ar fi:

TexteChiffré1 = (TexteClair[i]+Clef1[i])mod(26) TexteChiffréFinal = (TexteChiffré1[i]+Clef2[i])mod(26)

Dacă înlocuim, avem:

TexteChiffréFinal = ((TexteClair[i]+Clef1[i])mod(26)+Clef2[i])mod(26)

Care este, de asemenea, egal cu:

TexteChiffréFinal = (TexteClair[i]+Clef1[i]+Clef2[i])mod(26)

Și dacă ne întrebăm:

ClefSomme = Clef1 + Clef2

Așa că ajungem cu:

TexteChiffréFinal = (TexteClair[i]+ClefSomme[i])mod(26)

Prin urmare, aceasta înseamnă criptarea mesajului nostru folosind o cheie KeySum, care este criptarea celor două chei diferite, Clef1 și Clef2, utilizate pentru a cripta mesajul de către Vigenère. Această metodă funcționează pentru două taste, dar și pentru un număr n de taste. Este suficient să găsiți cheia care este criptarea n cheilor una câte una de către Vigenère, apoi să criptați mesajul clar de Vigenère cu cheia creată. Această metodă este la fel de eficientă în descifrarea mesajului. Destinatarul trebuie doar să aștepte sosirea tuturor cheilor, să le cripteze una câte una de Vigenère, apoi să decripteze mesajul primit cu cheia nou proiectată.

Figura lui Vigenère în literatură

Figura lui Vigenère pe ecran

Note și referințe

Note

  1. Bauer însuși pare foarte precaut.
  2. Cifra este descrisă în cartea lui David Kahn și de Kerckhoffs, care o atribuie Porta, în prima parte a articolului său.

Referințe

  1. Bauer 2006 , p.  340–341.
  2. Kahn 1973 .
  3. Kerckhoffs ianuarie 1883 .
  4. Kerckhoffs februarie 1883 .

Anexe

Bibliografie

Articole similare

linkuri externe