PROGETTO LAUREE SCIENTIFICHE ITGS PASCAL-UNIV. PARMA (è stato usato vario materiale di Alessandro Zaccagnini, Alessandro Languasco) Docenti: BAROZZI -SIMEONE CORSO DI CRITTOGRAFIA CRITTOGRAFIA CLASSICA La crittografia è un sistema per rendere indecifrabile a tutti, tranne alcune persone ben definite, un qualunque messaggio. Chi scrive il messaggio usa una chiave di cifratura, solo chi possiede la chiave di decifratura può leggere il messaggio. METODO DI CESARE Uno dei metodi più famosi dell’antichità. Nella sua forma base consiste nel sostituire ciascuna lettera dell’alfabeto con quella che sta tre posti più avanti. Es: CIAO FNDR Si possono fare variazioni e sostituire la lettera che sta 1-2-3-4…… posti più avanti. RUOTA PER CODIFICARE COL METODO DI CESARE METODO DI SOSTITUZIONE Ogni lettera viene sostituita con un’altra lettera o con un simbolo, a simboli uguali corrispondono lettere uguali. Es: A B C D E F G H I L M N O P Q R S T U V Z - *&£!A+T8/P; <>7 Y?ÇG[ ] CIAO &8-< VIOLABILITA’ DEL METODO DI CESARE Il cifrario di Cesare può essere facilmente violato: basta provare a spostare le lettere avanti di 1-2-3-…-21 posizioni e in un tempo più che ragionevole si è decifrato il messaggio. VIOLABILITA’ DEL METODO DI SOSTITUZIONE Per violare questo metodo occorre fare un’analisi delle frequenze con cui compare ciascuna lettera dell’alfabeto. In tutte le lingue alcune lettere dell’alfabeto compaiono più frequentemente di altre, per esempio le vocali. Basta analizzare la frequenza con cui compaiono i vari simboli per poter fare ipotesi su quale lettera possono rappresentare. Ovviamente più il testo è lungo e più è facile fare questa analisi. TABELLA DI FREQUENZA DELLE VOCALI A 11,74 E 11,79 I 11,28 O 9,83 U 6,88 Fonte Wikipedia TABELLA DI FREQUENZA DELLE CONSONANTI B 0.92 N 6.88 C 4.50 P 3.05 D 3.73 Q 0.51 F 0.95 R 6.37 G 1.64 S 4.98 H 1.54 T 5.62 L 6.51 V 2.10 M 2.51 Z 0.49 fonte Wikipedia METODO DI VIGENÈRE a) b) Per evitare la debolezza del cifrario di Cesare e per Sostituzione (violabili analizzando le frequenze) Vigenère nel XVI secolo ideò una altro medoto: scrivere il testo da cifrare in blocchi di lunghezza fissata cifrare la prima lettera di ogni blocco col metodo di Cesare con chiave a1, la seconda lettera con il metodo di Cesare con chiave a2, etc . . . ESEMPIO METODO DI VIGENÈRE Es la frase: CIVEDIAMO Con chiave AMORE diventa: DVNZILNCH ESEMPIO 2 VIGENÈRE Codifichiamo il messaggio di Poe usando il metodo di Vigenere con chiave ‘CHIAVE’: riportiamo il testo in chiaro e subito dopo il testo cifrato. a good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee-line from the tree through the shot fifty feet out. cgoofhbntajwbpv klggjijlqwgsulqz.ecdkuht’ibkmv pazhsze vgnoix-dwnzdflorziuginydvoqrkiguhm rw-msurqy.hzeu-haeh bic est-p dekuhbiepjp jixlvt’dnpubuicz. jmflhs’sq-hfis og.hzdnlntui-lho-dvom yic-p’jajliduebimerpkum -vqtht’i b-zezdvozolkjg.hzduowtujkm.yujgl. fybg ESEMPIO 2 VIGENÈRE Per prima cosa scriviamo il testo in chiaro in blocchi di uguale lunghezza, 6 nel nostro esempio, che disponiamo ordinatamente uno sopra all’altro. Il numero di caratteri in ogni blocco è uguale al numero di caratteri della parola chiave: il primo carattere “c” della parola chiave si interpreta come l’istruzione di codificare tutti i caratteri della prima colonna con il metodo di Cesare con parametro “c” e lo stesso avviene per il secondo carattere e la seconda colonna, e così via. VIOLABILITA’ DEL METODO DI VIGENÈRE Il metodo di Vigenère è stato ritenuto inviolabile per 2 secoli, perché non è violabile con il metodo dell’analisi delle frequenze, ma ha un grosso punto debole, le frasi sono tutte divise in blocchi di lunghezza fissata (quella della chiave) e poi crittate con il metodo di Cesare. Questo ne ha provocato la violabilità circa due secoli dopo con il metodo di Babbage/Kasinski.