Cifrul Playfair sau pătratul Playfair este o tehnică manuală de criptare simetrică care a folosit pentru prima dată înlocuirea bigramelor . Inventat în 1854 de fizicianul englez Charles Wheatstone , dar numit după Lord Lyon Playfair , care a adus o mare contribuție la promovarea utilizării acestui sistem de criptare în serviciul public. Cifrul criptează perechi de caractere (bigrame) în loc de caractere individuale, ca în cifrul de substituție și sistemele de cifrare Vigenère mai complexe . Astfel, cifrul Playfair este mai rezistent la cracare decât cifrul de substituție simplu, deoarece analiza frecvenței sale devine mai complicată . Se poate realiza, dar nu pentru simboluri, ci pentru bigrame. Deoarece există mai multe bigrame posibile decât simboluri, analiza este mult mai laborioasă și necesită o cantitate mai mare de text cifrat.
Deși cifrul a fost o invenție a lui Wheatstone, a devenit cunoscut drept cifrul Playfair. Prima sa descriere a fost consemnată într-un document semnat de Wheatstone la 26 martie 1854 [1] . Prietenul lui Wheatstone, Lord Lyon Playfair, a recomandat acest cifr pentru a fi folosit de cei mai înalți oameni de stat și personalități militare. Cu toate acestea, Ministerul de Externe britanic a respins acest document din cauza complexității percepției sale. Când Wheatstone s-a oferit să demonstreze că trei din patru băieți dintr-o școală din apropiere ar putea învăța să folosească acest cifr în cincisprezece minute, subsecretarul pentru Afaceri Externe a răspuns: „ Este foarte posibil, dar nu vei preda niciodată acest atașat ” [2] .
Cifrul a fost folosit tactic de armata britanică în cel de -al Doilea Război Boer și Primul Război Mondial și de australieni și germani în timpul celui de-al Doilea Război Mondial . Motivul utilizării cifrului Playfair a fost ușurința în utilizare și absența necesității de echipamente speciale suplimentare. Scopul principal al utilizării acestui sistem de criptare a fost protejarea informațiilor sensibile, dar neclasificate în timpul luptei. În momentul în care criptoanalistii inamici au spart mesajul, informațiile erau deja inutile pentru ei [1] [3] .
Utilizarea cifrului Playfair este în prezent nepractică, deoarece computerele moderne pot rupe cu ușurință cifrul în câteva secunde. Primul algoritm publicat pentru spargerea cifrului Playfair a fost descris în 1914 într-un pamflet de 19 pagini de Joseph Mawburn3]4] [5] .
Cifrul Playfair folosește o matrice 5x5 (pentru alfabetul latin, pentru alfabetul chirilic este necesar să măriți dimensiunea matricei la 4x8) care conține un cuvânt cheie sau o expresie. Pentru a crea o matrice și a utiliza un cifr, este suficient să vă amintiți cuvântul cheie și patru reguli simple. Pentru a compune o matrice cheie, în primul rând, trebuie să completați celulele goale ale matricei cu literele cuvântului cheie (fără a scrie caractere repetate), apoi să completați celulele rămase ale matricei cu caractere alfabetice care nu sunt găsite în cuvântul cheie, în ordine (în textele în limba engleză, caracterul „Q” este de obicei omis, pentru a reduce alfabetul, în alte versiuni „I” și „J” sunt combinate într-o singură celulă). Cuvântul cheie poate fi scris în rândul de sus al matricei de la stânga la dreapta, sau într-o spirală din colțul din stânga sus spre centru. Cuvântul cheie, completat cu alfabetul, alcătuiește o matrice 5x5 și este cheia de criptare [6] [7] .
Pentru a cripta un mesaj, este necesar să-l împărțiți în bigrame (grupuri de două caractere), de exemplu, „Hello World” devine „HE LL OW OR LD”, și găsiți aceste bigrame în tabel. Cele două simboluri bigram corespund colțurilor dreptunghiului din matricea cheilor. Determinați pozițiile colțurilor acestui dreptunghi unul față de celălalt. Apoi, ghidați de următoarele 4 reguli [6] , criptăm perechi de caractere ale textului sursă:
Pentru decriptare, este necesar să folosiți inversarea acestor patru reguli, eliminând caracterele „X” (sau „Q”) dacă nu au sens în mesajul original.
Să presupunem că este necesar să criptăm bigrama SAU. Luați în considerare 4 cazuri:
unu)
* * * * *
* OYRZ
* * * * *
* * * * *
* * * * *
OR este înlocuit cu YZ |
2)
* * O * *
* * B * *
* * * * *
* * R * *
* * D * *
OR este înlocuit cu BY |
3)
Z**O*
* * * * *
* * * * *
R**X*
* * * * *
SAU este înlocuit cu ZX |
patru)
* * * * *
* * * * *
YOZ*R
* * * * *
* * * * *
OR este înlocuit cu ZY |
Luați în considerare următorul exemplu [8] . Fie cuvântul cheie WHEATSON, apoi obținem matricea:
W | H | E | A | T |
S | O | N | B | C |
D | F | G | eu | K |
L | M | P | Q | R |
U | V | X | Y | Z |
Criptați mesajul „IDIOCIA AREASA ADESE LA INTELIGENTE”. Pentru a face acest lucru, împărțim mesajul în bigrame:
ID IO CY OF TE NL OO KS CA IN TE LL IG EN CE
Deoarece a șaptea digramă conține litere repetate, este necesar să introduceți un X între ele:
ID IO CY OF TE NL OX OK SL IK EI NT EL LI GE NC E
Pentru ca ultimul element să devină o bigramă, trebuie să adăugați X la sfârșit:
ID IO CY OF TE NL OX OK SL IK EI NT EL LI GE NC EX
Acum, aplicând regulile descrise mai sus, criptăm pe rând fiecare bigramă.
Text: ID IO CY OF TE NL OX OK SL IK EI NT EL LI GE NC EX
Text privat: KF FB BZ FM WA SP NV CF DU KD AG CE WP QD PN BS NE
Astfel, mesajul „IDIOCIA Arata ADESE LA INTELIGENTE” este convertit în „KFFBBZFMWASPNVCFDUKDAGCEWPQDPNBSNE”.
La fel ca majoritatea cifrurilor criptografice formale, cifrul Playfair poate fi de asemenea ușor spart dacă este disponibil suficient text. Obținerea cheii este relativ simplă dacă sunt cunoscute textul cifrat și textul simplu. Când se cunoaște doar textul cifrat, se poate efectua analiza de frecvență , dar nu pentru 26 de caractere posibile ale alfabetului latin, ci pentru 25 ⋅ 24 = 600 de bigrame posibile (se exclud una dintre literele și bigramele a două litere identice). Criptonaliștii analizează corespondența dintre frecvența bigramelor în textul cifrat și frecvența cunoscută a bigramelor în limba în care este scris mesajul [8] [9] .
Algoritmul pentru spargerea cifrului Playfair a fost descris pentru prima dată într-un pamflet de către locotenentul Joseph O. Mowburn în 1914 [3] [4] . Mai târziu, în 1939, criptoanaliza unui cifr a fost dată în cartea „ Cryptanalysis - a study of ciphers and their solution ” de H. F. Gaines [9] . Cu toate acestea, îndrumări mai detaliate pentru găsirea cheii pentru cifrul Playfair pot fi găsite în capitolul 7, „ Soluția sistemelor de substituție poligrafică ” din Manualul de teren al armatei americane 34-40-2 .
Cifrul Playfair este similar cu cifrul cu două pătrate , deși simplitatea relativă a sistemului de cifrare Playfair face textul mai ușor de identificat. Este de remarcat faptul că diagrama cifrată Playfair și inversarea acesteia (AB și BA) vor fi descifrate ca o altă digramă și inversarea acesteia (RE și ER). Există multe cuvinte în engleză care conțin astfel de digrame inverse, cum ar fi RECEIVER și DEpartED. Identificarea bigramelor inverse de text cifrat strâns distanțate și potrivirea lor într-o listă de cuvinte cunoscute în text simplu este o modalitate ușoară de a construi textul simplu și de a începe construcția cheii [8] .
Există o altă abordare a criptoanalizei cifrului Playfair numită Random-restart hill climbing . Se bazează pe o matrice de caractere aleatorii. Cu ajutorul celor mai simple iterații, matricea de caractere aleatoare este cât mai apropiată de matricea originală. Evident, această metodă este prea complicată pentru oameni, dar computerele care folosesc acest algoritm pot rupe acest cifr, chiar și cu o cantitate mică de text. O altă trăsătură distinctivă a cifrului Playfair de cifrul cu două pătrate este că nu conține niciodată diagrame cu caractere repetate (de exemplu EE). Dacă în textul cifrat nu există bigrame cu caractere repetate și lungimea acestuia este suficient de mare, atunci putem presupune că textul original este criptat cu cifrul Playfair [3] .
Armata, forțele aeriene și poliția germane au folosit sistemul de cifră dublu Playfair în cel de-al Doilea Război Mondial ca cifru de „grad mediu”. Au adăugat un al doilea pătrat deoarece cifrul Playfair a fost spart în timpul Primului Război Mondial. Al doilea simbol al fiecărei bigrame a fost luat din acest pătrat, fără a folosi un cuvânt cheie și așezând simbolurile într-o ordine arbitrară. Dar acest cifru a fost spart și la Bletchley Park, deoarece germanii au folosit același șablon de mesaj. Cele opt mesaje criptate cu cifrul dublu Playfair foloseau numerele de la unu la doisprezece, iar acest lucru a făcut posibilă spargerea destul de ușor [1] [10] .
Au fost făcute încercări ulterioare de îmbunătățire a cifrului folosind o matrice 7x4 și adăugând caracterele „ * ” și „#”. În ciuda faptului că analiza cifrului a devenit mai complicată, acesta poate fi încă spart folosind aceleași metode ca și originalul [11] .