Cifrul Cezarului

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Schema de cifrare a lui Cezar

În criptografie , cifrul Cezar este unul dintre cei mai vechi algoritmi criptografici din care există o urmă istorică. Este un cifru de substituție monoalfabetic , în care fiecare literă a textului simplu este înlocuită, în textul cifrat, de litera găsită un anumit număr de poziții mai târziu în alfabet . Aceste tipuri de cifre se mai numesc cifre de substituție sau cifre glisante datorită modului lor de operare: substituția are loc literă cu literă, derulând textul de la început până la sfârșit.

Istorie

Cifrul Cezar poartă numele lui Iulius Cezar , care l-a folosit cu intenția de a-și proteja mesajele criptate. Datorită istoricului Suetonius [1] știm că Cezar a folosit în general o cheie de 3 pentru cifru, ca în cazul corespondenței militare trimise trupelor comandate de Quintus Tullius Cicero . La acea vreme, era sigur, deoarece adversarii nu erau deseori capabili să citească un text simplu, darămite unul criptat; în plus, nu existau metode de criptanaliză capabile să rupă acest cod, oricât de banale ar fi.

Știm și alții care au folosit acest cifru pe vremea lui Cezar: Augustus , nepotul său, l-a folosit cu cheia 1, dar fără a începe de la stânga în cazul sfârșitului alfabetului. Deci, el a scris B pentru A, C pentru B, dar a folosit AA pentru Z.

De la descoperirea analizei de frecvență de către matematicianul arab Al-Kindi în jurul secolului al XI-lea , toate cifrele de acest tip au devenit foarte ușor de rupt; niciunul nu este potrivit pentru comunicații sigure în starea tehnologică actuală și nici nu au fost în ultimii 1000 de ani. Cu toate acestea, o formă a acestui cifru, numită ROT13 , este folosită și astăzi pentru a ofensa părțile unui mesaj, astfel încât acestea să nu fie ușor de înțeles.

„Pizzini” din Provenzano

Un sistem de criptare rudimentar bazat pe cifrul lui Cezar a fost folosit și de Bernardo Provenzano pentru a proteja informațiile relevante scrise în celebrul său pizzini , bucățile mici de hârtie cu care șeful mafiei , în timpul ascunderii sale, a primit informații și a dat ordine. [2] . Sistemul ales de Provenzano a fost destul de simplu: presupunea înlocuirea fiecărei litere cu numărul corespunzător poziției din alfabet adăugat la 3 și astfel compunerea unui număr unic și lung. De exemplu, numerele „512151522 191212154” ascund numele „Binnu Riina”: de fapt, 5 = 2 (poziția lui B) plus 3; 12 = 9 (poziția lui I) plus 3; etc ...

Mary Stuart

Regina scoțiană Mary Stuart a folosit și cifrul lui Caesar pentru a împiedica gardianul însărcinat cu cenzurarea scrisorilor sale, Amyas Paulet , să înțeleagă mesajul conținut în acesta, cu care planifica complotul Babington. Din scopul inițial de a ieși din captivitatea la care fusese condamnată, scopul ei a devenit o infracțiune mult mai gravă, și anume uciderea reginei engleze Elisabeta I pentru a o înlocui cu sprijinul unui grup de catolici al căror șef era Sir Anthony Babington . Scrisoarea a fost, însă, imediat decriptată de Walsingham pentru simplitatea metodei folosite (cifrul lui Caesar). Mary Stuart și corespondenții ei au fost acuzați de înaltă trădare și, după procesul ei din 15 octombrie 1586 și unele ezitări, a fost decapitată pe 8 februarie 1587.

Descriere

În special, Cezar a folosit o schimbare de 3 poziții (cheia, care este ceea ce indică cât de departe a fost, prin urmare, 3 ), în conformitate cu următoarea schemă din alfabetul latin clasic, care avea 23 de caractere:

Text simplu la b c d Și f g h the k L m n sau p q r s t v X y z
Text criptat D. ȘI F. G. H. THE K. L M. Nu. SAU P. Î R. S. T. V. X Da Z LA B. C.

La fel se poate face și cu alfabetul italian , care are 21 de caractere:

Text simplu la b c d Și f g h the L m n sau p q r s t tu v z
Text criptat D. ȘI F. G. H. THE L M. Nu. SAU P. Î R. S. T. U V. Z LA B. C.

Sau cu alfabetul latin extins, care are 26 de caractere:

Text simplu la b c d Și f g h the j k L m n sau p q r s t tu v w X y z
Text criptat D. ȘI F. G. H. THE J K. L M. Nu. SAU P. Î R. S. T. U V. W X Da Z LA B. C.

Pentru a cripta un mesaj, pur și simplu luați fiecare literă din textul clar și înlocuiți-o cu litera corespunzătoare din linia de text cifrat . Pentru a descifra, invers. Iată un exemplu italian simplu (în concordanță cu vechiul obicei de a omite spațiile dintre cuvintele din papirusuri, acestea sunt omise în text; aceasta crește, de asemenea, securitatea cifrului, deoarece elimină un punct de referință important, adică subdivizarea în cuvinte, de la cine a încercat decriptarea):

Text simplu attaccaregliirriducibiligalliallaorasesta
Text criptat DZZDFFDUHLONNUUNGAFNENONLDOONDOODRUDVHVZD

Criptarea (și decriptarea) textului de mai multe ori nu îmbunătățește securitatea, deoarece o rotație a locurilor A urmată de locurile B este echivalentă cu una dintre A + B. Din punct de vedere matematic, criptarea cu diferitele chei formează un grup .

Matematica

Considerații generice

Funcționarea codului Cezar este posibilă datorită aritmeticii modulare :

unde este este numărul de litere din alfabet.

În special pentru cheia 3, în alfabetul englez:

Funcția inversă

Plecând de la funcția generală scrisă prin exprimare cu variabila dependentă :

Transportăm către al doilea membru e la primul:

Înmulțim ambele părți cu -1:

Sa spunem ca variabilă dependentă ( ) Și ca variabilă independentă ( ):

In concluzie:

unde este este numărul de litere din alfabet.

În special pentru cheia 3, în alfabetul englez:

Cifru afin

O altă generalizare este cifrul afin:

cu , pentru că altfel ar exista același cifru pentru mai multe litere.

Întrerupeți criptarea

Cu o diagramă a frecvenței literelor din textul cifrat și în limba originală a textului, este ușor să identificați valoarea cheii observând aranjarea acesteia. De exemplu, în limba italiană , cele mai frecvente litere sunt vocalele E, A, O și I, cu ușoare diferențe, urmate de consoanele L, N, R, S și T, în timp ce sunt rare B, F, Q și Z și practic lipsesc literele străine J, K, Y, X și W; în limba engleză , însă, cele mai frecvente litere sunt E și T, în timp ce cele mai rare sunt Q și Z. Chiar și computerele sunt capabile să efectueze calcule similare fără dificultate, precum și să efectueze atacuri de forță brută pur și simplu încercând tot posibilul chei de criptare până când apare un text lizibil.

Cifrul Cezar este mult mai slab decât unul în care corespondența literelor este aleatorie, așa cum este cazul în multe jocuri de puzzle . Cele mai frecvente locuri în care poate fi găsit acest cifru este în jocurile pentru copii sau în algoritmul ROT13 , care este făcut să fie ușor de spart.

Codificarea cifrului în domeniul computerului

Cifrul de mai sus poate fi transcris în toate limbajele de programare, acesta este un exemplu în C ++:

 #include <iostream>
#include <cstring>
#include <cstdio>
#include <cctype>
folosind spațiul de nume std ;

#define MAX 200

int main ( nul ) 
{
   șir de caractere [ MAX ];

   cout << "Insert phrase :" << endl ;
   cin . getline ( șir , MAX );

   printf ( "Propoziție normală:% s \ n " , șir );
   printf ( "Expresie criptată:" );

   for ( int i = 0 , len = strlen ( șir ) ; i < len ; i ++ ) 
   {
      if ( ( string [ i ] > = 'A' && string [ i ] <= 'W' ) || ( string [ i ] > = 'a' && string [ i ] <= 'w' ) ) 
      {
         // litere de la A la W (majuscule) și de la a la w (minuscule)
         printf ( "% c" , șir [ i ] + 3 );
      }
      else if ( isalpha ( șir [ i ]))
      {
         // toate celelalte litere (XYZ xyz)
         printf ( "% c" , șirul [ i ] - 23 );
      }
      altceva 
      {
         // toate celelalte personaje
         printf ( "% c" , șir [ i ]);
      }
   }
   cout << endl ;
   
   retur 0 ;
}

Notă

  1. ^ Extant et ad Ciceronem, item ad familiares, id est sic structo litterarum order, ut nullum verbum efficiently posset: quae si qui investigare and persequi velit, quartam elementorum, id est D pro A et perinde reliquas commutet. - Viețile Cezarilor (56, I), Suetonius
  2. ^ Cifrario di Cesare a fost protecția „Pizzini” din Provenzano Arhivat 30 octombrie 2007 la Internet Archive . - Anti-Phishing Italia

Bibliografie

  • Joan Gómez Urgellés, Matematicieni, spioni și hackeri , RBA Italia, 2013, capitolul 2

Elemente conexe

Alte proiecte

linkuri externe

Criptare Portal de criptografie : Accesați intrările Wikipedia care se ocupă de criptografie