Dipartimento di Ingegneria dell’Informazione

Slides:



Advertisements
Presentazioni simili
Elementi di Crittografia MAC e FUNZIONI HASH
Advertisements

Torniamo al primo problema. Come fare acquisti sicuri via Internet? Come trasmettere informazioni in modo riservato?
8) GLI INTERVALLI DI CONFIDENZA
I numeri naturali ….. Definizione e caratteristiche
2. Introduzione alla probabilità
Chiara Mocenni – Analisi delle Decisioni a.a Analisi delle Decisioni Probabilita condizionate e Teorema di Bayes Chiara Mocenni.
Definizione di probabilità, calcolo combinatorio,
Laboratorio Processi Stocastici
6. Catene di Markov a tempo continuo (CMTC)
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Il codice neurale.
Sicurezza II Prof. Dario Catalano Errori di Implementazione.
Introduzione alle curve ellittiche
esponente del radicando
I cifrari a chiave pubblica: Introduzione alle curve ellittiche
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
6. Catene di Markov a tempo continuo (CMTC)
3. Processi Stocastici Un processo stocastico è una funzione del tempo i cui valori x(t) ad ogni istante di tempo t sono v.a. Notazione: X : insieme di.
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
redditività var. continua classi di redditività ( < 0 ; >= 0)
Per crittografia si intende la protezione
Algoritmi e Strutture Dati
Iterazione enumerativa (for)
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Corso di Tecniche e Sistemi di trasmissione Fissi e Mobili
Il problema del minimo albero ricoprente in un grafo con archi privati
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
Processi Aleatori : Introduzione – Parte I
A.S.E.8.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 8 ALGEBRA BOOLEANA PostulatiPostulati Principio di dualitàPrincipio di dualità Teoremi fondamentaliTeoremi.
Abbiamo visto un esempio di applicazione del teorema, ma a noi interessa l’applicazione del Teorema di Bayes alla combinazione delle informazioni, ovvero.
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Dipartimento di Ingegneria dell’Informazione
Corso di biomatematica Lezione 2: Probabilità e distribuzioni di probabilità Davide Grandi.
Ricerca della Legge di Controllo
INGEGNERIA CLINICA E BIOMEDICA
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Breaking DES Corso di Sicurezza Reti Dott. Giovanni Ciraolo Anno Accademico
Lezione 4 Probabilità.
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Corso di Matematica Discreta I Anno
Corso di Matematica Discreta cont. 2
Main tools of the probabilistic method with applications in graph theory Attività formativa - Yuri Faenza Supervisore: Prof. B. Scoppola CdLS in Ingegneria.
LA CRITTOGRAFIA QUANTISTICA
Metodo della moltiplicazione
Elementi di Informatica di base
CORSO DI CRITTOGRAFIA Quinto incontro PROGETTO LAUREE SCIENTIFICHE
Radix-Sort(A,d) // A[i] = cd...c2c1
Le distribuzioni campionarie
1.PROBABILITÀ A. Federico ENEA; Fondazione Ugo Bordoni Scuola estiva di fonetica forense Soriano al Cimino 17 – 21 settembre 2007.
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
ESTENSIONI SEMPLICI e TEOREMA DELL’ELEMENTO PRIMITIVO
RSA e questioni relative
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
La verifica d’ipotesi Docente Dott. Nappo Daniela
Lezione B.10 Regressione e inferenza: il modello lineare
IL CAMPIONE.
2) PROBABILITA’ La quantificazione della ‘possibilità’ del verificarsi di un evento casuale E è detta probabilità P(E) Definizione classica: P(E) è il.
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
La codifica dei numeri.
Intervalli di confidenza
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",
Steganografia in un file di testo Corso di Sicurezza dei sistemi informatici Prof. Giuseppe Mastronardi Anno Accademico 2006/07.
Transcript della presentazione:

Dipartimento di Ingegneria dell’Informazione La Teoria di Shannon Monica Bianchini monica@ing.unisi.it Dipartimento di Ingegneria dell’Informazione Università di Siena

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 crittografia

La segretezza perfetta  1 Vi sono due approcci fondamentali per descrivere la sicurezza di un crittosistema Sicurezza computazionale  È una misura dello sforzo computazionale richiesto per violare il crittosistema Un crittosistema è computazionalmente sicuro se il miglior algoritmo per violarlo richiede un tempo macchina “irragionevole” (non è una vera prova, ha significato puramente pratico) Un 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ò eseguire Un crittosistema è incondizionatamente sicuro se non può essere violato, neanche avendo a disposizione risorse (spazio-temporali) infinite

La segretezza perfetta  2 Quando 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-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 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 probabilistico

La segretezza perfetta  3 Definizione 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 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) Se p(y)>0, allora p(x|y) = ____________ Corollario 1 X e Y sono variabili indipendenti se e solo se p(x|y)=p(x), per ogni x,y p(x) p(y|x) p(y)

La segretezza perfetta  4 pC(y)=  pK(k) pP (dk(y)) Sia P la distribuzione di probabilità sullo spazio P dei plaintext; denotiamo la probabilità a priori di occorrenza del plaintext x con pP (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 pK(k) la probabilità di k Poiché 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 C Per una data chiave k K, sia C (k)={ek(x): x P }, cioè C (k) rappresenta l’insieme dei possibili testi cifrati se la chiave è k; allora, per ogni y C pC(y)=  pK(k) pP (dk(y)) {k: yC(k)}

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

La segretezza perfetta  6 Segretezza perfetta  Oscar non può ottenere nessuna informazione sul plaintext dall’osservazione del testo cifrato Formalmente… Definizione 2 Un crittositema è perfettamente segreto se pP (x|y) = pP (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 perfetta

La segretezza perfetta  7 Teorema 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 Infatti… P=C=K=Z26. Sia yZ26, allora: pC(y)=  pK(k) pP (dk(y))=  __ pP (y-k)= __ pP (y-k) Per y fissato, y-k (mod 26) è una permutazione in Z26 e pP è una distribuzione, da cui  pP (y-k) =  pP (y)=1. Di conseguenza pC(y)=1/26, per ogni y Z26. Inoltre pC(y|x)=pK(y-x (mod 26))=1/26, dato che,  x,y, l’unica chiave k tale che ek(x)=y è k=y-x (mod 26). Infine, per il Teorema di Bayes pP (x|y) = ____________ = __________ = 1 1 kZ26 kZ26 26 26 kZ26 kZ26 yZ26 pP (x) pC(y|x) pP (x) 1/26 pP (x) pC(y) 1/26

La segretezza perfetta  8 Pertanto Shift cipher è inviolabile, a patto di usare una diversa chiave casuale per codificare ciascun carattere nel plaintext Per il Teorema di Bayes, la condizione pP (x|y) = pP (x), è equivalente alla pC (y|x) = pC (y), per ogni xP, yC. Pertanto, se pC (y)>0, per ogni yC esiste almeno una chiave k tale che ek(x)=y |K |>|C | Inoltre, 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… Teorema 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 un’unica chiave k tale che ek(x)=y

La segretezza perfetta  9 Infatti… Supponiamo che il crittosistema garantisca segretezza perfetta. Poiché per ogni xP, yC esiste almeno una chiave k tale che ek(x)=y, |C |=|{ek(x): k K }||K | Tuttavia nell’ipotesi di uguaglianza |K |=|C |, non esistono due chiavi k1k2 tali che ek (x)=ek (x)=y  esiste esattamente una chiave k tale che ek(x)=y. Sia n=|K |. Sia P={xi: 1  i  n} e sia yC fissato. Indicando con k1,k2,…kn, le n chiavi in K, sia ek (xi)=y, 1  i  n. Per il Teorema di Bayes… pP (xi|y) = ____________ = __________ L’ipotesi di segretezza perfetta, pP (xi|y)=pP (xi), implica pK(ki)=pC(y), 1  i  n  le chiavi vengono selezionate in modo equiprobabile (=pC(y)) e essendo in numero di |K|, pK(k)=1/|K | 1 2 i pC(y|xi) pP (xi) pK(ki) pP (xi) pC(y) pC(y)

One-time Pad  1 Sia n1 un intero, e siano P = C = K =(Z2)n Un 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) Sia n1 un intero, e siano P = C = K =(Z2)n Per x=(x1,x2,…xn), y=(y1,y2,…yn) e k=(k1,k2,…kn) ek(x)=(x1+k1,x2+k2,…,xn+kn) (mod 2) dk(y)=(y1+k1,y2+k2,…,yn+kn) (mod 2)

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

One-time Pad  3 Queste 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 computazionale Data Encryption Standard  DES  realizza questo requisito

Crittosistemi prodotto  1 Un’altra 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 S1=(P,P,K1,E1,D1) e S2=(P,P,K2,E2,D2) due crittosistemi endomorfi che condividono lo stesso plaintext. Il prodotto dei due crittosistemi è (P,P,K1K2,E,D ) Una chiave del crittosistema prodotto ha la forma k=(k1,k2), con k1K1 e k2K2 Le regole di codifica/decodifica del crittosistema prodotto sono e(k ,k ) (x)=ek (ek (x)) d(k ,k ) (x)=dk (dk (x)) 1 2 2 1 1 2 1 2

Crittosistemi prodotto  2 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… pK(k1,k2)=pK (k1)pK (k2) cioè viene scelta k1 in base alla distribuzione K1 e quindi, indipendentemente, k2 secondo K2 Per descrivere un esempio di crittosistema prodotto, introduciamo MULTIPLICATIVE Cipher 1 2 Sia P = C =Z26 e sia K={aZ26: MCD(a,26)=1} Per a K, si definisce ea(x)=a x (mod 26) da(y)= a-1y (mod 26) x,yZ26

Crittosistemi prodotto  3 Sia M Multiplicative cipher ed S Shift cipher (entrambi con distribuzione omogenea delle chiavi)  MS è Affine cipher In questo caso, MS=SM, cioè i due crittosistemi commutano: la proprietà non è vera in generale. L’operazione 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 S2 In generale, Sn è un crittosistema iterato Un crittosistema S è idempotente se S2=S. Shift, Substitution, Affine, Hill, Vigenere e Permutation cipher sono tutti idempotenti

Crittosistemi prodotto  4 Se un crittosistema non è idempotente, vi è un potenziale aumento della sicurezza considerando l’iterato 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) Molti dei crittosistemi più semplici possono essere proficuamente impiegati nel prodotto: il prodotto fra crittosistemi substitution-permutation è una tecnica usata molto comunemente