La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione su: Introduzione alla crittografia Corso di Codici Lineari.

Presentazioni simili


Presentazione sul tema: "Lezione su: Introduzione alla crittografia Corso di Codici Lineari."— Transcript della presentazione:

1 Lezione su: Introduzione alla crittografia Corso di Codici Lineari

2 è oggi il modo più semplice, comodo e veloce di inviare e trasmettere informazioni. Un esperto informatico non ha molte difficoltà nellintercettare, leggere e a volte modificare dati che passano da un computer ad un altro. Abbiamo problemi seri quando i dati intercettati contengono informazioni riservate come numeri di carte di credito, password e ogni altro tipo di messaggio segreto! INTERNET

3 Sono al momento immaginabili nuove tecnologie che impediscano ai pirati informatici lintercettazione di informazioni riservate? La risposta è NO! CONCLUSIONE: Non possiamo difenderci usando lhardware. Cerchiamo di farlo usando il software! CONCLUSIONE: Non possiamo difenderci usando lhardware. Cerchiamo di farlo usando il software!

4 Come si nascondono le informazioni riservate? funzioni unidirezionali Questo si può fare con le funzioni unidirezionali cifrare testo in chiaro testo cifrato Bisogna trasformare facilmente (cifrare) il messaggio originale (testo in chiaro) in uno che apparentemente non abbia alcun senso (testo cifrato) decifrato chiave Il testo cifrato deve poter essere facilmente ritradotto (decifrato) nel messaggio originale solo con luso di una speciale informazione (chiave)

5 Una funzione unidirezionale F è una funzione biunivoca che si calcola facilmente, mentre è praticamente impossibile calcolare la sua inversa (non esistono algoritmi di tipo polinomiale). Il calcolo dellinversa di F è semplice se si conosce unopportuna informazione: la chiave. funzioni unidirezionali I numeri primi permettono di definire funzioni unidirezionali difficilefacile Catenaccio asimmetrico

6 perché i primi si usano in crittografia? Moltiplicare due interi è facile ! Dividere un intero per un altro è facile ! Fattorizzare in primi un intero è difficile, a volte impossibile ! La funzione (p,q) pq che ad ogni coppia di primi associa il loro prodotto è unidirezionale. La funzione (p,q) pq che ad ogni coppia di primi associa il loro prodotto è unidirezionale. cioé

7 ? 851 un semplice esempio di codifica Messaggi = alcuni numeri primi Chiavi = alcuni numeri primi Cifrare = moltiplicare per la chiave Decifrare = dividere per la chiave messaggio 851:37=23 messaggio A B A 851 B 23 37=851

8 RSA Premio: $10,000 - Cifre decimali: RSA Premio: $10,000 - Cifre decimali: The RSA Challenge Numbers RSA Premio: $200,000 - Cifre decimali: RSA Premio: $200,000 - Cifre decimali: Fattotizzato il 3 dicembre 2003 E la sfida piu grande. Ce ne sono anche altre intermedie!

9 X = RSA-576

10 Il mittente (per cifrare) e il destinatario (per decifrare) usano la stessa chiave segreta crittografia simmetrica o a chiave segreta

11 Crittosistemi simmetrici D M Dfm(D)Dfm(D) Dfn(D)Dfn(D) fmfm fnfn (D,M,K,{ : K}) (D,M,K,{f m : m K}) D D è linsieme dei messaggi in chiaro M M è linsieme dei messaggi in codice K K è linsieme delle chiavi Un crittosistema simmetrico è una quaterna ove f m è la funzione (unidirezionale) di codifica relativa alla chiave m

12 Mittente e destinatario devono scambiarsi una chiave prima dellinizio di ogni comunicazione La crittografia simmetrica presenta tre grossi inconvenienti: In un sistema con molti utenti il numero di chiavi da scambiarsi a coppie è così alto che la gestione di queste operazioni diventa molto complicata Una buona chiave è molto lunga e vi sono seri problemi di sicurezza per la trasmissione

13 La sicurezza di un crittosistema non dipende dalla segretezza e dalla complessità degli algoritmi per cifrare ma solo dalla segretezza delle chiavi il principio di KERCKOFFS

14 crittografia asimmetrica o a chiave pubblica Gli algoritmi per cifrare e decifrare sono di dominio pubblico e ogni utente A possiede una propria coppia di chiavi (A pu, A pr ) A pu serve per cifrare ed è pubblica A pr serve per decifrare ed è segreta (può essere utilizzata solo dal suo proprietario) Un messaggio cifrato T con la chiave A pu può essere decifrato solo e soltanto con la chiave privata A pr : A pr (A pu (T))=T Chi vuole inviare un messaggio allutente A deve cifrarlo con la chiave A pu ; il messaggio così cifrato può essere decifrato solo dal A.

15 Non occorre far viaggiare in segreto le chiavi per cifrare, basta far conoscere ad ogni utente le chiavi pubbliche degli altri. crittografia asimmetrica o a chiave pubblica La crittografia asimmetrica permette una gestione semplice e sicura delle chiavi, in accordo col principio di Kerckoffs.

16 crittografia asimmetrica o a chiave pubblica A : A pu A A pr A pu (T) Un utente trasferisce ad A il testoT cifrando con la chiave pubblica A pu A decifra il testo A pu (T) usando la chiave privata A pr : T = A pr (A pu (T) ) A decifra il testo A pu (T) usando la chiave privata A pr : T = A pr (A pu (T) ) A B C D E A pr E pr B pr C pr D pr B : B pu C : C pu D : D pu E : E pu A : A pu utenza

17 il crittosistema RSA Nel 1977 tre persone diedero il più spettacolare contributo alla crittografia a chiave pubblica: Ronald Rivest, Adi Shamir e Leonard Adleman … raccolsero la sfida di produrre un crittosistema a chiave pubblica completo. Il lavoro durò alcuni mesi durante i quali Rivest proponeva strade possibili. Adleman le attaccava e Shamir faceva o luna o laltra cosa. Nel maggio del 1977 essi furono ricompensati dal successo … Avevano scoperto come una semplice parte della teoria classica dei numeri poteva essere usata per risolvere il problema. [W.Diffie, The first ten years of public-key cryptography, Proceedings of IEEE 76 (5), 1988, ]

18 algoritmo per cifrare Se l'intero positivo T è un testo in chiaro, il corrispondente testo cifrato C è definito da C=T E modN. il crittosistema RSA 1) N=PQ, P,Q primi molto grandi. (dellordine di 1024 bit) 2) E>1, intero minore di N e primo con (P-1)(Q-1). 3) DE=1 mod (P-1)(Q-1). algoritmo per decifrare Per decifrare C bisogna calcolare C D modN = T. Esempio (a questo punto: distruggere P e Q) generazione delle chiavi E=17 D=2753 A pu =(3233,17), A pr =2753 C= mod3233=855 cifriamo T=123 C= mod3233=855 T= mod3233=123 decifriamo C=855 T= mod3233=123 P=61 Q=53 N=PQ=3233 chiavi : chiavi : A pu =(N,E), A pr =D

19 Un algoritmo per risolvere un problema che dipende da un numero N è polinomiale se richiede un numero di operazioni elementari dellordine di log(N) h, per qualche intero h. Gli algoritmi buoni sono quelli polinomiali

20 Il problema dellautenticazione In un sistema di comunicazione un utente A riceve un messaggio da un altro B. Come può fare A ad essere ragionevolmente sicuro che il messaggio ricevuto è stato effettivamente inviato da B? Non è richiesta la segretezza del messaggio I crittosistemi non servono soltanto a nascondere le informazioni! Un esempio:

21 una soluzione del problema dellautenticazione: gli schemi di autenticazione con un numero elevato di chiavi e con la proprietà che, per ogni messaggio T, esiste un unico testo in chiaro C tale che f m (C)=T, per qualche m K (per decifrare un messaggio non è necessaria alcuna chiave!). D Gli utenti A e B concordano una chiave segreta m. Quando A riceve il messaggio T da B, non deve fare altro che controllare se T appartiene a f m (D). D M Dfm(D)Dfm(D) Dfn(D)Dfn(D) fmfm fnfn Si considera un criptosistema (D,M,K,{ : K}) (D,M,K,{f m : m K}) D Il metodo funziona perché, essendoci molte possibili chiavi, se qualcuno cambia T in un altro messaggio T, senza conoscere la chiave segreta m, ha una piccolissima probabilità che T appartenga a f m (D).

22 (D,M,K,{ : K}) Sia k il numero delle chiavi di uno schema di autenticazione (D,M,K,{f m : m K}). D M (C)=T, per qualche K Allora, per ogni testo in chiaro C D, esistono al più messaggi T M tali che f m (C)=T, per qualche m K. Teorema di Gilbert, MacWilliams, Sloane un risultato importante In altre parole, la probabilità che un attacco ad un messaggio autenticato vada a buon fine è sempre maggiore o uguale a 1/1/

23 uno schema di autenticazione perfetto D M Dfm(D)Dfm(D) Dfn(D)Dfn(D) fmfm fnfn Lavoriamo in un piano proiettivo finito dordine q. Abbiamo q 2 +q+1 punti, q 2 +q+1 rette, ogni punto appartiene a q+1 rette e ogni retta ha q+1 punti. D = punti di una retta d (abbiamo q+1 testi in chiaro) M = rette diverse da d (abbiamo q 2 +q messaggi cifrati) K = punti non appartenenti alla retta d (abbiamo q 2 chiavi) Se C D e m K, poniamo f m (C) = retta per C ed m. La probabilità che una retta ( d) per C passi anche per m è 1/q, ove q è la radice quadrata del numero delle chiavi. d C m f m (C) Il nostro schema è perfetto !

24 bibliografia Luigia Berardi, Albrecht Beutelspacher, Crittologia, FrancoAngeli, Milano, Albrecht Beutelspacher, Ute Rosenbaum, Projective Geometry, Cambridge Univ.Press, Cambridge Alessandro Languasco, Alessandro Zaccagnini, Introduzione alla crittografia, Hoepli, Milano, Dominic Welsh, Codes and Cryptography, Oxford Science Publications, Clarendon Press, Oxford, 1988.


Scaricare ppt "Lezione su: Introduzione alla crittografia Corso di Codici Lineari."

Presentazioni simili


Annunci Google