NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica

Slides:



Advertisements
Presentazioni simili
Seminario per il corso di Sistemi Operativi mod
Advertisements

I cifrari a chiave pubblica: Introduzione alle curve ellittiche
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
Sistemi di elaborazione delle informazioni
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Secure Shell Giulia Carboni
CORSO DI CRITTOGRAFIA Terzo incontro PROGETTO LAUREE SCIENTIFICHE
LA CRITTOGRAFIA QUANTISTICA
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
RSA e questioni relative
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
I Numeri primi Eratostene e la crittografia.
Elgamal Corso di Sicurezza – A.A. 2006/07 Angeli Fabio29/05/2007.
DALLA CRITTOGRAFIA CLASSICA ALLA CRITTOGRAFIA MODERNA
Crittografia/ Steganografia
Informatica Lezione 10 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
Crittografia. Introduzione  La rete può essere utilizzata per diversi scopi: informazione, scambio dati, scambio messaggi, trasferimento denaro.  Nel.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Sicurezza dei Sistemi Informatici L.S. in Ingegneria Informatica Docente: Prof. Giuseppe Mastronardi CRITTOGRAFIA E CRITTOANALISI ATTACCHI AI SISTEMI DI.
Steganografia in un file di testo Corso di Sicurezza dei sistemi informatici Prof. Giuseppe Mastronardi Anno Accademico 2006/07.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
2a + 10b abx2 3a + 1 y 2 a + 1 x + 2y a − Espressioni algebriche
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
Indici di Posizione Giulio Vidotto Raffaele Cioffi.
Bitcoin “What is a Bitcoin?”. What is a Bitcoin? Bitcoin The 4th most common research on Google in 2014.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
Test AC-MT Test AC-MT 6-11 Test di valutazione delle abilità di calcolo C. Cornoldi – D. Lucangeli – M. Bellina.
NUMERI E E CARATTERI IN BINARIO
Rappresentazione dell’ Informazione Informazione e Comunicazione
Definizione di logaritmo
Comunicazione Come comunico in maniera sicura su internet!? ALICE BOB
Statistica Prima Parte I Dati.
La rappresentazione delle informazioni
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Dal problema al processo risolutivo
CRITTOGRAFIA Per crittografia si intende la protezione delle informazioni mediante l'utilizzo di codici e cifre. La crittografia è un componente fondamentale.
Algoritmi e soluzioni di problemi
Dal problema al processo risolutivo
Giordano Scuderi Unico SRL Catania
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
Numeri primi e Crittografia
Informatica per l’Ingegneria
il problema dei problemi
Informatica A.A. 2016/17 Prof. Italo Epicoco
Fisica: lezioni e problemi
I MONOMI.
Le comunicazioni in codice
Le comunicazioni in codice
Rappresentazione dei Numeri
Classe III A A.s – 2012 Programma di Informatica
ElGamal: un protocollo di crittografia a chiave pubblica
Introduzione alla normalizzazione
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Programmare.
Codicfiche Interi Complemento alla base.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Impariamo a conoscere le Matrici
Matrici Definizioni Matrici Rettangolari Quadrate 02/01/2019
Potenze nell’insieme N
Dalle potenze ai numeri binari
Concetti base 1.1.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Codici rilevatori di errori
Sistemi Digitali.
Capitolo 1 Introduzione alla fisica
Corso di Sicurezza – A.A. 2006/07
Algoritmi.
Transcript della presentazione:

NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall’antichità all’era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte III. Crittografia a chiave pubblica il superamento del problema dello scambio delle chiavi Parte IV. Esercitazione di gruppo implementazione di un minisistema crittografico RSA Tutor: Franco Danielli (franco.danielli@tin.it) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 1

PARTE I CRITTOGRAFIA A CHIAVE SIMMETRICA PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 PARTE I CRITTOGRAFIA A CHIAVE SIMMETRICA Introduzione alla Crittografia Concetto di canale di comunicazione Concetto di chiave crittografica Crittografia e Crittoanalisi Codici Monoalfabetici (Codice di Cesare, Analisi delle Frequenze) Codici Polialfabetici (Codice di Vigenére, Codice di Vernam) Crittografia e Computer (DES, AES) Il problema dello scambio delle chiavi Protocollo dei due lucchetti, Protocollo di Diffie-Hellman LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 2

La crittografia è una forma di comunicazione in ambiente ostile PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 La crittografia è una forma di comunicazione in ambiente ostile Ronald Rivest, (la “R” di RSA) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 3

Concetto di CANALE DI COMUNICAZIONE PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Concetto di CANALE DI COMUNICAZIONE Alice (Partner A) Bob (Partner B) Messaggio Canale di comunicazione a distanza Canale di comunicazione Forma tipica del messaggio Corriere privato, Servizio postale Documento scritto Telegrafo Sequenza di impulsi elettrici Telefono Messaggio vocale Radio Emissione di Onde elettromagnetiche Internet (World Wide Web) File binario LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 4

Concetto di SICUREZZA DEL CANALE PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Concetto di SICUREZZA DEL CANALE Canale insicuro Alice (Partner A) Bob (Partner B) 2. Ruolo attivo (ascolto e trasmissione) 1. Ruolo passivo (solo ascolto) Oscar (Opponent) CRITTOGRAFIA (lo “scudo” di Alice e Bob) vs CRITTOANALISI (la “spada” di Oscar) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 5

SISTEMA CRITTOGRAFICO A CHIAVE SIMMETRICA Simboli e definizioni PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 SISTEMA CRITTOGRAFICO A CHIAVE SIMMETRICA Simboli e definizioni Simbolo Definizione Descrizione m messaggio plaintext Messaggio in chiaro che Bob vuole trasmettere ad Alice sul canale insicuro K chiave key Dato segreto condiviso da Alice e Bob (che Oscar non deve assolutamente conoscere) E cifratura encryption Funzione di cifratura operata da Bob: m → c = E(m,K) c crittogramma ciphertext Messaggio cifrato trasmesso da Bob ad Alice sul canale insicuro c = E(m,K) D decifrazione decryption Funzione di decifrazione operata da Alice: c → m = D(c,K) Messaggio in chiaro recuperato da Alice: m = D(c,K) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 6

E D SISTEMA CRITTOGRAFICO A CHIAVE SIMMETRICA Schema a blocchi chiaveK PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 SISTEMA CRITTOGRAFICO A CHIAVE SIMMETRICA Schema a blocchi chiaveK chiaveK messaggio in chiaro m messaggio recuperato m = D (c, K) crittogramma: c = E (m, K) E (encryption) D (decryption) Canale insicuro Cifratura (Bob) Decifrazione (Alice) NB: la sicurezza del sistema crittografico è la segretezza della chiave K. Gli algoritmi E, D si suppongono di dominio pubblico. Strategie di Crittoanalisi: Ciphertext only Known Plaintext Chosen Plaintext c: ??? Intercettazione (Oscar) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 7

Esempio di Sistema Crittografico a Chiave Simmetrica: CODICE DI CESARE PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Esempio di Sistema Crittografico a Chiave Simmetrica: CODICE DI CESARE Traslazione alfabetica di K posti (K = chiave) Cifratura: Decifrazione: c = E(m,K) = m = D(c,K) = = (m + K) mod 26 = (c – K) mod 26 Alfabeto cifrante del Codice di Cesare per K = 5: Testo da trasmettere: “ Veni, vidi, vici. Julius Caesar ” La chiave è un numero intero K = 1 ÷ 25 LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 8

Generalizzazione del codice di Cesare: CIFRATURA MONOALFABETICA PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Generalizzazione del codice di Cesare: CIFRATURA MONOALFABETICA Permutazione alfabetica Esempio - Tabella di permutazione ( = chiave) di un Codice Monoalfabetico: Testo da trasmettere: “Aprire fuoco di sbarramento” LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 9

CARATTERISTICHE DEI CODICI MONOALFABETICI PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 CARATTERISTICHE DEI CODICI MONOALFABETICI Codice Monoalfabetico Codice di CESARE Generalizzato Funzioni di Encryption, Decryption Traslazione alfabetica Permutazione alfabetica Chiave Un numero intero (1÷25) Una tabella di corri-spondenze di ordine 26 Spazio delle chiavi 25 26!  4 x 1026 Strategie d’attacco Ricerca esaustiva nello spazio delle chiavi (metodo “forza bruta”) Analisi delle Frequenze LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 10

Analisi delle Frequenze: Italiano e Inglese a confronto PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Analisi delle Frequenze: Italiano e Inglese a confronto LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 11

Codici Polialfabetici: il CODICE DI VIGENÈRE PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Codici Polialfabetici: il CODICE DI VIGENÈRE Successione ciclica di L Codici di Cesare (L = lunghezza della chiave K) Blaise de Vigenère Testo da trasmettere: “Attaccheremo all’alba le postazioni nemiche” Chiave: K = “TRINCEA” (blocco di 7 caratteri: L = 7) Ordinamento del plaintext e della chiave, costruzione del crittogramma carattere per carattere: c = (m + K) mod 26 LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 12

Attacco al Codice di Vigenère (1) PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Attacco al Codice di Vigenère (1) Bob ha spedito ad Alice 5 messaggi cifrati col Codice di Vigenère, parola chiave K = “FORMICA”: 1) Oscar ha intercettato i crittogrammi, ed ha evidenziato le stringhe di 3 o più caratteri che si ripetono: EAV, XMBV, AQNT, GLQW, SUJ LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 13

Attacco al Codice di Vigenère (2) PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Attacco al Codice di Vigenère (2) 2) Oscar misura le posizioni relative delle stringhe ripetute, e trova che si tratta di distanze di 7 ovvero 14 posti: deduce che la lunghezza della chiave è di 7 caratteri. 3) Scompone ora i crittogrammi a blocchi di 7 caratteri, e scrive ordinatamente tali blocchi uno sotto l’altro. 4) Applica infine l’Analisi delle Frequenze colonna per colonna (7 volte). I caratteri di ognuna delle 7 colonne sono stati infatti cifrati con lo stesso carattere della chiave. NB. Perché l’attacco riesca, occorre disporre di un numero abbondante di crittogrammi, tutti cifrati con la stessa chiave. Reciprocamente: per contrastare l’attacco, occorre scegliere chiavi lunghe, e cambiarle spesso. LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 14

CODICE DI VERNAM  One –Time – Pad PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 CODICE DI VERNAM  One –Time – Pad Alice e Bob possiedono 2 copie identiche dello stesso blocco “usa e getta” Ogni foglio del blocco contiene una lunga sequenza di caratteri casuali La sequenza viene trattata come la chiave di un Codice di Vigenère: Dopo l’uso (cifratura e decifrazione), Alice e Bob strappano il foglio usato del proprio blocco e lo distruggono Foglio #57 KMWAIDLGMZ LDPMQXKAHI QGSIEMFGZO QDTBDYSMEX PKBUGJRMWJ FHBCOKYZAR ... Blocco #57 KMWAIDLGMZ LDPMQXKAHI QGSIEMFGZO QDTBDYSMEX PKBUGJRMWJ FHBCOKYZAR ... Blocco #57 KMWAIDLGMZ LDPMQXKAHI QGSIEMFGZO QDTBDYSMEX PKBUGJRMWJ FHBCOKYZAR ... Blocco #57 KMWAIDLGMZ LDPMQXKAHI QGSIEMFGZO QDTBDYSMEX PKBUGJRMWJ FHBCOKYZAR ... Esempio: cifratura: c = (m+K) mod 26; decifrazione: m = (c-K) mod 26 LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 15

Sicurezza del Codice di Vernam PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Sicurezza del Codice di Vernam Oscar ha intercettato il seguente crittogramma sul canale insicuro: Ipotizzando che la chiave sia K1, Oscar trova un possibile plaintext: Se invece la chiave fosse K2, Oscar troverebbe un altro plaintext, di significato opposto: Chiavi diverse, ma tutte legittime nel Codice di Vernam, hanno dato luogo a decifrazioni leggibili ma incoerenti come significato. Conclusione: nemmeno il metodo di ricerca “forza bruta” nello spazio delle chiavi può aiutare il crittoanalista. Nel crittogramma può essere celato qualunque messaggio: il Codice di Vernam è intrinsecamente sicuro! LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 16

CARATTERISTICHE DEI CODICI POLIALFABETICI PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 CARATTERISTICHE DEI CODICI POLIALFABETICI Codice Vigenère Vernam (One-Time-Pad) Funzioni di Encryption, Decryption Somma/differenza modulo 26 Somma/differenza modulo 26 Chiave Una parola di L caratteri diversi Una sequenza di caratteri casuali lunga come il messaggio (n caratteri) Spazio delle chiavi 26! (26 - L)! 26n (n = lunghezza messaggio) Strategie d’attacco Analisi delle frequenze (una volta noto L) Nessuna: il codice è intrinsecamente sicuro LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 17

Rappresentazione a computer dei caratteri standard: PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Rappresentazione a computer dei caratteri standard: Codice ASCII (American Standard Code for Information Interchange) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 18

PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Codice ASCII: rappresentazione decimale e binaria di printable characters Printable Character Codice ASCII decimale Codice ASCII binario A 65 01000001 a 97 01100001 3 51 00110011 ! 33 00100001 @ 64 01000000 LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 19

Sistemi crittografici moderni a chiave simmetrica PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Sistemi crittografici moderni a chiave simmetrica DES (Data Encryption Standard - 1977) AES (Advanced Encryption Standard - 2001) Schema a blocchi del sistema K A B  C round #1 A  B C round #16 rounds #2÷15 m c1 c15 c16 Cifratura Decifrazione A: trattamento con la chiave (somma binaria) B: trasposizione (rimescolamento) C: permutazione di righe e colonne LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 20

Sistemi crittografici DES/AES: PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Sistemi crittografici DES/AES: suddivisione in blocchi del messaggio e codifica binaria ASCII LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 21

PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Il problema della Crittografia a Chiave Simmetrica: lo scambio delle chiavi Alice Canale insicuro Bob Alice ha creato la chiave del sistema e la trasmette a Bob Quesito: si può evitare lo scambio delle chiavi? Se Oscar riesce ad intercettare la trasmissione della chiave, la sicurezza del sistema crittografico è totalmente compromessa! Oscar LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 22

W.Diffie e M.Hellman: i padri della Crittografia moderna PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 W.Diffie e M.Hellman: i padri della Crittografia moderna Stanford University, 1976 Martin Hellman Whitfield Diffie LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 23

× × × × Protocollo dei due lucchetti BOB ALICE 1 2 3 PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Protocollo dei due lucchetti BOB ALICE Crea il messaggio Lo mette nella scatola Chiude con un lucchetto Spedisce ad Alice 1 × 2 Aggiunge alla scatola un altro lucchetto Rispedisce a Bob × × 3 Toglie dalla scatola il proprio lucchetto Rispedisce ad Alice × Risultato: Non c’è stato alcuno scambio di chiavi Il messaggio è sempre stato protetto Toglie il suo lucchetto Apre la scatola Recupera il messaggio LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 24

Considerazioni sul Protocollo dei due lucchetti PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Considerazioni sul Protocollo dei due lucchetti Anche senza scambio di chiavi, il protocollo dei due lucchetti ha garantito la riservatezza del messaggio fra Alice e Bob. Tuttavia: Il messaggio ha fatto 3 viaggi (invece di uno), ed è stato soggetto a 4 manipolazioni (invece di 2)  problema di ridondanza Gli algoritmi di cifratura e decifrazione (E, D) creati dai due partners devono essere commutativi (in generale ritenuti più deboli)  problema di efficienza Oscar potrebbe impadronirsi facilmente del messaggio spacciandosi per il legittimo destinatario: occorre sviluppare contromisure a questo tipo di attacco  problema di sicurezza Per questi motivi, il Protocollo dei due lucchetti non è mai stato implementato sul campo, ma resta comunque un modello concettuale importante verso la soluzione del problema dello scambio delle chiavi. LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 25

Concetto di FUNZIONE UNIDIREZIONALE PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Concetto di FUNZIONE UNIDIREZIONALE Esistono operazioni e procedure che sono molto facili da eseguire in un senso, ma estremamente complicate o addirittura impossibili in senso inverso. Ad esempio, se si mescolano due colori diversi, se ne otterrà sempre un terzo (operazione facile), ma dato un qualunque colore ottenuto per mescolamento, sarà impossibile separarne i colori costituenti: Ancora, in Aritmetica è facile calcolare il prodotto di due fattori, anche se molto grandi; viceversa, dato un grande numero composto, può essere faticoso, anche disponendo di un calcolatore, scomporlo in fattori: 333.331 x 498.761 166.252.502.891 LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 26

Concetto di Complessità Computazionale di un algoritmo PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Concetto di Complessità Computazionale di un algoritmo cronometro Schema di calcolo: T(A) Computer input = n output = A(n) n = argomento (esempio: n ≈ 5.000.000.000) L(n) = numero di cifre di n (esempio: L(n) = 10) A(n) = algoritmo di calcolo di argomento n T(A) = tempo impiegato dal computer ad eseguire il calcolo dove Se T(A) = f (L(n))  allora l’algoritmo A(n) si dice efficiente, ovvero a tempo polinomiale Se T(A) = f (n)  allora l’algoritmo A(n) si dice inefficiente, ovvero a tempo esponenziale Se T(A) ≈ mesi/anni si dice anche che il problema A(n) è intrattabile LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE III 27

Esempio: Complessità Computazionali a confronto PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Esempio: Complessità Computazionali a confronto Algoritmo A: Moltiplicazione input: n1, n2 output: n3 = n1 · n2 n1, n2 1010 L(n1)·L(n2) 100 T(A) 1 ms 1020 400 4 ms 1030 900 9 ms 1040 1.600 16 ms Alg. B: Fattorizzazione (per tentativi) input: n3; output: n1, n2 con n1 · n2 = n3 n3 1010  n3 105 T(B) 1 ms 1020 1010 1,7 min 1030 1015 116 d 1040 1020 >30.000 y L’algoritmo A (Moltiplicazione) è efficiente (a tempo polinomiale) L’algoritmo B (Fattorizzazione) è inefficiente (a tempo esponenziale) La Fattorizzazione diventa rapidamente un problema intrattabile LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE III 28

Funzione unidirezionale PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Funzioni unidirezionali in Crittografia Supponiamo che Alice, Bob, Oscar vivano in un mondo in cui si sanno moltiplicare fra di loro fattori comunque grandi, ma non si è capaci di eseguire in tempi ragionevoli alcuna divisione: 331 x 47 = 15.557 moltiplicazione: tutti sanno calcolare il prodotto 15.557 : 47 = ??? divisione: nessuno è capace di calcolare il quoziente In questo ipotetico mondo, la moltiplicazione è una Funzione unidirezionale LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 29

PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Schema concettuale del Protocollo di Diffie-Hellman Generazione della chiave senza scambio ALICE BOB Alice sceglie un numero casuale N e lo trasmette a Bob sul canale insicuro: N = 37 Bob riceve da Alice il numero N = 37 N = 37 α = 555 Alice sceglie un proprio numero segreto A = 15, lo moltiplica per N, trasmette a Bob il prodotto α = A·N = 555 Bob sceglie un proprio numero segreto B = 23, lo moltiplica per N, trasmette ad Alice il prodotto  = B·N = 851  = 851 Alice moltiplica il dato  ricevuto da Bob per il proprio numero segreto A: K = A ·  = 12.765 Bob moltiplica il dato α ricevuto da Alice per il proprio numero segreto B: K = B · α = 12.765 Scambiandosi sul canale insicuro i dati N, α, , Alice e Bob hanno ottenuto il medesimo numero K = A·B·N unicamente con operazioni di moltiplicazione (che sanno calcolare). K sarà la chiave segreta del loro sistema crittografico. LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 30

Protocollo di Diffie-Hellman: Crittoanalisi e Funzione unidirezionale PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Protocollo di Diffie-Hellman: Crittoanalisi e Funzione unidirezionale OSCAR Oscar ha intercettato sul canale insicuro i dati N = 37, α = 555,  = 851 Oscar è a conoscenza del fatto che la chiave è K = A·B·N, quindi gli servono i numeri segreti A e B Oscar sa anche che α = A·N,  = B·N Per procurarsi A, B Oscar dovrebbe essere capace di eseguire le divisioni A = α / N, B =  / N  cosa che, per ipotesi, nel suo mondo nessuno sa fare Conclusione: L’applicazione di una funzione unidirezionale ha permesso ad Alice e Bob di costruirsi in sicurezza la loro chiave, scambiandosi solo dati parziali di nessuna utilità per Oscar LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 31

ARITMETICA MODULARE Funzioni unidirezionali in Crittografia PROGETTO LAUREE SCIENTIFICHE – A.A. 2012/13 Funzioni unidirezionali in Crittografia Elevazione a potenza modulo n Funzione diretta: dati: a, b, n  Z = ab mod n OK Funzione inversa: dati: a, Z, n  b = (loga Z) mod n ??? Funzione inversa: dati: b, Z, n  a = (b√ Z ) mod n ??? ARITMETICA MODULARE in questa disciplina matematica la Crittografia moderna ha trovato le funzioni unidirezionali utili alla soluzione dei problemi: Generazione delle chiavi senza scambio (Diffie-Hellman 1976) Implementazione della Crittografia a chiave pubblica (RSA: Rivest-Shamir-Adleman 1978) LABORATORIO NUMERI PRIMI E CRITTOGRAFIA – PARTE I 32