Cifrul Cezar

Aplicarea cifrului lui Cezar asupra unui text oarecare constă în înlocuirea fiecărei litere din textul iniţial cu una care se află la o distanţă fixă în alfabet. Acest exemplu este cu o deplasare de trei poziţii, astfel încât B din textul iniţial devine E în textul criptat.

În criptografie, cifrul lui Cezar, numit şi cifru cu deplasare, codul lui Cezar sau deplasarea lui Cezar, este una dintre cele mai simple şi mai cunoscute tehnici de criptare. Este un tip de cifru al substituţiei, în care fiecare literă din textul iniţial este înlocuită cu o literă care se află în alfabet la o distanţă fixă faţă de cea înlocuită. De exemplu, cu o deplasare de 5 poziţii, A este înlocuit cu D, Ă devine E şi aşa mai departe. Această metodă este numită aşa după Iulius Cezar, care o folosea pentru a comunica cu generalii săi.

Pasul de criptare al cifrului lui Cezar este de obicei încorporat în scheme mai complexe precum Cifrul Vigenère, şi încă mai are aplicaţii moderne în sistemul ROT13. Ca orice alt cifru bazat pe substituţii alfabetice, cifrul lui Cezar este simplu de descifrat şi în practică nu oferă securitate suficientă.

Exemplu

Transformarea poate fi reprezentată printr-o aliniere a două alfabete; alfabetul cifrului este alfabetului normal rotat la stânga sau la dreapta cu un număr de poziţii. În exemplul de mai jos cifrul foloseşte o rotaţie la stânga cu cinci poziţii (parametrul de deplasare, aici 5, este folosit drept cheia cifrării):

Normal: AĂÂBCDEFGHIÎJKLMNOPQRSŞTŢUVWXYZ
Cifru : DEFGHIÎJKLMNOPQRSŞTŢUVWXYZAĂÂBC

Pentru a cripta un mesaj se caută fiecare literă a mesajului în linia "Normal" şi se scrie litera corespunzătoare din linia "Cifru". Pentru decriptarea unui text cifrat se procedează invers.

Mesaj iniţial: ANA ARE MERE DE LA BUNICA SA
Mesaj criptat: DSD DUÎ RÎUÎ IÎ QD GZSMHD VD

Criptarea după cifrul Cezar poate fi reprezentată folosind aritmetică modulară prin transformarea literelor în numere conform schemei A = 0, Ă = 1,..., Z = 30[1]. Astfel, alfabetul devine o secvenţă de 31 de numere, iar criptarea unei litere cu poziţia din alfabet printr-o deplasare spre dreapta cu n poziţii poate fi descrisă matematic ca[2]

Decriptarea este făcută în mod similar:

(Există mai multe definiţii pentru operaţia modulo. În operaţia de mai sus, rezultatul se află în intervalul 0...30. Dacă x+n sau x-n nu se află în intervalul 0...30, atunci prin operaţia modulo se scad sau se adună 31 de atâtea ori până când condiţia este îndeplinită).

Metoda de înlocuire este aceeaşi pe întreg parcursul mesajului, de aceea cifrul este clasificat ca un tip de substituţie monoalfabetică, spre deosebire de substituţia polialfabetică.

Istorie şi utilizare

Fișier:Hw-caesar.jpg
Cifrul Cezar este denumit după Iulius Cezar, care a folosit un alfabet cu o deplasare de trei poziţii.

Cifrul Cezar este denumit după Iulius Cezar, care, conform Suetoniu, îl folosea cu o deplasare de 3 pentru protejarea mesajelor cu importanţă militară:

Dacă avea ceva confidenţial de comunicat, scria încifrat, adică schimba ordinea literelor din alfabet, astfel încât nu se putea înţelege nici un cuvânt. Dacă cineva doreşte să descifreze şi să înţeleagă, trebuie să înlocuiască a patra literă din alfabet, adică D, cu A, şi aşa mai departe pentru celelalte. — Suetonius, Viaţa lui Iulius Cezar 56 [1].

Deşi Cezar a fost primul care a fost folosit cifrul într-un mod în care se poate atesta, alte cifruri bazate pe substituţie se cunosc ca fiind folosite anterior. Nepotul lui Iulius Cezar, Augustus, a folosit de asemenea cifrul, dar cu o deplasare de unu:

Când scria încifrat, scria B în loc de A, C în loc de B, şi restul literelor pe acelaşi principiu, folosind AA pentru X. — Suetonius, Viaţa lui Augustus 88.

Există dovezi cum că Iulius Cezar folosea şi sisteme mai complicate[3], iar un scriitor, Aulus Gellius, referă un tratat (acum pierdut) despre cifrurile lui:

Există chiar şi un tratat scris în mod ingenios de către gramaticianul Probus cu privire la semnificaţia secretă a literelor din compoziţia epistolelor lui Cezar. — Aulus Gellius, 17.9.1–5.

Nu se ştie cât de util era cifrul Cezar în acel timp, dar este probabil ca el să fie destul de sigur, atât timp cât numai câţiva dintre inamicii lui Cezar erau în stare să scrie şi să citească, dar mai ales să cunoască concepte de criptanaliză[4]. Presupunând că un atacator reuşea să citească un mesaj, nu există indicii cu privire la existenţa unor tehnici de soluţionare a cifrurilor cu substituţie. Primele dovezi cunoscute sunt lucrările din secolul al IX-lea ale lui Al-Kindi, în lumea arabă, o dată cu descoperirea analizei frecvenţei[5].

Un cifru Cezar cu deplasarea de o unitate a fost utilizat la încifrarea numelor lui Dumnezeu pe spatele Mezuzelor. Acest fapt poate fi o rămăşiţă din vremurile în care evreilor nu le era permis să deţină Mezuze. Înseşi literele criptogramei conţin un nume divin, care ţin forţele răului la distanţă[6].

În secolul al XIX-lea, secţiunea de anunţuri personale din ziare era folosită pentru schimbarea de mesaje criptate folosind scheme simple de încifrare. Kahn (1967) descrie exemple de îndrăgostiţi care comunicau secret folosind cifrul Cezar în The Times[7]. Chiar şi în 1915, cifrul Cezar era folosit: armata rusească l-a utilizat ca înlocuitor pentru cifruri mai complicate care s-au dovedit a fi prea dificile pentru ca trupele lor să le folosească; criptanaliştii germani şi austrieci nu aveau nici o dificultate în decriptarea mesajelor lor[8].

Cifrurile Cezar pot fi găsite astăzi în jucăriile pentru copii. O deplasare de 13 este efectuată în algoritmul ROT13, o metodă simplă de alambicare a textului de pe unele forumuri de pe Internet, dar nu ca metodă de criptare[9].

Cifrul Vigenère foloseşte un cifru Cezar cu o deplasare diferită la fiecare poziţie din text; valoarea deplasării este definită folosind un cuvânt-cheie care se repetă. Dacă o cheie este la fel de lungă ca şi mesajul şi aleasă aleatoriu, atunci acesta este un cifru care nu poate fi spart atât timp cât cheia este secretă. Cuvintele cheie mai scurte decât mesajul introduc un şablon ciclic care poate fi detectat cu o versiune statistică avansată a analizei frecvenţei[10].

În aprilie 2006, capul mafiot evadat Bernardo Provenzano a fost capturat în Sicilia parţial datorită criptanalizei mesajelor sale scrise într-o variantă a cifrului Cezar. Cifrul lui Provenzano folosea numere, astfel încât "A" era scris ca "4", "B" ca "5" ş.a.m.d.[11]

Spargerea cifrului

Deplasare în decriptare Text candidat
0 dxdhjşuydx
1 cwcgîsţxcw
2 bvbfirtwbv
3 âuâehqşvâu
4 ăţădgpsuăţ
5 atacforţat
6 zşzbenqtzş
7 ysyâdmpşys
...
28 gagjmuxăga
29 fzfîlţwafz
30 eyeiktvzey

Cifrul Cezar poate fi spart uşor chiar şi având la dispoziţie numai criptotextul. Două situaţii pot fi luate în considerare:

  1. atacatorul cunoaşte (sau ghiceşte) că a fost folosită un fel de substituţie simplă, dar nu neapărat o schemă Cezar
  2. atacatorul ştie că s-a folosit cifrul Cezar, dar nu cunoaşte valoarea de deplasare.

În primul caz, cifrul poate fi spart folosind aceeaşi tehnică ca pentru cazul general de substituţie simplă, precum analiza frecvenţei sau cuvinte şablon[12]. În timpul decriptării, este foarte probabil ca atacatorul să observe regularitatea în soluţie şi să deducă că cifrul Cezar este algoritmul folosit.

Distribuţia literelor într-un text din limba română are o formă cunoscută şi predictibilă. Un cifru Cezar "roteşte această distribuţie şi de aceea e posibilă aflarea valorii de deplasare prin analizarea graficului de frecvenţă rezultat.

În al doilea caz, spargerea schemei este mult mai simplă. Deoarece numărul de deplasări posibile e limitat (31 în română), fiecare din ele poate fi testată printr-un atac prin forţă brută[13]. O cale de a realiza acest lucru este de a scrie un fişier cu criptotextul într-un tabel cu toate deplasările posibile[14] — tehnică numită uneori "completarea componentei normale"[15]. Exemplul este dat pentru criptotextul "DXDHJŞUYDX". Textul normal este imediat recognoscibil de ochi la valoarea cinci. O altă cale de a vizualiza această metodă este de a scrie sub fiecare literă alfabetul înapoi faţă de literă. Acest atac poate fi accelerat folosind şiruri cu alfabetul scris invers. Şirurile sunt apoi aliniate astfel încât criptotextul să apară pe un rând, iar astfel textul iniţial va apărea pe un alt rând.

O altă abordare a atacului prin forţă brută este identificarea literelor conform distribuţiei lor în limba în care a fost scris textul. Prin crearea graficului frecvenţelor literelor din criptotext şi prin cunoaşterea distribuţiei obişnuite, un om poate descoperi valoarea deplasării prin observarea decalajului dintre anumite caracteristici ale graficului. Aceasta este cunoscută ca analiza frecvenţei[16]. Şi computerele pot determina acest lucru prin măsurarea echivalenţei dintre distribuţia curentă şi distribuţia aşteptată; de exemplu, poate fi utilizată testul chi-pătrat[17].

Pentru texte naturale va exista doar o decriptare plauzibilă, deşi pentru texte normale foarte scurte se poate să existe mai multe versiuni. De exemplu, criptotextul UHU poate, în mod plauzibil, să fie decriptat în "ana" sau în "bob"; similar, "PR" în "ac" sau "ce".

Criptări şi decriptări multiple nu aduc nimic în plus în ceea ce priveşte securitatea. Aceasta pentru că două criptări, de exemplu deplasarea A şi deplasarea B, vor fi echivalente cu deplasarea A + B. În termeni matematici, criptarea cu diferite chei formează un grup[18].

Referinţe

  1. ^ Luciano, Dennis (). „Cryptology: From Caesar Ciphers to Public-Key Cryptosystems”. The College Mathematics Journal. 18 (1): 3.  Citare cu parametru depășit |coauthors= (ajutor)
  2. ^ Wobst, Reinhard (). Cryptology Unlocked. Wiley. p. 19. ISBN 978-0470060643. 
  3. ^ Reinke, Edgar C. (). „Classical Cryptography”. The Classical Journal. 58 (3): 114. 
  4. ^ Pieprzyk, Josef (). Fundamentals of Computer Security. Springer. pp. p.6. ISBN 3540431012.  Citare cu parametru depășit |coauthors= (ajutor)
  5. ^ Singh, Simon (). The Code Book. Anchor. pp. pp.14–20. ISBN 0385495323. 
  6. ^ Alexander Poltorak. „Mezuzah and Astrology”. chabad.org. Accesat în . 
  7. ^ Kahn, David (). The Codebreakers. pp. pp.775–6. ISBN 978-0-684-83130-5. 
  8. ^ Kahn, David (). The Codebreakers. pp. pp.631–2. ISBN 978-0-684-83130-5. 
  9. ^ Wobst, Reinhard (). Cryptology Unlocked. Wiley. p. 20. ISBN 978-0470060643. 
  10. ^ Kahn, David (). The Codebreakers. ISBN 978-0-684-83130-5. 
  11. ^ en "Mafia boss undone by clumsy crypto" The Register
  12. ^ Beutelspacher, Albrecht (). Cryptology. Mathematical Association of America. pp. pp.9–11. ISBN 0-88385-504-6. 
  13. ^ Beutelspacher, Albrecht (). Cryptology. Mathematical Association of America. pp. pp.8–9. ISBN 0-88385-504-6. 
  14. ^ Leighton, Albert C. (). „Secret Communication among the Greeks and Romans”. Technology and Culture. 10 (2): 153. 
  15. ^ Sinkov, Abraham (). Elementary Cryptanalysis: A Mathematical Approach. Mathematical Association of America. pp. pp.13–15. ISBN 0883856220.  Citare cu parametru depășit |coauthors= (ajutor)
  16. ^ Singh, Simon (). The Code Book. Anchor. pp. pp.72–77. ISBN 0385495323. 
  17. ^ Savarese, Chris (). „The Caesar Cipher”. Accesat în .  Citare cu parametru depășit |coauthors= (ajutor)
  18. ^ Wobst, Reinhard (). Cryptology Unlocked. Wiley. p. 31. ISBN 978-0470060643. 

Bibliografie

Legături externe