La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Crittografia moderna: i principali algoritmi

Presentazioni simili


Presentazione sul tema: "Crittografia moderna: i principali algoritmi"— Transcript della presentazione:

1 Crittografia moderna: i principali algoritmi

2 Introduzione Dal greco kryptos (nascosto) nascono i due concetti chiave di questo studio: la crittografia, ovvero l’arte di cifrare i messaggi, e la crittoanalisi, quella di svelare i messaggi nascosti.

3 Storia della crittografia
La crittografia come modifica volontaria del testo esisteva già al tempo degli Egiziani nel 1900 a.C. Un esempio astuto è il metodo attraverso cui il re spartano Agide comunicava con i generali: questi avvolgeva a spirale una striscia di cuoio attorno ad un bastoncino cilindrico di legno detto scitale e poi vi scriveva longitudinalmente: una volta srotolata, la striscia di cuoio risultava un insieme di lettere senza senso.

4 Storia della crittografia
Un importante passo in avanti nello sviluppo della crittografia venne fatto da Giulio Cesare (100 – 44 a.C.). Il Cifrario di Cesare è un esempio molto semplice di cifrario a sostituzione; il suo funzionamento consiste nel sostituire ciascuna lettera del testo-in-chiaro con quella che la segue N posizioni più avanti nell’alfabeto; il numero N costituisce dunque la chiave segreta di cifratura. Dal punto di vista matematico, se si fa corrispondere ad ogni lettera un numero (A=1, B=2, ...), l’algoritmo è semplicemente una somma per N modulo 26.

5 Storia della crittografia
Per molti secoli si ritenne che la cifratura monoalfabetica fosse inviolabile, ma nel 750 la civiltà islamica raggiunse un livello culturale e scientifico sufficiente per scoprire che era possibile violare in tempi brevi la crittografia per sostituzione. Infatti se si analizza statisticamente un testo, si può notare che alcune lettere sono presenti con una frequenza maggiore rispetto ad altre, o in generale che ogni lettera tende ad avere una propria frequenza che la caratterizza. Ad esempio, nella lingua italiana moderna, la lettera più frequente è la e, quindi la a e a seguire la i.

6 Storia della crittografia
Frequenza delle lettere nei testi in italiano Lettera Frequenza A 11.74 H 1.54 Q 0.51 B 0.92 I 11.28 R 6.37 C 4.50 L 6.51 S 4.98 D 3.73 M 2.51 T 5.62 E 11.79 N 6.88 U 3.01 F 0.95 O 9.83 V 2.10 G 1.64 P 3.05 Z 0.49

7 Storia della crittografia
Uno dei primi a sviluppare l’idea di cifrature polialfabetiche fu Leon Battista Alberti con il suo disco cifrante: questo sistema permetteva infatti di cambiare alfabeto ad ogni lettera, evitando così l’analisi di frequenza. Questa idea fu poi codificata meglio da Blaise de Vigenère. Ma Charles Babbage dimostrò che aveva almeno due debolezze: la ripetitività con la quale viene impiegata più volte la chiave, e le ricorrenze statistiche e prevedibili delle lettere. Infine nel 1925 William Freedman trovò il metodo per risalire alla lunghezza della chiave nell’algoritmo di Vigenère e conseguentemente per riuscire a decodificare il messaggio.

8 Storia della crittografia: cilindro di Jefferson
Risale invece al XVIII il codice di Jefferson, esso prende il nome dal suo inventore Thomas Jefferson ( ), autore della Dichiarazione d’Indipendenza e presidente degli USA nel mandato del 1801. Il codice di Jefferson era un metodo di cifratura meccanico e cioè basato su di una macchina; questa macchina consiste in un cilindro di circa 15 cm di lunghezza e 4 cm di larghezza montato su un asse e sezionato in 36 dischi uguali (25 nella versione poi utilizzata dagli Americani). Sul bordo di ruota sono scritte le 26 lettere dell’alfabeto, equidistanti l’una dall’altra. L’ordine in cui sono disposte le varie lettere non corrisponde a quello naturale e varia da ruota a ruota.

9 Storia della crittografia: cilindro di Jefferson
Il messaggio in chiaro deve essere cifrato a blocchi di 36 lettere ciascuno (qualora l’ultimo blocco presenti meno di 36 lettere, esso deve essere completato con lettere nulle); la chiave di cifra è un numero che va da 1 a 25. Come quasi tutti i metodi di cifratura anche il cilindro di Jefferson ha un grave difetto che ricorda quello che “minava” il codice di Cesare: poiché le chiavi sono solo venticinque se il cilindro cade nelle mani del nemico il crittogramma può essere facilmente risolto.

10 Storia della crittografia: codice perfetto
Nel 1918 il maggiore Joseph Mauborgne, capo delle ricerche crittografiche dell’Esercito degli Stati Uniti, introdusse il concetto di chiave casuale, cioè di una chiave formata da una serie di lettere che si succedono senza alcun ordine. La sua intenzione era utilizzare questo tipo di chiave nell’ambito del sistema di Vigenère, per raggiungere un livello di sicurezza senza precedenti. Il primo passo del sistema di Mauborgne consisteva nel preparare un’alta pila di centinaia di fogli di carta. Ciascun foglio conteneva una chiave diversa, sotto forma di righe dopo righe di lettere in successione casuale. La pila andava realizzata in due esemplari identici, uno per il mittente, l’altro per il destinatario.

11 Storia della crittografia: codice perfetto
Per crittare il messaggio, il mittente avrebbe effettuato una cifratura di Vigenère usando il primo foglio come chiave. Il destinatario può ripristinare facilmente il testo originale usando la stessa chiave e invertendo la cifratura di Vigenère. Una volta che il messaggio sia stato inviato, ricevuto e decifrato, mittente e destinatario distruggono il foglio dal quale hanno tratto la chiave, in modo che non sia riutilizzato. Per generare e tradurre il crittogramma seguente, essi usano il foglio successivo, che a sua volta è distrutto dopo l’uso, e così via. Poiché i fogli delle chiavi formano un blocco, e vengono usati solo una volta, questo sistema crittografico è chiamato cifratura a blocco monouso, o one-time pad chipher. Questo sistema elimina tutti i punti deboli fin qui riscontrati, in quanto una chiave casuale non ha ripetizioni.

12 Storia della crittografia: macchine cifranti
Agli inizi del 1900 dunque da una parte stava nascendo la necessità di potere usufruire di una crittografia sicura ma anche e soprattutto veloce e facilmente utilizzabile e dall’altra era in atto un consistente miglioramento delle conoscenze tecniche e scientifiche; tutto ciò portò alla nascita delle prime macchine cifranti. La prima fu quella inventata nel 1891 dal comandante Bazeries, seguita a ruota dallo “scotografo” realizzata dal colonnello italiano Ducros; la più famosa di queste macchine è sicuramente Enigma, inventata nel 1918 dall’ingegnere elettrotecnico Arthur Scherbius

13 Storia della crittografia: II guerra mondiale
La crittografia assunse così un ruolo da protagonista nella Seconda Guerra Mondiale. Da una parte Enigma, la famosa macchina cifrante dei tedeschi. Dall’altra Turing e la sua squadra di matematici e crittoanalisti inglesi. Questo è un retroscena della guerra che venne a lungo taciuto: la guerra segreta.

14 Storia della crittografia: Enigma

15 Storia della crittografia: Enigma

16 Storia della crittografia: Enigma
La versione originale di Enigma, la più famosa delle macchine cifranti, consisteva in diverse parti: una tastiera, da cui si inseriva il testo da cifrare o da decifrare; un’unità scambiatrice, in cui sono si trovano i rotori, grazie ai quali le lettere venivano cifrate; un pannello a prese multiple, per rendere ancora più sicuro il sistema di decifrazione; un riflessore, che permetteva di chiudere il circuito e di decifrare i messaggi inviati da altri tedeschi; un visore fornito di tante lampadine quante sono le lettere; ogni volta che si premeva un tasto sulla tastiera (veniva quindi inserita una lettera del testo-in-chiaro) il segnale elettrico veniva elaborato dalla macchina e faceva accendere una lampadina sul visore (corrispondente alla lettera cifrata).

17 Storia della crittografia: Enigma - Scambiatore
Pannello a prese multiple posto tra tastiera e primo rotore. Permetteva di inserire alcuni cavi muniti di spinotti, che avevano l’effetto di scambiare due lettere prima della loro immissione nel rotore Collegando attraverso uno spinotto la coppia di lettere Q e R, la corrente che rappresenta la Q in entrata rappresenta poi la R in uscita. Digitando Q sulla tastiera, la sua cifratura sarà la cifratura di R.

18 Storia della crittografia: Enigma - Rotori
Un rotore si può rappresentare come una coppia di alfabeti: Faccia 1: EKMFLGDQVZNTOWYHXUSPAIBRCJ Faccia 2: ABCDEFGHIJKLMNOPQRSTUVWXYZ La lettera “A” sarà collegata con “E” e così via.

19 Storia della crittografia: Enigma - Rotori
Ogni volta che si premeva un tasto il primo rotore avanzava di una tacca: passavano dunque 26 digitazioni prima che questo tornasse alla posizione di partenza. Ma, accaduto questo, il secondo rotore scalava di una tacca e il primo ricominciava un nuovo giro: quando questo veniva completato il secondo rotore scalava di un’altra tacca e così via. La versione di Enigma della Marina Tedesca disponeva di ben 4 rotori e questo aumentava ulteriormente la sicurezza: erano infatti necessarie 264 = digitazioni prima che una lettera venisse crittata alla stessa maniera.

20 Storia della crittografia: Enigma
Ogni giorno la macchina Enigma doveva essere impostata in maniera uniforme in tutti i centri tedeschi per far sì che i messaggi potessero essere inviati e letti in pochissimo tempo. Per questo ogni operatore di Enigma era in possesso di un “libretto dei codici” che stabiliva le impostazioni (non tutte però) giorno per giorno. Nel libretto dei codici veniva indicato quali rotori usare ed in quale ordine ma non, ad esempio, lettera da cui far partire il rotore. I parametri non definiti nel Code Book erano modificati ogni mattina: questi avrebbero dovuto essere ogni volta diversi ma in realtà si ripetevano spesso e questo non faceva che aiutare il lavoro di decifrazione degli Alleati: doveva ad esempio essere scelta la lettera iniziale per ogni rotore che, per pigrizia, spesso coincideva con le prime tre lettere sulla tastiera (Q, W, E).

21 Storia della crittografia: Enigma - Rotori
Tutto questo non faceva che avvicinare, almeno nella teoria, Enigma a un One-Time Pad; in realtà i diversi errori dei tedeschi e la loro ingenuità permisero agli Alleati di arrivare a decifrare una piccola ma importantissima parte dei loro messaggi. La Seconda Guerra Mondiale non venne solamente combattuta con le armi, le bombe e i soldati ma anche con la crittografia, la matematica e i crittoanalisti: è questo un aspetto della guerra che è rimasto segreto e taciuto per molti anni; ma neanche oggi siamo a conoscenza di cosa esattamente avvenne e di quali e quanti uomini vennero impiegati per questa guerra lontana dai campi di battaglia.

22 Verso la crittografia moderna
Intanto nel 1883 Kerckhoffs pubblica La Cryptographie Militaire ove enuncia il principio di separazione tra chiave ed algoritmo (Principio di Kerkchoffs): “La sicurezza di un sistema crittografico è basata esclusivamente sulla conoscenza della chiave; in pratica si presuppone noto a priori l’algoritmo di cifratura e decifratura”.

23 Verso la crittografia moderna
Shannon nel 1948 pubblicò “A Mathematical Theory of Communication”, un articolo destinato a fare epoca. L’idea geniale di Shannon fu che il contenuto di un’informazione non ha nulla a che vedere col contenuto del messaggio, ma col numero di 0 e 1 necessari per trasmetterlo. Per anni la regola generale era stata di creare algoritmi semplici e di impiegare chiavi molto lunghe per rendere indecifrabile il messaggio. Ma la potenza di calcolo raggiunta minava questa concezione di crittografia: essa stava volgendo rapidamente verso nuove “regole guida” che avrebbero portato alla crittografia moderna.

24 Crittografia moderna la chiave deve essere il più breve possibile,
Partiamo dal considerare le proprietà che dovrebbe possedere una chiave segreta per poter essere realisticamente utilizzata: la chiave deve essere il più breve possibile, la chiave deve poter essere riutilizzata più volte, la chiave non può essere perfettamente casuale. Dunque l’onere del garantire la sicurezza passa all’algoritmo che deve essere complicato in quanto deve cercare di generare testi casuali utilizzando un algoritmo deterministico e partendo dal testo in chiaro e da una chiave segreta.

25 Crittografia moderna f è facile da calcolare;
Uno dei concetti su cui si basa la crittografia moderna è quello di One-way-trapdoor function. Cioè una funzione matematica f, utilizzata per cifrare i dati,con le seguenti 3 proprietà: f è facile da calcolare; f è praticamente impossibile (matematicamente parlando) da invertire, ovvero calcolare nella direzione inversa; f è facile da invertire se si conosce una informazione ulteriore, una chiave segreta (trapdoor).

26 DES: storia Nel 1972 negli Stati Uniti il National Bureau of Standard (NBS) - una parte dell US Department of Commerce - iniziò un programma per la stesura di uno standard per la protezione dei dati. L’Institute for Computer Science and Tecnology (ICST), una delle maggiori unità operative dell’NBS, produsse delle linee guida e degli standard. Fu scelto uno standard che richiedeva specificazioni complete di funzioni di base e suoi formati, mantenendo comunque l’indipendenza dall’implementazione fisica. Fu così definito l’ambiente in cui verrà sviluppato il sistema che poi diventerà il DES (Data Encryption Standard).

27 DES: storia La pubblicazione del 15 Maggio 1973 suggeriva dei requisiti che lo standard doveva possedere: un alto grado di sicurezza; specifica completa e semplicità di comprensione; segretezza basata sulla chiave e non sull’algoritmo; disponibilità per tutti gli utenti; adattabilità per diverse applicazioni; implementabilità economica su dispositivi differenti; efficienza; possibilità di essere certificato; esportabilità.

28 DES: storia L’IBM sottomise il suo algoritmo all’NBS il 27 Agosto L’NBS chiese che fosse la National Security Agency (NSA) a testare l’algoritmo riguardo ad un insieme informale di requisiti. Contemporaneamente richiese che l’IBM accordasse diritti non esclusivi e senza copyright per costruire e vendere apparecchiature che implementassero l’algoritmo. Nel 1975, nonostante le pressioni, l’NBS continuò a valutare l’algoritmo, le richieste di sicurezza nel settore pubblico e privato e le alternative allo standard. Nell’ottobre dello stesso anno Hellman presentò le sue critiche asserendo che, a dispetto delle 256 chiavi necessarie per un attacco a forza bruta dell’ algoritmo, la metà di esse avrebbe permesso in media la violazione di DES.

29 DES: storia Per questo motivo l’NBS organizzò due workshop allo scopo di analizzare eventuali tranelli e punti oscuri dell’algoritmo, e per valutare la possibilità di incrementare la lunghezza della chiave. Ai workshop vennero invitati implementatori, progettisti, acquirenti e matematici affinché si potesse dar vita ad uno standard che soddisfacesse tutte le richieste da parte degli addetti ai lavori. Il risultato fu la approvazione di DES come standard il cui algoritmo non presentava alcun tipo di tranello. L’NBS evidenziò, tuttavia, la necessità di rivedere il DES periodicamente. L’NBS continuò a valutare l’algoritmo DES che venne pubblicato definitivamente il 15 gennaio 1977.

30 DES: storia Successivamente l’RSA Data Security (fondata nel 1982 da Rivest, Shamir e Adleman, gli autori dell’RSA), indisse delle vere e proprie gare, dette challenges, per rompere il DES. Tale società offriva dollari a chi per primo rompeva la sua challenge a patto che venisse rotta entro il 25% del miglior tempo precedente. nel Luglio del 1997 furono impiegati 39 giorni e fu testato il 24% di tutte le possibili chiavi; nel Luglio del 1998 una società Americana, l’EFF, spendendo dollari riuscì a costruire una macchina per rompere il DES impiegando solo 56 ore; nel Gennaio 1999 sono stati impiegati 22 ore e 15 minuti testando 245 miliardi di chiavi per secondo.

31 DES: funzionamento … … CHIAVE SCHEDULAZIONE CHIAVI ITERAZIONE 16
TESTO IN CHIARO CHIAVE 64 bit IP 56 bit ITERAZIONE 1 SCHEDULAZIONE CHIAVI 64 bit 48 bit ITERAZIONE 16 64 bit SCAMBIO DX SX 64 bit TESTO CIFRATO

32 DES: IP Sia x una stringa binaria di testo in chiaro lunga 64 bit. L’algoritmo costruisce una stringa binaria x0 di 64 bit tramite la permutazione iniziale fissata IP: X0=IP(x)=L0 R0. Dove L0 e R0 sono due stringhe binarie che comprendono rispettivamente i primi e gli ultimi 32 bit della stringa x0.

33 DES: i-esima iterazione

34 DES: funzione f

35 DES: E e P

36 DES: S-box Dato Bi (l’input a 6 bit dell’S-box Si), il primo e l’ultimo bit di Bi vengono interpretati come indice di riga, mentre i bit centrali come indice di colonna. Si consulta la tabella Si alle coordinate prescritte e il valore in uscita dall’S-box è l’equivalente binario del decimale trovato.

37 DES: S-box

38 DES: schedulazione delle chiavi

39 DES: schedulazione delle chiavi
LS1 è uno shift ciclico a sinistra di una o due posizioni a seconda del valore di i (lo shift riguarda una sola posizione alle iterazioni 1, 2, 9 e 16 e due posizioni a tutte le altre iterazioni).

40 DES: weak key Una weak key DES è una chiave k tale che Ek(Ek(x))=x per tutti gli x, il che equivale a dire che è un’involuzione.

41 DES: semi-weak key Una coppia di semi-weak key DES è una coppia (h,k) tale che Eh(Ek(x))=x per ogni x.

42 Cifratura a blocchi ECB. I dati vengono suddivisi in blocchi di 64 bits ed ogni blocco viene cifrato singolarmente indipendentemente dal precedente. CBC. In questa modalità, ogni blocco di testo, dopo essere stato cifrato in modalità ECB, viene sottoposto ad un ulteriore operazione di xor con il successivo blocco ancora da cifrare. CFB/OFB. Questa modalità permette di cifrare blocchi in chiaro inferiori a 64 bits. Il testo in chiaro viene sottoposto ad un’operazione di xor con i dati uscenti dall’algoritmo, generati utilizzando inizialmente un blocco casuale di 64 bits, chiamato Shift Register. CTR. A ciascun blocco del testo in chiaro viene applicato uno xor con un contatore crittografico.

43 TDES E’ altamente improbabile che, per una coppia di chiavi (k, h) esista una chiave t tale che, per ogni testo in chiaro x Da questo risultato nasce l’algoritmo Triplo DES: Lo svantaggio è che risulta meno efficiente del DES singolo di un fattore 3. Coppersmith ha osservato però che un attacco di forza bruta per la ricerca della chiave è dell’ordine di 2112 = 5×1035 .

44 AES Il 2 gennaio 1997 il National Institute of Standards and Technology (ex NBS) propose un bando per la realizzazione del nuovo algoritmo di cifratura a blocchi: l’Advanced Encryption Standard (AES). I requisisti del nuovo standard erano molto restrittivi. Doveva essere un algoritmo a blocchi, doveva gestire chiavi di 128, 192 e 256 bit. Doveva essere sicuro, veloce sia in hardware che in software e funzionare anche con apparecchiature come le smartcard. Quindici diversi algoritmi vennero presentati da partecipanti provenienti da sette nazioni. Il 2 ottobre 2000, il NIST ha annunciato che Rijndael era stato selezionato per diventare la base dell’AES.

45 AES AES opera utilizzando matrici di 4×4 byte chiamate Stati (States). ogni round (fase) dell’AES (eccetto l’ultimo) consiste nei seguenti quattro passaggi: SubBytes: sostituzione non lineare di tutti i byte che vengono rimpiazzati secondo una specifica tabella. ShiftRows: spostamento dei byte di un certo numero di posizioni dipendente dalla riga di appartenenza. MixColumns: combinazione dei byte con un operazione lineare, i byte vengono trattati una colonna per volta. AddRoundKey: ogni byte della tabella viene combinato con la chiave di sessione, la chiave di sessione viene calcolata dal gestore delle chiavi. Tranne l’ultimo round in cui si salta il MixColumns.

46 IDEA IDEA (International Data Encryption Algorithm) è nato nel 1991sotto il nome di IPES (Improved Proposed Encryption Standard), ed è stato progettato da due famosi ricercatori in Svizzera: Xuejja Lai e James L. Massey. Come il DES è un codice cifrato a blocchi di 64 bit, la differenza sta nel fatto che questa volta la chiave è di 128 bit. La cifratura con IDEA comporta una divisione del blocco di 64 bit del testo normale in 4 sottoblocchi di 16 bit. Ogni sottoblocco subisce 8 passi in cui sono coinvolte 52 sottochiavi diverse a 16 bit ottenute dalla chiave a 128 bit. Le sottochiavi sono generate in questo modo.

47 IDEA La chiave a 128 bit è divisa in 8 blocchi di 16 che costituiscono le prime 8 sottochiavi . Le cifre della chiave a 128 sono spostate di 25 bit a sinistra in modo da generare una nuova combinazione, il cui raggruppamento ad 8 bit fornisce le prossime 8 sottochiavi . Il secondo passo è ripetuto finché non sono generate tutte le 52 sottochiavi. IDEA è al momento il cifrario a chiave segreta più utilizzato per quanto riguarda i software commerciali di crittografia vista la sua velocità di codifica e decodifica e la sua elevata sicurezza.

48 Scambio chiavi Sebbene sono ormai disponibili diversi sistemi di cifratura sufficientemente sicuri, permane un altro problema: la distribuzione delle chiavi. Prima di poter comunicare, infatti, è necessario stabilire una chiave comune con cui i messaggi verranno cifrati e decifrati, ma la distribuzione della chiave spesso presenta notevoli problemi. Per concordare una chiave con il proprio interlocutore c’è bisogno di mettersi preventivamente in contatto con lui. Se lo scambio della chiave avviene tramite un canale non sicuro, anche i messaggi che verranno cifrati con essa sono soggetti a intercettazione e decifrazione.

49 Due lucchetti Alice mette il messaggio in una valigetta e la chiude con un lucchetto, la chiave del lucchetto resta in mano ad Alice. Bob riceve la valigetta, che ovviamente nessuno ha potuto aprire poiché chiusa con il lucchetto di Alice, nemmeno Bob può aprire la valigetta, ma può aggiungere pure lui un lucchetto e tenere la chiave con sé Quindi Bob rispedisce indietro la valigetta, che ora ha due lucchetti, ad Alice la quale non può rimuovere il lucchetto di Bob ma può togliere quello che lei ha inizialmente messo. La valigetta, che ora ha solo un lucchetto, viene rispedita a Bob che può agevolmente togliere il lucchetto (il suo) e leggere il messaggio contenuto nella valigetta

50 Diffie-Hellman Il metodo di Diffie-Hellman si basa sulla presunta difficoltà del logaritmo discreto ed opera in questo modo. Alice e Bob scelgono di comune accordo due numeri: un numero primo grande p e un'altro numero d (che deve rispettare alcune restrizioni, tra le quali d < p). Alice sceglie un numero intero a minore di p e trasmette a Bob il valore da (mod p). Bob sceglie un numero intero b minore di p e trasmette ad Alice il valore db (mod p). Alice calcola dab (mod p) = (db (mod p))a (mod p). Bob calcola dab (mod p) = (da (mod p))b (mod p).

51 Diffie-Hellman La chiave che entrambi devono usare è dab, in quanto è uguale per entrambi e solo loro hanno questo risultato. Una terza persona potrebbe aver intercettato le comunicazioni di Alice e Bob, e quindi avere a disposizione da (mod p) e db (mod p) ma con questi valori non è in grado di calcolare in modo rapido dab (mod p). Poiché la generazione della chiave è affidata sia ad Alice sia a Bob entrambi devono essere disponibili ogni volta che viene creata una chiave: ciò non sempre è possibile o conveniente. Fu così che Diffie non si accontentò ma continuò la ricerca di un metodo meno macchinoso di quello già trovato.

52 Massey–Omura Tutti gli utenti di questo crittosistema scelgono di comune accordo un numero primo grande p, che viene reso pubblico. Ciascun utente poi sceglie due interi d ed e con la proprietà che de = 1 (mod (p-1)). L’utente A sceglierà dunque da ed ea e B sceglierà db ed eb. Se A vuole spedire a B il messaggio M A calcola M1=Mda (mod p) e lo spedisce a B (A mette il suo lucchetto), B calcola M2=M1db (mod p) e lo spedisce ad A (B mette il suo lucchetto), A calcola M3=M2ea (mod p) e lo spedisce a B (A toglie il suo lucchetto) B calcola M3=M2eb (mod p) e questo coincide con M.

53 due primi titanici p, q, calcola N = pq e
RSA Vediamo schematicamente come un utente A può mandare un messaggio segreto a B usando il metodo RSA. Innanzitutto B sceglie in modo casuale: due primi titanici p, q, calcola N = pq e due naturali d ed e, l’uno inverso dell’altro modulo Cioè tali che Poi rende noti N ed e: questo forma la sua chiave pubblica. Tiene invece gelosamente segreto d: la sua chiave privata.

54 RSA L’utente A per mandare un messaggio a B compie allora le seguenti operazioni: eleva ogni unità del messaggio, a, ad e modulo N invia a B ogni unità b così ottenuta. Per decodificare il messaggio B calcola

55 RSA Ciò che ottiene B è proprio M grazie ad un classico teorema di Fermat-Eulero, che in questo caso, afferma che: Infatti da si ha che da cui


Scaricare ppt "Crittografia moderna: i principali algoritmi"

Presentazioni simili


Annunci Google