La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

La Teoria di Shannon Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.

Presentazioni simili


Presentazione sul tema: "La Teoria di Shannon Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena."— Transcript della presentazione:

1 La Teoria di Shannon Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena

2 Introduzione Nel 1949, Claude Shannon pubblicò un articolo intitolato Communication Theory of Secrecy Systems, sul Bell Systems Technical Journal, che ebbe ricadute fondamentali sui successivi studi sulla crittografiaNel 1949, Claude Shannon pubblicò un articolo intitolato Communication Theory of Secrecy Systems, sul Bell Systems Technical Journal, che ebbe ricadute fondamentali sui successivi studi sulla crittografia

3 La segretezza perfetta 1 Vi sono due approcci fondamentali per descrivere la sicurezza di un crittosistemaVi sono due approcci fondamentali per descrivere la sicurezza di un crittosistema Sicurezza computazionale È una misura dello sforzo computazionale richiesto per violare il crittosistemaSicurezza computazionale È una misura dello sforzo computazionale richiesto per violare il crittosistema oUn crittosistema è computazionalmente sicuro se il miglior algoritmo per violarlo richiede un tempo macchina irragionevole (non è una vera prova, ha significato puramente pratico) oUn crittosistema è dimostrabilmente sicuro se il problema di violarlo è riducibile a qualche problema noto di cui si conosce la difficoltà Sicurezza incondizionata È una misura della sicurezza del crittosistema quando non si pongono limiti alla quantità di calcoli che Oscar può eseguireSicurezza incondizionata È una misura della sicurezza del crittosistema quando non si pongono limiti alla quantità di calcoli che Oscar può eseguire oUn crittosistema è incondizionatamente sicuro se non può essere violato, neanche avendo a disposizione risorse (spazio-temporali) infinite

4 Quando si discute della sicurezza di un crittosistema, occorre anche definire il tipo di attacco cui le tecniche di sicurezza si rivolgonoQuando si discute della sicurezza di un crittosistema, occorre anche definire il tipo di attacco cui le tecniche di sicurezza si rivolgono Shift cipher, Substitution cipher, Vigenere cipher non sono computazionalmente sicuri per attacchi tipo Ciphertext-onlyShift cipher, Substitution cipher, Vigenere cipher non sono computazionalmente sicuri per attacchi tipo Ciphertext-only Shift cipher, Substitution cipher, Vigenere cipher sono incondizionatamente sicuri per attacchi tipo Ciphertext-only se un unico elemento del plaintext viene codificato utilizzando una data chiaveShift cipher, Substitution cipher, Vigenere cipher sono incondizionatamente sicuri per attacchi tipo Ciphertext-only se un unico elemento del plaintext viene codificato utilizzando una data chiave La sicurezza incondizionata di un sistema non può essere studiata dal punto di vista della complessità computazionale, dato che si ipotizzano risorse infinite il framework appropriato è quello probabilisticoLa sicurezza incondizionata di un sistema non può essere studiata dal punto di vista della complessità computazionale, dato che si ipotizzano risorse infinite il framework appropriato è quello probabilistico La segretezza perfetta 2

5 Definizione 1Definizione 1 Siano X e Y variabili casuali. Indichiamo con p(x) e p(y), rispettivamente, le probabilità che X assuma valore x e Y assuma valore y. La probabilità congiunta, p(x,y), è la probabilità che X e Y assumano congiuntamente i rispettivi valori. La probabilità condizionale p(x|y) descrive la probabilità che X assuma valore x, se Y vale y. Le variabili casuali X e Y sono indipendenti se p(x,y)=p(x)p(y), per tutti i possibili valori x di X e y di Y Siano X e Y variabili casuali. Indichiamo con p(x) e p(y), rispettivamente, le probabilità che X assuma valore x e Y assuma valore y. La probabilità congiunta, p(x,y), è la probabilità che X e Y assumano congiuntamente i rispettivi valori. La probabilità condizionale p(x|y) descrive la probabilità che X assuma valore x, se Y vale y. Le variabili casuali X e Y sono indipendenti se p(x,y)=p(x)p(y), per tutti i possibili valori x di X e y di Y Le probabilità congiunte sono correlate dalle formule p(x,y)=p(x|y) p(y) e p(x,y)=p(y|x) p(x), da cui…Le probabilità congiunte sono correlate dalle formule p(x,y)=p(x|y) p(y) e p(x,y)=p(y|x) p(x), da cui… Teorema 1 (Teorema di Bayes)Teorema 1 (Teorema di Bayes) Se p(y)>0, allora p(x|y) = ____________ Se p(y)>0, allora p(x|y) = ____________ Corollario 1Corollario 1 X e Y sono variabili indipendenti se e solo se p(x|y)=p(x), per ogni x,y X e Y sono variabili indipendenti se e solo se p(x|y)=p(x), per ogni x,y La segretezza perfetta 3 p(x) p(y|x) p(y)

6 Sia P la distribuzione di probabilità sullo spazio P dei plaintext; denotiamo la probabilità a priori di occorrenza del plaintext x con p P (x)Sia P la distribuzione di probabilità sullo spazio P dei plaintext; denotiamo la probabilità a priori di occorrenza del plaintext x con p P (x) Supponiamo che la chiave k venga scelta da Alice e Bob utilizzando un qualche tipo di distribuzione di probabilità (potrebbe essere uniforme, ma non è necessario) e sia p K (k) la probabilità di kSupponiamo che la chiave k venga scelta da Alice e Bob utilizzando un qualche tipo di distribuzione di probabilità (potrebbe essere uniforme, ma non è necessario) e sia p K (k) la probabilità di k Poiché la scelta della chiave è precedente alla scrittura di qualsiasi messaggio, k e x sono eventi indipendentiPoiché la scelta della chiave è precedente alla scrittura di qualsiasi messaggio, k e x sono eventi indipendenti Le due distribuzioni di probabilità P e K inducono una distribuzione di probabilità C su CLe due distribuzioni di probabilità P e K inducono una distribuzione di probabilità C su C Per una data chiave k K, sia C (k)={e k (x): x P }, cioè C (k) rappresenta linsieme dei possibili testi cifrati se la chiave è k; allora, per ogni y CPer una data chiave k K, sia C (k)={e k (x): x P }, cioè C (k) rappresenta linsieme dei possibili testi cifrati se la chiave è k; allora, per ogni y C p C (y)= p K (k) p P (d k (y)) p C (y)= p K (k) p P (d k (y)) La segretezza perfetta 4 {k: y C(k)}

7 Inoltre, per ogni y C e x P, la probabilità condizionale che si ottenga y, dato x, può essere calcolata come…Inoltre, per ogni y C e x P, la probabilità condizionale che si ottenga y, dato x, può essere calcolata come… p C (y|x) = p K (k) p C (y|x) = p K (k) È infine possibile calcolare la probabilità condizionale che si abbia il plaintext x, dato il testo cifrato y,È infine possibile calcolare la probabilità condizionale che si abbia il plaintext x, dato il testo cifrato y, p P (x|y) = ____________________ p P (x|y) = ____________________ La segretezza perfetta 5 {k: x=d k (y)} p P (x) p K (k) p K (k) p K (k) p P (d k (y)) p K (k) p P (d k (y)) {k: y C(k)} {k: x=d k (y)}

8 Segretezza perfetta Oscar non può ottenere nessuna informazione sul plaintext dallosservazione del testo cifratoSegretezza perfetta Oscar non può ottenere nessuna informazione sul plaintext dallosservazione del testo cifrato Formalmente…Formalmente… oDefinizione 2 Un crittositema è perfettamente segreto se p P (x|y) = p P (x), per ogni x P, y C, cioè la probabilità a posteriori del plaintext x, dato il testo cifrato y, è identica alla probabilità a priori di x Un crittositema è perfettamente segreto se p P (x|y) = p P (x), per ogni x P, y C, cioè la probabilità a posteriori del plaintext x, dato il testo cifrato y, è identica alla probabilità a priori di x Shift cipher garantisce la segretezza perfettaShift cipher garantisce la segretezza perfetta La segretezza perfetta 6

9 Teorema 2Teorema 2 Supponiamo che le 26 chiavi di Shift cipher vengano utilizzate con egual probabilità, 1/26. Per ogni distribuzione di probabilità del plaintext, Shift cipher garantisce la segretezza perfetta Supponiamo che le 26 chiavi di Shift cipher vengano utilizzate con egual probabilità, 1/26. Per ogni distribuzione di probabilità del plaintext, Shift cipher garantisce la segretezza perfetta Infatti…Infatti… P=C=K=Z 26. Sia y Z 26, allora: P=C=K=Z 26. Sia y Z 26, allora: p C (y)= p K (k) p P (d k (y))= __ p P (y-k)= __ p P (y-k) p C (y)= p K (k) p P (d k (y))= __ p P (y-k)= __ p P (y-k) Per y fissato, y-k (mod 26) è una permutazione in Z 26 e p P è una distribuzione, da cui p P (y-k) = p P (y)=1. Per y fissato, y-k (mod 26) è una permutazione in Z 26 e p P è una distribuzione, da cui p P (y-k) = p P (y)=1. Di conseguenza p C (y)=1/26, per ogni y Z 26. Inoltre p C (y|x)=p K (y-x (mod 26))=1/26, dato che, x,y, lunica chiave k tale che e k (x)=y è k=y-x (mod 26). Infine, per il Teorema di Bayes Di conseguenza p C (y)=1/26, per ogni y Z 26. Inoltre p C (y|x)=p K (y-x (mod 26))=1/26, dato che, x,y, lunica chiave k tale che e k (x)=y è k=y-x (mod 26). Infine, per il Teorema di Bayes p P (x|y) = ____________ = __________ = p P (x|y) = ____________ = __________ = La segretezza perfetta 7 k Z 26 y Z 26 k Z p P (x) 1/26 p P (x) p C (y|x) p P (x) 1/26 p C (y)

10 Pertanto Shift cipher è inviolabile, a patto di usare una diversa chiave casuale per codificare ciascun carattere nel plaintextPertanto Shift cipher è inviolabile, a patto di usare una diversa chiave casuale per codificare ciascun carattere nel plaintext Per il Teorema di Bayes, la condizione p P (x|y) = p P (x), è equivalente alla p C (y|x) = p C (y), per ogni x P, y C. Pertanto, se p C (y)>0, per ogni y C esiste almeno una chiave k tale che e k (x)=y |K |>|C |Per il Teorema di Bayes, la condizione p P (x|y) = p P (x), è equivalente alla p C (y|x) = p C (y), per ogni x P, y C. Pertanto, se p C (y)>0, per ogni y C esiste almeno una chiave k tale che e k (x)=y |K |>|C | Inoltre, per ciascun crittosistema si ha |C |>|P |, dato che le funzioni di codifica sono iniettiveInoltre, per ciascun crittosistema si ha |C |>|P |, dato che le funzioni di codifica sono iniettive Nel caso particolare in cui |K |=|C |=|P |, vale il seguente…Nel caso particolare in cui |K |=|C |=|P |, vale il seguente… Teorema 3Teorema 3 Sia (P,C,K,E,D ) un crittosistema per cui |K |=|C |=|P |. Il crittosistema garantisce segretezza perfetta se e solo se ciascuna chiave viene selezionata con ugual probabilità, 1/|K | e per ogni x P, y C, esiste ununica chiave k tale che e k (x)=y Sia (P,C,K,E,D ) un crittosistema per cui |K |=|C |=|P |. Il crittosistema garantisce segretezza perfetta se e solo se ciascuna chiave viene selezionata con ugual probabilità, 1/|K | e per ogni x P, y C, esiste ununica chiave k tale che e k (x)=y La segretezza perfetta 8

11 Infatti…Infatti… Supponiamo che il crittosistema garantisca segretezza perfetta. Poiché per ogni x P, y C esiste almeno una chiave k tale che e k (x)=y, Supponiamo che il crittosistema garantisca segretezza perfetta. Poiché per ogni x P, y C esiste almeno una chiave k tale che e k (x)=y, |C |=|{e k (x): k K }| |K | Tuttavia nellipotesi di uguaglianza |K |=|C |, non esistono due chiavi k 1 k 2 tali che e k (x)=e k (x)=y esiste esattamente una chiave k tale che e k (x)=y. Tuttavia nellipotesi di uguaglianza |K |=|C |, non esistono due chiavi k 1 k 2 tali che e k (x)=e k (x)=y esiste esattamente una chiave k tale che e k (x)=y. Sia n=|K |. Sia P={x i : 1 i n} e sia y C fissato. Indicando con k 1,k 2,…k n, le n chiavi in K, sia e k (x i )=y, 1 i n. Per il Teorema di Bayes… Sia n=|K |. Sia P={x i : 1 i n} e sia y C fissato. Indicando con k 1,k 2,…k n, le n chiavi in K, sia e k (x i )=y, 1 i n. Per il Teorema di Bayes… p P (x i |y) = ____________ = __________ p P (x i |y) = ____________ = __________ Lipotesi di segretezza perfetta, p P (x i |y)=p P (x i ), implica p K (k i )=p C (y), 1 i n le chiavi vengono selezionate in modo equiprobabile (=p C (y)) e essendo in numero di |K|, p K (k)=1/|K | Lipotesi di segretezza perfetta, p P (x i |y)=p P (x i ), implica p K (k i )=p C (y), 1 i n le chiavi vengono selezionate in modo equiprobabile (=p C (y)) e essendo in numero di |K|, p K (k)=1/|K | La segretezza perfetta 9 2 i 1 p C (y|x i ) p P (x i ) p C (y) p K (k i ) p P (x i ) p C (y)

12 Un crittosistema che realizza la segretezza perfetta è One-time Pad, ideato da Gilbert Vernan nel 1917 per la crittatura dei messaggi telegraficiUn crittosistema che realizza la segretezza perfetta è One-time Pad, ideato da Gilbert Vernan nel 1917 per la crittatura dei messaggi telegrafici One-time Pad fu ritenuto inviolabile per molti anni, anche se la dimostrazione della sua segretezza è dovuta a Shannon (oltre 30 anni dopo che era stato formulato)One-time Pad fu ritenuto inviolabile per molti anni, anche se la dimostrazione della sua segretezza è dovuta a Shannon (oltre 30 anni dopo che era stato formulato) One-time Pad 1 Sia n 1 un intero, e siano P = C = K =(Z 2 ) n Per x=(x 1,x 2,…x n ), y=(y 1,y 2,…y n ) e k=(k 1,k 2,…k n ) e k (x)=(x 1 +k 1,x 2 +k 2,…,x n +k n ) (mod 2) d k (y)=(y 1 +k 1,y 2 +k 2,…,y n +k n ) (mod 2)

13 La segretezza perfetta di un crittosistema, tuttavia, comporta notevoli svantaggi:La segretezza perfetta di un crittosistema, tuttavia, comporta notevoli svantaggi: oDato che |K | |P |, il numero di chiavi che devono essere comunicate in maniera sicura è almeno pari alla dimensione del plaintext oOne-time Pad richiede n bit di chiave per codificare n bit di plaintext oLa stessa chiave può essere utilizzata una sola volta: da questa ipotesi dipende lincondizionata sicurezza del sistema (ed il nome one-time dellalgoritmo) oOne-time Pad è vulnerabile per attacchi del tipo Known plaintext, poiché la chiave k può essere calcolata come XOR di x ed e k (x) Per ogni messaggio, una nuova chiave deve essere creata ed inviata su un canale sicuro One-time Pad 2

14 Queste limitazioni hanno rallentato il successo commerciale dei crittosistemi sicuri, anche se One-time Pad ha trovato applicazioni in ambito diplomatico e militareQueste limitazioni hanno rallentato il successo commerciale dei crittosistemi sicuri, anche se One-time Pad ha trovato applicazioni in ambito diplomatico e militare Lo sviluppo storico della crittografia ha teso invece alla creazione di crittosistemi in cui una sola chiave può essere utilizzata per codificare molti messaggi, mantenendo salva, almeno, la sicurezza computazionaleLo sviluppo storico della crittografia ha teso invece alla creazione di crittosistemi in cui una sola chiave può essere utilizzata per codificare molti messaggi, mantenendo salva, almeno, la sicurezza computazionale Data Encryption Standard DES realizza questo requisitoData Encryption Standard DES realizza questo requisito One-time Pad 3

15 Unaltra idea introdotta da Shannon nel 1949 fu quella di combinare più crittosistemi, formandone il prodotto, idea che è alla base dei crittosistemi attuali come, ad esempio, DESUnaltra idea introdotta da Shannon nel 1949 fu quella di combinare più crittosistemi, formandone il prodotto, idea che è alla base dei crittosistemi attuali come, ad esempio, DES Sia C=P. Crittosistemi di questo tipo si dicono endomorfi. Siano S 1 =(P,P,K 1,E 1,D 1 ) e S 2 =(P,P,K 2,E 2,D 2 ) due crittosistemi endomorfi che condividono lo stesso plaintext. Il prodotto dei due crittosistemi èSia C=P. Crittosistemi di questo tipo si dicono endomorfi. Siano S 1 =(P,P,K 1,E 1,D 1 ) e S 2 =(P,P,K 2,E 2,D 2 ) due crittosistemi endomorfi che condividono lo stesso plaintext. Il prodotto dei due crittosistemi è (P,P,K 1 K 2,E,D ) Una chiave del crittosistema prodotto ha la forma k=(k 1,k 2 ), con k 1 K 1 e k 2 K 2Una chiave del crittosistema prodotto ha la forma k=(k 1,k 2 ), con k 1 K 1 e k 2 K 2 Le regole di codifica/decodifica del crittosistema prodotto sonoLe regole di codifica/decodifica del crittosistema prodotto sono e (k,k ) (x)=e k (e k (x)) e (k,k ) (x)=e k (e k (x)) d (k,k ) (x)=d k (d k (x)) d (k,k ) (x)=d k (d k (x)) Crittosistemi prodotto

16 Poiché tutti i crittosistemi hanno associata, allo spazio delle chiavi, una distribuzione di probabilità, occorre definire la distribuzione di probabilità anche per lo spazio delle chiavi del crittosistema prodotto, come…Poiché tutti i crittosistemi hanno associata, allo spazio delle chiavi, una distribuzione di probabilità, occorre definire la distribuzione di probabilità anche per lo spazio delle chiavi del crittosistema prodotto, come… p K (k 1,k 2 )=p K (k 1 ) p K (k 2 ) cioè viene scelta k 1 in base alla distribuzione K 1 e quindi, indipendentemente, k 2 secondo K 2 cioè viene scelta k 1 in base alla distribuzione K 1 e quindi, indipendentemente, k 2 secondo K 2 Per descrivere un esempio di crittosistema prodotto, introduciamo MULTIPLICATIVE CipherPer descrivere un esempio di crittosistema prodotto, introduciamo MULTIPLICATIVE Cipher Crittosistemi prodotto 2 21 Sia P = C =Z 26 e sia K={a Z 26 : MCD(a,26)=1} Per a K, si definisce e a (x)=a x (mod 26) d a (y)= a -1 y (mod 26) x,y Z 26

17 Sia M Multiplicative cipher ed S Shift cipher (entrambi con distribuzione omogenea delle chiavi) Sia M Multiplicative cipher ed S Shift cipher (entrambi con distribuzione omogenea delle chiavi) M S è Affine cipher M S è Affine cipher In questo caso, M S=S M, cioè i due crittosistemi commutano: la proprietà non è vera in generale. Loperazione di prodotto è, invece, sempre associativa In questo caso, M S=S M, cioè i due crittosistemi commutano: la proprietà non è vera in generale. Loperazione di prodotto è, invece, sempre associativa Considerando il prodotto di un crittosistema endomorfico S per se stesso, si ottiene il crittosistema S S, che si indica con S 2 Considerando il prodotto di un crittosistema endomorfico S per se stesso, si ottiene il crittosistema S S, che si indica con S 2 In generale, S n è un crittosistema iterato In generale, S n è un crittosistema iterato Un crittosistema S è idempotente se S 2 =S. Shift, Substitution, Affine, Hill, Vigenere e Permutation cipher sono tutti idempotenti Un crittosistema S è idempotente se S 2 =S. Shift, Substitution, Affine, Hill, Vigenere e Permutation cipher sono tutti idempotenti Crittosistemi prodotto 3

18 Se un crittosistema non è idempotente, vi è un potenziale aumento della sicurezza considerando literato n-esimo DES consiste di 16 iterazioni Se un crittosistema non è idempotente, vi è un potenziale aumento della sicurezza considerando literato n-esimo DES consiste di 16 iterazioni Un modo per costruire crittosistemi non idempotenti è quello di considerare il prodotto di due diversi crittosistemi (se i crittosistemi sono idempotenti, non devono commutare) Un modo per costruire crittosistemi non idempotenti è quello di considerare il prodotto di due diversi crittosistemi (se i crittosistemi sono idempotenti, non devono commutare) Molti dei crittosistemi più semplici possono essere proficuamente impiegati nel prodotto: il prodotto fra crittosistemi substitution-permutation è una tecnica usata molto comunemente Molti dei crittosistemi più semplici possono essere proficuamente impiegati nel prodotto: il prodotto fra crittosistemi substitution-permutation è una tecnica usata molto comunemente Crittosistemi prodotto 4


Scaricare ppt "La Teoria di Shannon Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena."

Presentazioni simili


Annunci Google