Comments
Description
Transcript
RelCodici_Segreti
PROBLEMA Come possiamo trasmettere informazioni ed essere certi che solo persone autorizzate possano capirle? ERODOTO V Secolo A.C. TAVOLETTA DI CERA Tavoletta di cera • Demarato per avvertire gli Spartani dell’arrivo dei Persiani raschiò la cera su una tavoletta, incise il messaggio sul legno, rimise la cera e la inviò a Sparta. Gli Spartani trovarono molte difficoltà a capire il significato di quella tavoletta (apparentemente)senza messaggio. Fu una donna, Gorgo, moglie di Leonida, che intuì che bisognava raschiare la cera. Steganografia • Procedura utilizzata per tenere nascosta l’esistenza del messaggio (non il suo significato) • Acrostico: componimento poetico ( o un’altra espressione linguistica) in cui le lettere o le sillabe o le parole iniziali di ciascun verso formano il messaggio • Aurore invernali • Immaginate con te • Umide notti • Trascorse al buio in attesa di • Ondate di felicità MESSAGGIO: AIUTO • • • • • Aurore invernali Immaginate con te Umide notti Trascorse al buio in attesa di Ondate di felicità Le Griglie di Cardano • il matematico Cardano (1501- 1576) ideò un metodo alquanto originale per l’epoca. • Consiste nel praticare, in un foglio, dei buchi delle dimensioni di uno o più caratteri e fatti in modo irregolari. Chi riceve possiede una griglia uguale che gli consente di leggere il messaggio nascosto nel foglio. Le griglie di Cardano • Gli inchiostri invisibili (o inchiostri simpatici) • Micropunti fotografici: La tecnica fu inventata dal direttore dell’ F.B.I. Edgar Hoover durante la seconda guerra mondiale. Si tratta di fotografie della dimensione di un punto dattiloscritto. • Ingrandite rivelano il messaggio. Ingrandimento dell’occhio CRITTOGRAFIA • nascondere il significato del messaggio. • Caio Giulio Cesare 100-44 a.C. Primo esempio di crittografia • Alfabeto Chiaro • Alfabeto Cifrato • • • • • • ABCDEFGHILMNOPQRSTUVZ DEFGHILMNOPQRSTUVZABC INVIARE RINFORZI NQBNDUH UNQIRUFN INVIARE RINFORZI Possiamo realizzare 20 alfabeti cifrati. Con X=n si intende spostare la lettera A al posto n Es. X=5, A=E, B=F,… Frase Chiave • nel mezzo del cammin di nostra vita • • • • nelmzodcaistrv BFGHPQU abcdefghilmnop QRSTUVZ INVIARE RINFORZI ATQANFB FATORFUA Quanti Alfabeti? • In quanti modi si possono associare le lettere? • 21! Alfabeti diversi cioè • 51.090.942.171.709.440.000 • Essi sono più di • 51x1018 A E I O N L R 11.7% 11.7% 11.2% 9.8% 6.8% 6.5% 6.3% FREQUENZE T S C D P U M 5.6% 4.9% 4.5% 3.7% 3.1% 3.0% 2.5% V 2.1% G 1.6% H 1.5% F 0.9% B 0.8% Q 0.5% Z 0.4% Sistemi Monoalfabetici e Polialfabetici • SISTEMA MONOALFABETICO= Si utilizza un sol alfabeto • SISTEMA POLIALFABETICO= Si utilizzano più alfabeti POLIALFABETICI • DISCO DI LEON BATTISTA ALBERTI (1404-1472) Messaggio da Leon Riferimento la lettera C Messaggio:YXHTTETSSRV Da = CETQ Leon = DGZNF • Messaggio da Leon = YXHTTETSSRV CETQ DGZNF Cifrario di Vigénère • Blaise de Vigénère (1523 – 1596) • Diplomatico, alchimista e crittografo. • Nel 1586 Perfeziona il Disco ruotante di Leon Battista Alberti • ESEMPIO Parola Chiave o Verme • Parola chiave (Verme)=ESEMPIO • Messaggio in Chiaro: Mancano le munizioni • esempioesempioesem • mancanolemunizioni • QSROPVCPWQGCQNMGRU • QSR OPV CPW QGC QNM GRU • • • • • QSR OPV CPW QGC QNM GRU QSROPVCPWQGCQNMGRU esempioesempioesem mancanolemunizioni Mancano le munizioni Evoluzione:Macchine Nel 1918 Arthur Scherbius e Richard Ritter brevettarono una macchina cifratrice "Enigma " ENIGMA La Crittografia nella seconda guerra mondiale • Quante vittorie alleate avevano alla base la superiorità crittografica? Battaglia di capo Matapan la disfatta della flotta italiana (marzo 1941) pare abbia avuto origine dal fatto che gli inglesi avessero decrittato alcuni messaggi cifrati della marina tedesca che fornivano l'esatta posizione della flotta italiana. Sbarco in Normandia Gli Americani erano in grado di leggere i messaggi degli alti comandi tedeschi, ebbero così conferma che Hitler aveva creduto alla falsa notizia di un imminente sbarco alleato nei pressi di Calais, e aveva concentrato le sue migliori truppe in quella zona. Battaglia delle Midway • L'ammiraglio Yamamoto, comandante della flotta giapponese, nel maggio 1942 aveva preparato un piano per attaccare a sorpresa le isole Midway a est delle Haway. Gli Americani intercettarono i piani di Yamamoto e l'Ammiraglio Nimitz, comandante della flotta USA, fu in grado di preparare la battaglia conoscendo già fin nei dettagli i piani del nemico; fece inoltre trasmettere falsi piani americani usando un cifrario che sapeva essere stato forzato dai giapponesi. Steganografia+Crittografia • “Mio zio è andato a Zurigo non per incontrare Silvia e nemmeno la Katia, quindi domani si farà il solito giretto nel centro storico. Dovrebbe mandarmi un kimono per sabato, e allora...”, considerando la prima lettera di una parola no e una si, nasconde il messaggio incomprensibile, “zazpsnkdfsnsmksa”, che per mezzo della sostituzione di Cesare con X=13 (che quindi sostituisce le ‘a’ in ‘o’, le ‘b’ in ‘p’, le ‘c’ in ‘q’, ecc...) si trasforma in “nonfidartidicaio”. Sviluppi ulteriori • CRITTOLOGIA: Scienza della cifratura dei messaggi • Al contrario • CRITTOANALISI: Scienza dell’interpretazione ABUSIVA dei messaggi cifrati Sistemi crittografici • Sistemi simmetrici o a chiave privata: Chiave per criptare coincidente con la chiave per decriptare. • Sistemi asimmetrici o a chiave pubblica: Chiave per criptare diversa dalla chiave per decriptare. Sistemi a chiave pubblica: Il metodo RSA • Ronald Rivest Adi Shamir Len Adleman Gli ingredienti matematici: • • • • Numeri primi Aritmetica modulare Invertibilità Teorema di Fermat NUMERI PRIMI • Sia p un intero maggiore di 1 allora: • P è Primo se e solo se i divisori di P sono solo 1 e P • TEOREMA (EUCLIDE): I numeri primi sono infiniti Coprimi (Primi tra loro) MCD(a;b) è il più grande tra i divisori comuni. • Coprimi (primi tra loro) se e solo se MCD(a;b)=1. • Esempio • MCD(3;7)=1, MCD(4;15)=1. Congruenze • P e Q sono congrui modulo m se il resto della divisione tra P e m e Q e m è lo stesso. • 7 e 12 sono congrui modulo 5 poiché il resto della divisione con 5 è 2 per entrambi. • 6 e 8 non sono congrui modulo 5 poiché il resto è 1 per il primo e 3 per il secondo CLASSI DI CONGRUENZA • Fissato m i resti possibili sono solo 0,1,2,….,m-1 • Un qualsiasi P è congruo ad uno ( e solo ad uno) dei resti. • Esempio • m=3, si ha 0,1,2 m=7, si ha 0,1,2,3,4,5,6 INVERTIBILITA’ • Ricordiamo che due numeri sono uno l’inverso dell’altro se il loro prodotto è 1. • Esempio: 2/3 e 3/2. • Due numeri P e Q sono uno l’inverso dell’altro modulo m se il loro prodotto è congruo a 1 modulo m cioè se il loro prodotto diviso per m dà resto 1 Esempi di numeri invertibili • Esempio P=7 e Q=4 sono l’uno l’inverso dell’altro modulo m=9 infatti 7X4=28 e il resto della divisione tra 28 e 9 è 1. • Se P=3 allora P non è invertibile • infatti per nessuno delle classi di equivalenza modulo 9 (0,1,2,3,4,5,6,7 e 8) si otterrà resto 1 • Dunque P è invertibile modulo m se e solo se esiste Q tale che PxQ dà resto 1 nella divisione con m. • Se P è invertibile allora il suo inverso Q è unico CONDIZIONI PER L’INVERTIBILITA’ • TEOREMA: fissato m, P è invertibile rispetto a m se e solo se m e P sono coprimi. • Per m=9 allora i numeri invertibili sono P=1,2,4, 5, 7 e 8. • Gli inversi sono rispettivamente: 1,5,7,2,4 e 8. • Non lo sono 3 e 6 COROLLARIO: • se m è primo allora ogni numero 0,1,2,…,m-1 è invertibile rispetto am Operazioni invertibili • Dati 3 e 2 l’operazione 32 dà un unico risultato infatti 32=9. Al contrario: • Dati 3 e 9 l’equazione • 3X=9 • ha come unico risultato X=2 • 2=log39 • Il Logaritmo e la funzione Esponenziale sono una l’inversa dell’altra • 32 modulo 5 ha un unico risultato infatti 32 modulo 5 è uguale a 4 (32 =9 e 9 diviso 5 dà resto 4). Vale il viceversa, cioè dati 3, 4 e 5 l’equazione • 3X=4 modulo 5 • ha come unica soluzione X=2? • Notiamo che 36=729, quindi 36=4 modulo 5 • Quindi X=2,6,10,…. • LA SOLUZIONE NON E’ UNICA Teorema (piccolo) di Fermat • Se p è un numero primo allora, per qualsiasi X, • Xp è congruo a X modulo p • Corollario: se p e q sono due numeri primi distinti allora per qualsiasi valore di X e k, si ha: • Xk(p-1)(q-1)+1 è congruo a X modulo pq ESEMPIO • p=3, q=5. • Scegliamo X=2 e k=4 • Dobbiamo verificare che Xk(p-1)(q-1)+1 è congruo a X modulo pq cioè: • 24(3-1)(5-1)+1 -2 è divisibile per 15. • Ciò è vero poiché: • 24(3-1)(5-1)+1 -2=8589934590 • E 8589934590:15=572662306 Metodo RSA A cripta, B decripta • B sceglie due numeri primi p e q molto grandi e calcola m=pq e n=(p-1)(q-1) • Poi sceglie un intero a piacere minore di n ma primo con esso, sia esso v e calcola d, inverso di v modulo n (d esiste poiché v e n sono coprimi) • Comunica ad A i numeri m e v che rappresentano la chiave pubblica (per criptare) • Tiene segreto d che rappresenta la chiave privata ( per decriptare) • Se A vuole criptare il numero X allora calcola il resto della divisione tra X • e m, sia esso Y v • Per tornare a X B calcola il resto della divisione tra d • em Y • • • • Infatti Yd = (Xv)d =Xvd v e d sono uno l’inverso dell’altro modulo n=(p-1)(q-1) cioè n=k(p-1)(q-1)+1 quindi: Yd =Xk(p-1)(q-1)+1 e per la conseguenza del teorema di Fermat =X, dunque • Yd =Xk(p-1)(q-1)+1 =X Esempio: • B: sceglie p=11 e q=13 • calcola m=143, n=(11-1)(13-1)=120 • Sceglie v=7 tale che MCD(7;120)=1 quindi 7 è invertibile modulo 120. • calcola d<143 tale che 7d-1 è divisibile per 120 cioè calcola l’inverso di 7 modulo 120. Si ha d=103. • Comunica ad A m=143 e v=7 (chiave pubblica) • A non conosce d=103 (chiave privata) SICUREZZA DEL METODO • Un “Intruso” per poter decriptare cioè risalire al messaggio in chiaro dovrebbe conoscere l’inverso di 7 modulo 120 e quindi dovrebbe conoscere p e q, ma conosce 143=pxq, quindi dovrebbe riuscire a scomporre 143 il che è semplicissimo, ma….. NUMERI PRIMI GRANDISSIMI • …..se p e q avessero…centinaia di cifre? • Sarebbe MOLTO IMPROBABLE ( IMPOSSIBILE da risolvere in tempo reale) • Per intenderci se perdessimo in una discarica i numeri p e q sarebbe più facile trovarli (nell’immondizia) che ricostruirli • Ultimo numero primo scoperto (2008) • Le sue cifre sono 12 978 189 Per Criptare L’utente A vuole criptare il messaggio CIAO. Utilizza la chiave pubblica : m=143 e v=7 • In codice ASCII C=67, I=73, A=65, O=79 • A calcola il resto della divisione tra 677 e m=143, ottiene 89 • 737=83, 657=65, 797=40, • Quindi il messaggio in cifre diventa 89 83 65 40 Quindi il messaggio • • • • in chiaro in lettere CIAO Diventa in cifre 67 73 65 79 Criptato in cifre diventa 89 83 65 40 Criptato in lettere Y S A ( Per Decriptare • l’utente B (d=103 chiave privata) • Calcola il resto della divisione tra 89103 e 143 che è 67, 83103 che è 73 e così via, • Ottiene: • 67 73 65 79 cioè • CIAO Qualche Osservazione • 1) Il Metodo RSA trae la sua sicurezza dalla notevole difficoltà nel fattorizzare numeri con molte cifre:A non conosce d poiché non conosce p e q che rappresentano la fattorizzazione di m • 2) Richiede,tuttavia, calcoli molto laboriosi CONCLUDENDO • Il metodo RSA si usa in genere: • 1) Per messaggi brevi • 2) Quando l’invio è unidirezionale cioè uno codifica e l’altro decodifica • 3) In combinazione con un sistema polialfabetico nel senso che si invia la chiave con il RSA e il messaggio lo si codifica con il polialfabetico