Crittografia. Firme Digitali e Funzioni di Hash. Corso di Laurea Specialistica. in Informatica
|
|
- Elisa Colli
- 5 anni fa
- Visualizzazioni
Transcript
1 Crittografia Corso di Laurea Specialistica in Informatica Firme Digitali e Funzioni di Hash Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca alberto.leporati@unimib.it leporati@disco.unimib.it
2 Firme digitali Uno schema per le firme digitali è una quintupla (P,A,K,S,V) dove: P è l insieme dei possibili messaggi da firmare A è l insieme delle possibili firme K è l insieme delle possibili chiavi S = {sig: Pä K Ø A} è l insieme delle funzioni di firma V = {ver: Pä Aä K Ø {vero,falso}} è l insieme delle funzioni di verifica Alberto Leporati Corso di Crittografia 2
3 Firme digitali come per le funzioni di cifratura e decifratura, fissando una chiave k œ K si selezionano due funzioni: sig k : P Ø A ver k : P ä A Ø {vero,falso} tali che " x œ P e " y œ A ver k (x, y) = vero ñ y = sig k (x) una coppia (x, y) siffatta viene detta un messaggio firmato Alberto Leporati Corso di Crittografia 3
4 Firme digitali differenze rispetto alle firme autografe: la firma y è separata dal documento x la firma non è sempre uguale: cambia al variare del documento la firma digitale autentica il mittente del messaggio: solo chi conosce una certa informazione segreta può aver prodotto la firma del messaggio Alberto Leporati Corso di Crittografia 4
5 Firme digitali supponiamo che Alice voglia firmare un messaggio m: sceglie una coppia (sig k, ver k ) di algoritmi tiene segreto sig k, e rende pubblico ver k calcola σ = sig k (m) supponiamo ora che Bob voglia verificare la firma calcolata da Alice: considera la coppia (m, σ) preleva l algoritmo ver k accetta la firma come valida se e solo se ver k (m,σ) = vero Alberto Leporati Corso di Crittografia 5
6 Firme digitali possibili obiettivi di Eve: rottura totale dello schema: in qualche modo, Eve riesce a determinare la chiave segreta k (e quindi la funzione di firma sig k ) di Alice existential forgery: avendo osservato alcune coppie (x 1, y 1 ),, (x i, y i ) di messaggi con le relative firme, quando arriva un nuovo messaggio Eve riesce a produrre una firma valida (solo per quel messaggio, o per una classe di messaggi simili tra loro) Alberto Leporati Corso di Crittografia 6
7 Firme digitali ogni crittosistema a chiave pubblica può essere usato come schema per le firme digitali: si firma usando la chiave privata si verifica usando la chiave pubblica quindi, solo chi possiede la chiave privata è in grado di firmare chiunque può verificare la firma in questo modo, si riesce ad autenticare il mittente di un messaggio usando solo un crittosistema a chiave pubblica (vedere prossime slide) Alberto Leporati Corso di Crittografia 7
8 Firme digitali supponiamo che Alice voglia inviare a Bob il messaggio m Alice possiede una coppia (E A, D A ) di funzioni di cifratura e decifratura tiene segreta D A rende pubblica E A Bob possiede la coppia di funzioni (E B, D B ) tiene segreta D B rende pubblica E B Alberto Leporati Corso di Crittografia 8
9 Firme digitali Alice cifra il messaggio m per Bob, e poi lo firma, calcolando D A (E B (m)) e invia il risultato a Bob Bob verifica la firma di Alice applicando E A, e poi decifra: D B (E A (D A (E B (m)))) = m problema: anche Eve conosce E A! può applicare E A, e poi usare D E per sostituirsi ad Alice soluzione corretta: Alice firma il messaggio m e poi lo cifra per Bob: E B (D A (m)) Alberto Leporati Corso di Crittografia 9
10 Schema di firma di El Gamal pubblicato nel 1985 una versione modificata è stata adottata come standard (DSA Digital Signature Algorithm) dal NIST è non deterministico Ø ci sono molte firme valide per ogni messaggio sia p un numero primo sia g un generatore di p * i messaggi da firmare sono elementi di p * le firme sono coppie (γ, δ), con γ œ p * e δœ p-1 Alberto Leporati Corso di Crittografia 10
11 Schema di firma di El Gamal supponiamo che Alice voglia firmare un messaggio m œ p *; anzitutto genera la propria coppia di chiavi: sceglie una chiave segreta a, con 0 < a < p-1 calcola β = g a mod p la chiave pubblica è la terna (p, g, β) per firmare m : sceglie a caso k œ p-1 * calcola γ= g k mod p e δ= (m aγ )k -1 mod (p-1) la coppia (γ, δ) è la firma di m Alberto Leporati Corso di Crittografia 11
12 Schema di firma di El Gamal Bob accetta la firma come valida se e solo se β γ γ δ ª g m mod p supponiamo che la firma sia stata prodotta correttamente; allora: β γ γ δ ª g aγ ÿ g kδ ª g m mod p la congruenza g aγ + kδ ª g m mod p vale se e solo se aγ + kδ ª m mod p-1, ovvero se e solo se γ e δ sono stati calcolati come nella slide precedente Ø Bob accetta e rifiuta correttamente Alberto Leporati Corso di Crittografia 12
13 Schema di firma di El Gamal: sicurezza supponiamo che Eve voglia produrre una firma per m, senza conoscere a se Eve sceglieγ e vuole calcolare il δ corrispondente, deve calcolare il logaritmo discreto log γ g m β -γ se Eve sceglieδe vuole calcolare γ, deve risolvere l equazioneβ γ ÿγ δ ª g m mod p, rispetto a γ problema diverso dal logaritmo discreto non si conosce un metodo di risoluzione polinomiale problema poco studiato Alberto Leporati Corso di Crittografia 13
14 Schema di firma di El Gamal: sicurezza se Eve sceglieγ e δ, e vuole calcolare un m corrispondente, deve calcolare il logaritmo discreto log g β γ ÿγ δ tuttavia, Eve può calcolare γ, δ e m insieme: supponiamo di scrivere γ = g i ÿβ j mod p, con 0 i, j p-2 la condizione di verifica è: g m ªβ γ ÿ (g i ÿβ j ) δ mod p che equivale a: g m - iδ ªβ γ + jδ mod p Alberto Leporati Corso di Crittografia 14
15 Schema di firma di El Gamal: sicurezza se imponiamo m iδª0 mod p-1 e γ + jδª0 mod p-1 allora questa congruenza vale dati i e j, se MCD(j, p-1) = 1 è facile trovare m, δ e γ che verificano queste due congruenze: γ = g i ÿβ j mod p δ = -γÿj -1 mod p-1 m= -γÿiÿ j -1 mod p-1 si verifica facilmente che i valori (γ, δ) sono una firma valida per m Alberto Leporati Corso di Crittografia 15
16 Firme digitali problema: usando un crittosistema a chiave pubblica per firmare, le firme hanno la stessa dimensione del messaggio! es: firma digitale dell immagine ISO di un CD con El Gamal le firme hanno dimensione doppia! ci vorrebbe una funzione che: prende in ingresso un messaggio di dimensione arbitraria produce un output piccolo sia one-way soluzione: le funzioni di hash prevengono anche l attacco allo schema di El Gamal Alberto Leporati Corso di Crittografia 16
17 Funzioni di hash calcolano un impronta (o message digest) dei dati di input l impronta è piccola, e solitamente di lunghezza prefissata es: 128 bit per MD5, 160 bit per SHA-1 possono essere usate per verificare l integrità dei dati (cioè come MAC Message Authentication Codes) vengono usate nelle firme digitali: anziché firmare tutto m, si firma la sua impronta h(m) Ø la firma è piccola, e sempre della stessa lunghezza Alberto Leporati Corso di Crittografia 17
18 Funzioni di hash come per i crittosistemi, le funzioni di hash possono essere selezionate da una famiglia, scegliendo una chiave definizione: una famiglia hash è una quadrupla (X, Y, K, H) dove: X è l insieme dei possibili messaggi Y è l insieme delle possibili impronte K è l insieme delle chiavi H = {h k : X Ø Y k œ K} è l insieme delle funzioni di hash Alberto Leporati Corso di Crittografia 18
19 Funzioni di hash l insieme X può essere finito (es: {0,1} n ) oppure infinito l insieme Y è sempre finito se X è finito, si assume X Y ; anzi, spesso, si assume X 2 Y in tal caso, h: X Ø Y viene detta anche funzione di compressione (da non confondere con i formati di compressione zip, arj, ecc.) Alberto Leporati Corso di Crittografia 19
20 Funzioni di hash deve essere difficile risolvere i seguenti problemi preimage: input: h: X Ø Y e y œ Y output: x œ X tale che h(x) = y Ø h deve essere una funzione one-way second preimage: input: h: X Ø Y e x œ X output: x œ X tale che x x e h(x ) = h(x) collision: input: h: X Ø Y output: x, x œx tale che x x e h(x ) = h(x) Alberto Leporati Corso di Crittografia 20
21 Collisioni osservazione: collision è più facile di second preimage algoritmo per collision si suppone di poter valutare h per q volte FindCollision (h, q) scegli X 0 Œ X, con X 0 = q for each x œ X 0 do y x = h(x) if y x = y x per qualche x x then return (x, x ) else return fallimento Alberto Leporati Corso di Crittografia 21
22 Collisioni teorema: posto M = Y, la probabilità di successo di FindCollision è: ε = M 1 M 2 M q L M M M dimostrazione: sia X 0 = {x 1,, x q } per 1 i q, sia E i l evento h(x i ) {h(x 1 ),, h(x i-1 )} allora Pr[E 1 ] = 1, e 1 2 Pr[ E 1 E 2 L E q ] = L M M M M M q + M 1 da cui segue il risultato. É Alberto Leporati Corso di Crittografia 22
23 Collisioni allora, la probabilità di non avere collisioni è: q L 1 = M M M i q 1 i= 1 M se x è un numero reale piccolo, allora 1- x º e -x quindi, Pr[no collisioni] pertanto, Pr[almeno una q i 1 = 1 e i M collisione] = = 1 e 1 M q 1 i = e q ( i= 1 2 q ( q 1 ) M e 2 =ε q M 1) Alberto Leporati Corso di Crittografia 23
24 Collisioni da cui: q ( q 2 M e q q 2 q 1) ( q 2 M q 2 = = 1) M 1 2 = M ln ε ln(1 1 ln 1 1 ε 1 ε ) ε questo termine lo ignoriamo Alberto Leporati Corso di Crittografia 24
25 Collisioni se ε = ½, allora q º 1.17 ovvero: calcolando l hash di circa elementi scelti a caso abbiamo una collisione con probabilità ½ quindi: Y = {0,1} 40 Ø M = 2 40 Ø M = (insicura!) M M Y = {0,1} 128 Ø M = Ø M = 2 64 (sicura per poco tempo!) solitamente si richiede: Y = {0,1} 160 Ø M = Ø M = 2 80 Alberto Leporati Corso di Crittografia 25
26 Collisioni esempio: paradosso del compleanno Quante persone occorre avere in una stanza in modo che abbia un probabilità uguale a ½ di trovare due persone con lo stesso compleanno? M = 365 Ø 23 nonostante il nome, non è un paradosso, è solo un risultato controintuitivo Alberto Leporati Corso di Crittografia 26
27 Funzioni hash iterate data una funzione di compressione compress: {0,1} m+t Ø {0,1} m, con t 1 mostriamo come usarla per costruire una funzione di hash h, usando la tecnica delle funzioni hash iterate la tecnica consiste di tre fasi: pre-elaborazione elaborazione trasformazione dell output (opzionale) pre-elaborazione: data una stringa di input x, di lunghezza x m+t+1, si costruisce una stringa y tale che y ª 0 mod t Alberto Leporati Corso di Crittografia 27
28 Funzioni hash iterate solitamente si usa una funzione di padding pad(x) che incorpora il valore x e pone (ad esempio) i bit rimanenti a zero; si pone quindi: y = x pad(x) si divide y in r blocchi di t bit ciascuno: y = y 1 y 2 y r la fase di pre-elaborazione deve assicurare che la funzione f: x Ø y da essa calcolata sia iniettiva, cioè: x x fl f(x) f(x ) altrimenti si potrebbero generare collisioni in h è possibile assicurare l iniettività, dato che y = rt x Alberto Leporati Corso di Crittografia 28
29 Funzioni hash iterate elaborazione: sia IV una stringa (pubblica) di m bit (valore di inizializzazione) si calcola: z 0 = IV z 1 = compress(z 0 y 1 ) z 2 = compress(z 1 y 2 ) z r = compress(z r-1 y r ) Alberto Leporati Corso di Crittografia 29
30 Funzioni hash iterate trasformazione dell output (opzionale): sia g : {0,1} m Ø {0,1} l una funzione (pubblica) si pone h(x) = g(z r ) la funzione di hash iterata costruita in questo modo è: i h : {0,1} {0,1 } i= U m + t + 1 l (quindi, prende in input una stringa x di lunghezza arbitraria m+t+1, e produce in output una stringa h(x) di lunghezza fissata l) Alberto Leporati Corso di Crittografia 30
31 Costruzione di Merkle-Damgård utilizza la tecnica delle funzioni di hash iterate si riesce a dimostrare che se compress è resistente alle collisioni allora anche la funzione hash h risultante è resistente alle collisioni supponiamo che x = n m+t+1 e che t 2 se dividiamo x in k blocchi di t-1 bit ciascuno: x = x 1 x 2 µ x k allora x k = t 1 d, con 0 d t 2 e il valore di h(x) è dato dall output del seguente algoritmo k = t n 1 Alberto Leporati Corso di Crittografia 31
32 Costruzione di Merkle-Damgård compress: {0,1} m+t Ø {0,1} m, con t 2 n = x ; k = n/(t-1) ; d = n k(t-1) for i = 1 to k-1 do y i = x i y k = x k 0 padding y k+1 = rappresentazione binaria (di t-1 bit) di d z 1 = 0 m+1 y1 g 1 = compress(z 1 ) for i = 1 to k do z i+1 = g i 1 y i+1 g i+1 = compress(z i+1 ) return g h(x) = g k+1 Alberto Leporati Corso di Crittografia 32
33 Costruzione di Merkle-Damgård teorema [Stinson, pag. 129]: se compress è resistente alle collisioni, lo è anche h se t = 1, occorre una costruzione diversa supponiamo quindi che x = n m+2, e che compress: {0,1} m+1 Ø {0,1} m codifichiamo x con f(x), dove f è definita su {0,1} come segue: f(0)=0 f(1) = 01 il valore di h(x) è dato dall output del seguente algoritmo Alberto Leporati Corso di Crittografia 33
34 Costruzione di Merkle-Damgård Merkle-Damgård2(x) n = x y = 11 f(x 1 ) f(x 2 ) µ f(x n ) sia y 1, y 2,, y k la sequenza di bit di y g 1 = compress( 0 m y 1 ) for i = 1 = k-1 do g i+1 = compress( g i y i+1 ) return g h(x) = g k Alberto Leporati Corso di Crittografia 34
35 Costruzione di Merkle-Damgård si ottiene una funzione di hash: i h : U {0,1} {0,1 } i= m + 2 l teorema [Stinson, pag. 132]: se compress è resistente alle collisioni, lo è anche h Alberto Leporati Corso di Crittografia 35
36 Funzioni di hash la prima funzione di hash, MD4, è stata proposta da Rivest nel 1990 MD5 è una modifica di MD4 (costanti diverse, più iterazioni) più resistente agli attacchi sono stati trovati metodi per generare collisioni nelle funzioni di compressione di MD4 e di MD5 (ma non nella versione completa di MD4 e di MD5) SHA è stata proposta come standard dal NIST nel 1993, ed è stata adottata nel documento FIPS 180 si conosce una tecnica per generare collisioni in SHA con 2 61 tentativi Ø più efficiente del birthday attack, che ne richiede 2 80 SHA-1 (descritto in FIPS 180-1) è una piccola modifica di SHA che non rende possibile questo attacco Alberto Leporati Corso di Crittografia 36
37 Funzioni di hash nel 2001 il NIST ha annunciato la proposta per le nuove funzioni SHA-256, SHA-354 e SHA-512 i numeri si riferiscono alla dimensione del message digest si basano sempre sulla tecnica delle funzioni hash iterate la loro descrizione è più complicata di quelle di MD5 e SHA-1 vediamo ora le funzioni hash attualmente più utilizzate: SHA-1 e MD5 Alberto Leporati Corso di Crittografia 37
38 SHA-1 message digest da 160 bit tutte le operazioni sono basate su word da 32 bit operazioni usate:,,.,, Ÿ (bit a bit) + (addizione intera modulo 2 32 ) rotl s (X) (rotazione a sinistra di X di s posizioni, con 0 s 31) indichiamo con m il messaggio si assume che m Ø l = rappresentazione binaria di m è lunga al massimo 64 bit Alberto Leporati Corso di Crittografia 38
39 SHA-1: padding prima operazione: padding di m SHA-1-PAD(m) d = (447 - m ) mod 512 l = rappresentazione binaria di m, con l = se l < 64 si aggiungono zeri a sinistra finché l = 64 y = m 1 0 d l osservazioni: l 1 si aggiunge sempre, anche se m = 0 m 1 0 d ha lunghezza ª 448 mod 512 y ha lunghezza ª 0 mod 512 Alberto Leporati Corso di Crittografia 39
40 SHA-1 dopo il padding, y può essere suddivisa in blocchi y = M 1 M 2 µ M n dove ogni blocco M i è di 512 bit definiamo le funzioni f 0,, f 79 come segue: B, C, D sono word (da 32 bit) l output è una word f i ( B, C, D ) = ( B C ) (( B ) D ) se 0 B C D se 20 ( B C ) ( B D ) ( C D ) se 40 B C D se 60 i 19 i i i Alberto Leporati Corso di Crittografia 40
41 SHA-1 inoltre, definiamo le word costanti K 0,, K 79 come segue (espresse in esadecimale): K i = 5A ED9EBA1 8F1BBCDC CA62C1D6 se se se se i i i i si usano 5 registri H 0, H 1, H 2, H 3, H 4 da 32 bit (che alla fine conterranno il risultato), più 5 registri A, B, C, D, E (di 32 bit) di appoggio Alberto Leporati Corso di Crittografia 41
42 SHA-1: pseudocodice SHA-1(m) y = SHA-1-PAD(m) sia y = M 1 M 2 µ M n, dove ogni M i è un blocco di 512 bit H 0 = H 1 = EFCDAB89 H 2 = 98BADCFE H 3 = H 4 = inizializzazione dei registri Alberto Leporati Corso di Crittografia 42
43 SHA-1: pseudocodice for i = 1 to n do sia M i = w 0 w 1 µ w 15, dove ogni w i è for t = 16 to 79 una word do w t = rotl 1 (w t-3 w t-8 w t-14 w t-16 ) A = H 0 ; B = H 1 ; C = H 2 ; D = H 3 ; E = H 4 for t = 0 to 79 do temp = rotl 5 (A) + f t (B, C, D) + E + w t + K t E = D; D = C; C = rotl 30 (B); B = A A = temp Alberto Leporati Corso di Crittografia 43
44 SHA-1: indentato sotto for t = 0 to 79 H 0 = H 0 + A H 1 = H 1 + B H 2 = H 2 + C H 3 = H 3 + D H 4 = H 4 + E return (H 0 H 1 H 2 H 3 H 4 ) come si vede, SHA-1 segue il modello delle funzioni hash iterate Alberto Leporati Corso di Crittografia 44
45 MD5 message digest da 128 bit è diventato uno standard de facto efficiente su macchine a 32 bit più lento ma più sicuro di MD4 operazioni usate (le stesse di SHA-1):,,.,, Ÿ (bit a bit) + (addizione intera modulo 2 32 ) rotl s (X) (rotazione a sinistra di X di s posizioni, con 0 s 31) indichiamo con mœ {0,1} b il messaggio Alberto Leporati Corso di Crittografia 45
46 MD5: padding la lunghezza b di m è arbitraria, nel caso in cui b (circa 2.15 miliardi di GB), si considera la rappresentazione binaria solo dei 64 bit meno significativi di b prima operazione: padding di m MD5-PAD(m) d = (447 - m ) mod 512 l = rappresentazione binaria di b, con l = se l < 64 si aggiungono zeri a sinistra finché l = 64 y = m 1 0 d l Alberto Leporati Corso di Crittografia 46
47 MD5: padding il padding è uguale a quello di SHA-1 unica differenza: la doppia word che contiene la rappresentazione binaria di b viene attaccata al contrario (prima la word meno significativa) analogamente, in MD5 all interno di ogni word compare prima il byte meno significativo nei byte, invece, compare prima il bit più significativo queste incongruenze sono state corrette con SHA-1 valgono le stesse osservazioni fatte per SHA-1: l 1 si aggiunge sempre, anche se m = 0 m 1 0 d ha lunghezza ª 448 mod 512 y ha lunghezza ª 0 mod 512 Alberto Leporati Corso di Crittografia 47
48 Alberto Leporati Corso di Crittografia 48 la lunghezza di y è anche un multiplo di 16 word (= 16 x 4 byte = 16 x 4 x 8 bit = 512 bit) quindi, dopo il padding, y può essere suddivisa in word: y = M 0 M 1 µ M -1 dove è un multiplo di 16 definiamo le funzioni F, G, H, I come segue: ) ( ),, ( ),, ( ) ( ) ( ),, ( ) ( ) ( ),, ( Z X Y Z Y X I Z Y X Z Y X H Z Y Z X Z Y X G Z X Y X Z Y X F = = = = MD5
49 MD5: pseudocodice X, Y, Z sono word (da 32 bit) l output è una word si usano 4 registri A, B, C, D da 32 bit (che alla fine conterranno il risultato) più 4 registri AA, BB, CC, DD (di 32 bit) di appoggio inoltre, si usa un array T[1..64] di 64 word il valore di T[i] è dato dalla parte intera di: ÿ sin(i) dove i è espresso in radianti l elaborazione avviene un blocco di 16 word alla volta; il blocco attuale è contenuto in un buffer X[0..15] di 16 word Alberto Leporati Corso di Crittografia 49
50 MD5: pseudocodice MD5(m) y = MD5-PAD(m) sia y = M 0 M 1 µ M N-1, dove ogni M i è una word di 32 bit, ed N è un multiplo di 16 A = B = 89ABCDEF C = FEDCBA98 D = sono gli stessi usati per H0, H1, H2, in SHA-1 Alberto Leporati Corso di Crittografia 50
51 MD5: pseudocodice for i = 0 to N/16 1 do for j = 0 to 15 do X[j] = M[i*16 + j] AA = A BB = B CC = C DD = per ogni blocco da 16 copia il blocco in salva il contenuto dei nei registri di seguono quattro per modificare il valore dei A, B, C e D Alberto Leporati Corso di Crittografia 51
52 MD5: primo [abcd k s i] è un abbreviazione a = b + rotl s (a + F(b,c,d) + X[k] + T[i]) [ABCD 0 7 1] [DABC ] [CDAB ] [BCDA ] [ABCD 4 7 5] [DABC ] [CDAB ] [BCDA ] [ABCD 8 7 9] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] Alberto Leporati Corso di Crittografia 52
53 MD5: secondo [abcd k s i] è un abbreviazione a = b + rotl s (a + G(b,c,d) + X[k] + T[i]) [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] Alberto Leporati Corso di Crittografia 53
54 MD5: terzo [abcd k s i] è un abbreviazione a = b + rotl s (a + H(b,c,d) + X[k] + T[i]) [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] Alberto Leporati Corso di Crittografia 54
55 MD5: quarto [abcd k s i] è un abbreviazione a = b + rotl s (a + I(b,c,d) + X[k] + T[i]) [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] [ABCD ] [DABC ] [CDAB ] [BCDA ] Alberto Leporati Corso di Crittografia 55
56 MD5: pseudocodice A= A + AA B = B + BB C = C + CC D = D + DD return (A B C D) osservazione: i byte di A, B, C e D vanno stampati dal meno significativo al più significativo Alberto Leporati Corso di Crittografia 56
57 Uso delle funzioni di hash supponiamo che Alice voglia firmare un messaggio m, usando un crittosistema a chiave pubblica calcola h(m), dove h è una funzione di hash calcola D A (h(m)) spedisce a Bob il messaggio firmato (m, D A (h(m))) Bob, per verificare la firma: calcola x = h(m) calcola y = E A (D A (h(m))) accetta la firma come valida se e solo se x = y come MAC: Alice spedisce a Bob la coppia (m, h(m)) = (x, y) Bob accetta m come genuino solo se y = h(x) Alberto Leporati Corso di Crittografia 57
58 Digital Signature Algorithm (DSA) siano: p un primo da L bit tale che il logaritmo discreto sia intrattabile in p *, dove L ª 0 mod 64 e 512 L 1024 q un primo da 160 bit che divide p-1 α œ p * una radice q-esima di 1 modulo p α ha ordine q, cioèα q ª 1 mod p basta prendere un generatore g di p *, e porre α = g (p-1)/q mod p lo spazio dei messaggi è P = {0,1}* Alberto Leporati Corso di Crittografia 58
59 Digital Signature Algorithm (DSA) lo spazio delle firme è A = p *µ p * Ø ogni firma è lunga 320 bit lo spazio delle chiavi è: K = {(p, q, α, β) : β ªα a mod p} con 0 a q-1 chiave pubblica: (p, q, α, β) chiave privata: a per firmare m œ P, Alice sceglie a caso r, con 1 r q-1, e calcola: sig k (m, r) = (γ, δ) Alberto Leporati Corso di Crittografia 59
60 Digital Signature Algorithm (DSA) dove: γ = (α r mod p) mod q δ = (SHA-1(m) + aγ )ÿ r -1 mod q se viene γ = 0 oppure δ = 0 si sceglie un nuovo valore r per verificare che (γ, δ) œ q *µ q * è una firma per m œ {0,1}*, si calcola: e 1 = SHA-1(m) ÿδ -1 mod q e 2 = γÿδ -1 mod q Alberto Leporati Corso di Crittografia 60
61 Digital Signature Algorithm (DSA) e si accetta la firma come valida (cioè ver k (x, (γ, δ)) = vero) se e solo se: (α e 1β e 2 mod p) mod q = γ la verifica della validità del criterio di accettazione richiede alcuni conti (delicati) modulo p e modulo q DSA è stato proposto nel 1991 dalla NSA, ed è diventato uno standard del NIST a causa del progresso degli algoritmi per il calcolo del logaritmo discreto, nell ottobre 2001 il NIST ha proposto di fissare L = 1024 Alberto Leporati Corso di Crittografia 61
62 PKI (Public Key Infrastructures) problema della crittografia a chiave pubblica: il canale non è autenticato chi riceve un messaggio non può essere certo del mittente chi spedisce un messaggio, non può essere certo del destinatario le firme digitali (prima firmo, poi cifro) risolvono il problema? Alice deve mandare un messaggio m a Bob chiede a Bob la chiave pubblica quando Bob spedisce E B, Eve la intercetta e la sostituisce con E E Alberto Leporati Corso di Crittografia 62
63 PKI (Public Key Infrastructures) Alice manda E E (D A (m)) a Eve Eve calcola E A (D E (E E (D A (m)))) e ricava m Eve spedisce a Bob E B (D A (m)) Alice e Bob non si accorgono di nulla le firme digitali assicurano che m è stato prodotto da Alice, non che è stato spedito da Alice! il problema è: quando ad Alice arriva una chiave pubblica, come fa a essere certa che è quella di Bob? Alberto Leporati Corso di Crittografia 63
64 PKI (Public Key Infrastructures) soluzione: Certification Authorities (CA) Alice e Bob si iscrivono presso la CA per iscriversi devono mostrare dei documenti di identità la CA fornisce a ciascuno una coppia (chiave pubblica, chiave privata) la CA mette le chiavi pubbliche in un elenco, ad es. disponibile su Internet quando Alice vuole la chiave pubblica di Bob, la preleva dall elenco Alberto Leporati Corso di Crittografia 64
65 PKI (Public Key Infrastructures) così facendo, però, la CA diventa un collo di bottiglia per le comunicazioni! prima soluzione: la CA delega e autorizza altre CA CA si forma una gerarchia di CA (PKI Infrastruttura a chiave pubblica) CA CA problema: mantenere aggiornate le informazioni quando viene fatta una modifica in una CA, questa si deve propagare velocemente alle altre Alberto Leporati Corso di Crittografia 65
66 PKI (Public Key Infrastructures) seconda soluzione: all atto dell iscrizione, ogni utente riceve un certificato: sig CA (Bob, E B, data iniziale, data finale) che indica: qual è la chiave pubblica a chi si riferisce l intervallo temporale in cui il certificato è valido volendo, si possono aggiungere altre informazioni utili Alberto Leporati Corso di Crittografia 66
67 PKI (Public Key Infrastructures) il certificato è firmato dalla CA la chiave segreta della CA deve essere molto difficile da falsificare la chiave pubblica della CA deve essere facilissima da trovare (quotidiani, riviste, radio, televisione, telefono, Internet, SMS, ) Ø quando la CA cambia chiavi, bisogna aggiornarle dappertutto quando Alice vuole la chiave di Bob, Bob le dà il proprio certificato fornito dalla CA Alberto Leporati Corso di Crittografia 67
68 PKI (Public Key Infrastructures) per imbrogliare, Eve dovrebbe costruire un certificato del tipo: sig CA (Bob, E E, data iniziale, data finale) se Bob pensa che la propria chiave segreta sia compromessa, può revocare le chiavi (e quindi il certificato) quando Bob revoca le chiavi, la CA mette il certificato corrispondente in una lista, che si chiama Certificate Revocation List (CRL) quando Alice riceve il certificato da Bob, deve controllare che non sia nella CRL Alberto Leporati Corso di Crittografia 68
69 PKI (Public Key Infrastructures) la CRL può essere pubblicata dalla CA oppure distribuita a tutti gli utenti problema: distribuzione rapida delle modifiche problema a monte: bisogna fidarsi della CA le persone possono essere corrotte, e comunque non riescono a svolgere il lavoro a mano i computer hanno un sacco di problemi di sicurezza altro modello: Web of Trust adottato da PGP non richiede alcuna autorità centrale Alberto Leporati Corso di Crittografia 69
70 Web of Trust idea: ciascuno assegna un punteggio alle persone con cui comunica il punteggio può essere dato direttamente oppure calcolato il calcolo del punteggio si basa su regole del tipo: se mi fido di A (punteggio alto) e A si fida di B, il punteggio di B sale se mi fido di A e A non si fida di B, il punteggio di B scende quindi, il punteggio di B è calcolato come combinazione lineare su tutte le persone che lo conoscono (e che io conosco) Alberto Leporati Corso di Crittografia 70
schema di firma definizione formale
schema di firma Alice firma un messaggio da mandare a Bob ci sono due componenti: un algoritmo sig per firmare e un algoritmo ver per verificare quello per firmare dev essere privato (solo Alice può firmare)
Dettaglilogaritmo discreto come funzione unidirezionale
logaritmo discreto come funzione unidirezionale in generale, lavoreremo con il gruppo U(Z p ) = Z p dati g generatore di Z p e x tale che 1 x p 1, calcolare y = g x è computazionalmente facile (y g x (mod
DettagliFunzioni di hash sicure: MD5 e SHA-1
POLITECNICO DI MILANO Funzioni di hash sicure: MD5 e SHA-1 CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/ Funzioni di hash Una funzione di hash (o message digest) è una
DettagliCrittografia. Corso di Laurea Specialistica. in Informatica. Generatori di Numeri PseudoCasuali
Crittografia Corso di Laurea Specialistica in Informatica Generatori di Numeri PseudoCasuali Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano
Dettaglisia G un gruppo ciclico di ordine n, sia g un generatore di G
logaritmo discreto sia G un gruppo ciclico di ordine n, sia g un generatore di G dato y 1 G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y ex: in U(Z 9 ) con g = 2, se y = 7 si ha x
Dettaglida chi proviene un messaggio?
da chi proviene un messaggio? in un crittosistema simmetrico solo Alice e Bob conoscono la chiave se Bob riceve un messaggio di Alice e la decifratura del messaggio ha senso, il messaggio proviene certamente
DettagliFunzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per
Funzioni Hash Impronta Digitale Impronta digitale di un messaggio L impronta digitale deve essere facile da calcolare difficile da invertire unica L impronta digitale viene utilizzata per garantire l integrità
Dettaglisia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y
gruppi ciclici Definizione Un gruppo G con n elementi tale esiste un elemento g G con o(g) = n si dice ciclico, e g si dice un generatore del gruppo U(Z 9 ) è ciclico p. es. U(Z 8 ) non lo è i gruppi U(Z
Dettagliproblema del logaritmo discreto
problema del logaritmo discreto consideriamo il gruppo ciclico U(Z p ), p primo sia g un elemento primitivo modulo p sia y {1,..., p 1} = U(Z p ) il minimo intero positivo x con g x = y si dice il logaritmo
DettagliCrittografia. Nozioni di Algebra. Corso di Laurea Specialistica. in Informatica
Crittografia Corso di Laurea Specialistica in Informatica Nozioni di Algebra Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca e-mail:
DettagliSHA %&'(& lunghezza arbitraria. 160 bit
%&'(&!"### "$ % SHS per Secure Hash Standard SHA per Secure Hash Algorithm Standard del Governo americano dal 1993 Modificato nel luglio 1994, denotato SHA-1 (unica differenza: aggiunta di uno shift nell
DettagliSicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli
Sicurezza della comunicazione tra due entità Prof.ssa Gaia Maselli maselli@di.uniroma1.it La sicurezza nelle reti Principi di crittografia Integrità dei messaggi Autenticazione end-to-end 2 Sicurezza nella
Dettagli!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema
!"### "$ " %& Applicazioni Autenticità del messaggio M Integrità del messaggio M 1 2 ' Easy computation: dato un valore M e la chiave K, MAC(K,M) è facile da calcolare Compression: M di lunghezza finita,
DettagliSchemi di Autenticazione per il Protocollo HTTP. a cura di Nicola Ferrante
Schemi di Autenticazione per il Protocollo HTTP a cura di Nicola Ferrante Challenge and Response (Sfida e risposta) Basic Access Authentication: Ancora oggi utilizzato, ma non troppo sicuro Digest Access
DettagliFirme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale
irme digitali irma Digitale Barbara asucci Dipartimento di Informatica ed Applicazioni Università di Salerno firma Equivalente alla firma convenzionale masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci
DettagliCrittografia a chiave pubblica
Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Cifrari simmetrici canale insicuro Bob 1 Distribuzione
DettagliFunzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per
Funzioni Hash Impronta Digitale Impronta digitale di un messaggio L impronta digitale deve essere facile da calcolare difficile da invertire unica L impronta digitale viene utilizzata per garantire l integrità
Dettaglimaggiore velocità per cifratura/decifratura l uso di chiavi più corte comporta: memorizzazione efficiente Alberto Leporati Corso di Crittografia 2
Crittografia Corso di Laurea Specialistica in Informatica Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di
DettagliFunzioni hash. Funzioni Hash. Uso delle funzioni hash. Firme digitali e Funzioni hash. Funzione Hash. Firme digitali. Integrita dei dati
Funzioni hash Funzioni Hash lunghezza arbitraria/finita Funzione Hash b bit Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci
DettagliIdentificazione, Autenticazione e Firma Digitale. Firma digitale...
Identificazione, Autenticazione e Firma Digitale In origine crittografia = confidenzialità Diffusione delle reti: nuove funzionalità. Identificazione Autenticazione Firma digitale Identificazione: un sistema
DettagliFirma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale
firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 Soluzione
DettagliCorso di Crittografia
Corso di Crittografia Esercizi Addizionali su Cifrari Simmetrici e MAC 1. Sia F : {0, 1} k {0, 1}`! {0, 1} L una funzione pseudocasuale sicura e si consideri il seguente cifrario simmetrico. Lo spazio
DettagliApplicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M
!"### "$ " %& Applicazioni Autenticità del messaggio M Integrità del messaggio M 1 ' 2 Easy computation: dato un valore M e la chiave K, MAC(K,M) è facile da calcolare Compression: M di lunghezza finita,
DettagliCRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:
CRITTOGRAFIA 2014/15 Appello del 13 gennaio 2015 Esercizio 1 Crittografia ellittica [9 punti] 1. Descrivere l algoritmo di Koblitz per trasformare un messaggio m, codificato come numero intero, in un punto
DettagliCrittografia. Crittosistemi a Chiave Pubblica. Corso di Laurea Specialistica. in Informatica
Crittografia Corso di Laurea Specialistica in Informatica Crittosistemi a Chiave Pubblica Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca
DettagliCryptographic Hash Functions. by Paolo Bernardi
Cryptographic Hash Functions by Paolo Bernardi Cosa sono? y = h(x) N numero di possibili input M numero di possibili output N >> M (di solito almeno N > 2M) Input e output sono di lunghezza fissa Perché
DettagliM firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale
firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 firma irma
Dettaglisia G un gruppo ciclico di ordine n, sia g un generatore di G
logaritmo discreto sia G un gruppo ciclico di ordine n, sia g un generatore di G dato y 1 G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y ex: in U(Z 9 ) con g = 2, se y = 7 si ha x
DettagliFirme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale
irme digitali irma Digitale Barbara asucci Dipartimento di Informatica ed Applicazioni Università di Salerno firma Equivalente alla firma convenzionale masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci
Dettaglisi cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce
crittosistema RSA Sia N = pq, p, q primi. Sia P = C = Z N. Lo spazio delle chiavi è K = {(N, p, q, d, e) de 1 (mod φ(n))}. Se k = (N, p, q, d, e) è una chiave, poniamo e k (x) = x e (mod N) N e e sono
DettagliCorso di Crittografia
Corso di Crittografia Prova in Itinere del 21 Giugno 2013 1. Si definisca formalmente il concetto di indistinguibilità ind-id-cpa per cifrari basati sull identità. 2. Si consideri il seguente problema
DettagliCrittografia. Corso di Laurea Specialistica. in Informatica. Crittosistemi basati sulle Curve. Ellittiche
Crittografia Corso di Laurea Specialistica in Informatica Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di
Dettaglifunzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n
ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto (mod n) si denota con U(Z n ) e ha ordine φ(n) esempio:
DettagliITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica
ITC Mossotti - Novara II Segmento - progetto POLIS Verica di Informatica Nome e Cognome:... Data e Ora:... 1) Nella cifratura convenzionale uso la chiave privata per cifrare l'impronta del messaggio uso
DettagliCorso di Crittografia Prof. Dario Catalano. Firme Digitali
Corso di Crittografia Prof. Dario Catalano Firme Digitali Introduzione n Una firma digitale e l equivalente informatico di una firma convenzionale. n Molto simile a MA, solo che qui abbiamo una struttura
DettagliLa firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d
Definizione Sistemi per la creazione e la verifica di firme digitali Differenze tra firma digitale e firma convenzionale Valore giuridico della firma digitale in Italia Crittografia asimmetrica 11-01-2010
Dettagliidea della crittografia a chiave pubblica
idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura
DettagliFUNZIONI HASH ONE-WAY ITERATE
FUNZIONI HASH ONE-WAY ITERATE SNEFRU SHA-1 di Davide Gallo per Elementi di Crittografia 2004/2005 Prof.sa Rosaria Rota Funzioni Hash : contesto Oltre alla Segretezza i moderni sistemi di crittografia a
Dettaglida chi proviene un messaggio?
da chi proviene un messaggio? in un crittosistema simmetrico solo Alice e Bob conoscono la chiave se Bob riceve un messaggio di Alice e la decifratura del messaggio ha senso, il messaggio proviene certamente
DettagliCrittografia a chiave pubblica
Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Sicurezza CCA In un attacco CCA, è capace di
DettagliCifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica
Crittosistema ElGamal lfredo De Santis Dipartimento di Informatica ed pplicazioni Università di Salerno Marzo 2012 ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Cifrari asimmetrici kpriv kpub
DettagliIntroduzione alla FIRMA DIGITALE
Introduzione alla FIRMA DIGITALE 25 e 27 Novembre 2015 1 AGENDA Firma Digitale: cos è? Schemi di Firma Digitale: - DSA - El Gamal - RSA Cenni su possibili Attacchi Comparazione tra Firma Autografa e Firma
DettagliCifrario di Rabin. Chiara Gasparri
Cifrario di Rabin Chiara Gasparri Simbolo di Legendre Sia p un numero primo dispari, definiamo il Simbolo di Legendre come 0 se p divide a a = 1 se a è un quadrato di Z p 1 se a non è quadrato Z p p Proprietà
Dettagliuna possibile funzione unidirezionale
una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare
DettagliLa crittografia moderna e la sua applicazione
La crittografia moderna e la sua applicazione Corso FSE per la GdF Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli
Dettagliidea della crittografia a chiave pubblica
idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2010 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
Dettagli(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1
ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto si denota con U(Z n ) e ha ordine φ(n) esempio:
DettagliFirme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre 2009. Equivalente alla firma convenzionale
Firme digitali Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Firma Digitale Equivalente alla firma convenzionale
DettagliReti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)
Crittografia & Java Cryptographic Architecture (JCA) 1 (Es. 6) La crittografia La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare una
DettagliGestione della chiave
Gestione della chiave La crittografia a chiave pubblica aiuta a risolvere il problema della distribuzione delle chiavi Dobbiamo occuparci... Della distribuzione delle chiavi pubbliche Dell uso della crittografia
DettagliSicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione
Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria Informatica A.A. 2018-2019 Sicurezza nella comunicazione
DettagliCrittografia per la sicurezza dei dati
Crittografia per la sicurezza dei dati Esigenza di sicurezza in rete significa: -garanzia di riservatezza dei dati in rete (e-mail) -garanzia di transazioni sicure (e-commerce, home banking) La crittografia
Dettaglidelle funzioni di verifica V = {ver: Pä Aä K Ø {vero,falso}} è l insieme Alberto Leporati Corso di Crittografia 2 Firme Digitali e Funzioni di Hash
Crttografa Corso d Laurea Specalstca n Informatca Frme Dgtal e Funzon d Hash Alberto Leporat Dpartmento d Informatca, Sstemstca e Comuncazone Unverstà degl Stud d Mlano Bcocca e-mal: alberto.leporat@unmb.t
DettagliNUMERI PRIMI E CRITTOGRAFIA
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
DettagliUna curva ellittica è una curva definita da un equazione in due incognite del tipo:
Lezione tenuta dal Prof. P. D Arco Presentazione di: Francesco Apicella Raffaele De Feo Ermanno Travaglino Una curva ellittica è una curva definita da un equazione in due incognite del tipo: y 2 = x 3
DettagliSicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione
Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria delle Telecomunicazioni Corso di Laurea in Ingegneria
DettagliSeminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu
Seminario sulla Crittografia Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu Crittografia Cos è la crittografia Le tecniche più usate La firma digitale Cos è la crittografia Per garantire la riservatezza
DettagliCrittografia simmetrica (a chiave condivisa)
Crittografia simmetrica (a chiave condivisa) Crittografia simmetrica (a chiave condivisa) Schema di trasmissione con chiave condivisa: Crittografia simmetrica (a chiave condivisa) Schema di trasmissione
Dettagliuna possibile funzione unidirezionale
una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a
DettagliAltre alternative a RSA interessanti e praticabili
Altre alternative a RSA interessanti e praticabili Prof. Massimiliano Sala MINICORSI 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia
DettagliLe firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza
Approcci al problema della sicurezza Aspetti della sicurezza e tecnologie correlate Requisiti per la sicurezza: 1. qualcosa che sai (username/password) 2. qualcosa che hai (cellulare, token, smart-card,
DettagliLa funzione Hash. Garanzia dell integrità dei dati e autenticazione dei messaggi
La funzione Hash Garanzia dell integrità dei dati e autenticazione dei messaggi Come funziona l Hash function Associa stringhe di bit di lunghezza arbitraria e finita stringhe di bit di lunghezza inferiore.
DettagliPr(x y) = Pr(x) si può riformulare questa definizione in termini di indistinguibilità x 0, x 1 P e y C, scelta in modo casuale una chiave k K
segretezza perfetta un crittosistema CS=(P, C, K, E, D) è a segretezza perfetta se x P e y C Pr(x y) = Pr(x) si può riformulare questa definizione in termini di indistinguibilità x 0, x 1 P e y C, scelta
DettagliRSA e firma digitale
Università degli Studi di Cagliari Corso di Laurea in Matematica RSA e firma digitale Mara Manca Relatore: prof. Andrea Loi Anno Accademico 2015-2016 Mara Manca Relatore: prof. Andrea Loi RSA e firma digitale
DettagliSicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash
Funzioni crittografiche di hash Codici di checksum Un codice di checksum è una firma di dimensione fissa (ad es. 32 bit) calcolata a partire da un messaggio (*) di lunghezza variabile. Ogni messaggio ha
Dettagliidea della crittografia a chiave pubblica
idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura
DettagliCorso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard
Corso di Crittografia Prof. Dario Catalano Advanced Encryption Standard Perche un nuovo standard? n Quando si è deciso di sostituire DES, questo era ancora sicuro. n Sorge naturale la questione del perche
DettagliCrittografia Moderna. Segretezza Perfetta: nozioni
Crittografia Moderna Segretezza Perfetta: nozioni Segretezza perfetta Ci occuperemo di schemi di cifratura perfettamente sicuri Avversari di potere computazionale illimitato confidenzialità / riservatezza
DettagliSicurezza nelle reti: protezione della comunicazione
Sicurezza nelle reti: protezione della comunicazione Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material
DettagliMessage Authentication Code
Message Authentication Code Message Authentication Code (MAC) messaggio M Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads
DettagliPrivacy e firma digitale
WORKSHOP Connessione in rete: sicurezza informatica e riservatezza Privacy e firma digitale C. Giustozzi Privacy e firma digitale Corrado Giustozzi (c.giustozzi@iet.it) 1 Le comunicazioni elettroniche
Dettagliuna possibile funzione unidirezionale
una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare
DettagliAutenticazione, firme digitali e certificati digitali
Nota di Copyright ETI DI CALCOLATOI II Prof. PIE LUCA MONTESSOO Ing. DAVIDE PIEATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto
DettagliIl protocollo SSL! Il protocollo SSL! (Secure Socket Layer)! "Uno dei protocolli più diffusi nelle comunicazioni sicure:!
! Il protocollo SSL! Il protocollo SSL! (Secure Socket Layer)! "Uno dei protocolli più diffusi nelle comunicazioni sicure:!! garantisce confidenzialità e affidabilità delle comunicazioni su Internet, proteggendole
DettagliCifratura Asimmetrica
Cifratura Asimmetrica 0 Cifrari a chiave pubblica Algoritmo di Cifratura E() c = E(k 1, m) la cifratura del messaggio in chiaro m con la chiave k 1 produce il testo cifrato c Algoritmo di Decifratura D()
DettagliA cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro...
Crittografia A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Mister X...anche in presenza di Mister X, un avversario che ascolta la
DettagliCalcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni
Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni Prof.ssa Laura Pezza (A.A. 2017-2018) III Lezione del 12.03.2018 http://www.dmmm.uniroma1.it/ laura.pezza 1 I metodi
DettagliEquazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson
DettagliEquazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson
DettagliLauree scientifiche Crittografia. RSA CRT
Lauree scientifiche Crittografia. RSA CRT Emanuele Cesena emanuele.cesena @ gmail.com Sommario RSA Complessità RSA CRT Crittoanalisi di RSA CRT RSA in pillole Chiave pubblica: intero n = p q di 1024 bit,
DettagliCrittografia avanzata Lezione del 21 Marzo 2011
Crittografia avanzata Lezione del 21 Marzo 2011 Attacchi alle funzioni hash Collisioni: trovare due messaggi M1 e M2 tali che H(M1) = H(M2) in meno di 2^(L/2) tentativi L è la lunghezza dell'hash Mezzi
DettagliEsercitazione per la prova scritta
Esercitazione per la prova scritta x 2 Esercizio 1 x n k in ECB/CBC/CFB/OFB Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci
DettagliElementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia
Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia Cristina Turrini UNIMI - 2015/2016 Cristina Turrini (UNIMI - 2015/2016) Elementi di Algebra e di Matematica Discreta
DettagliEsercizi Capitolo 7 - Hash
Esercizi Capitolo 7 - Hash Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sul Text Processing
Dati e Algoritmi I (Pietracaprina) Esercizi sul Text Processing Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T un testo di n caratteri e P un pattern di m n caratteri e si supponga che
DettagliIntroduzione alla crittografia. Diffie-Hellman e RSA
Introduzione alla crittografia. Diffie-Hellman e RSA Daniele Giovannini Torino 2011, Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia
DettagliAlgoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio
Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi
DettagliTeoria dell informazione
Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Teoria dell informazione A.A. 2008-09 Alberto Perotti DELEN-DAUIN Modello di sistema di comunicazione Il modello di
DettagliCorso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015. Lezione del 11 Maggio 2015
Corso di Qualità del Servizio e Sicurezza nelle reti A.A. 2014/2015 Lezione del 11 Maggio 2015 1 Crittografia Scienza antichissima: codificare e decodificare informazione Tracce risalenti all epoca di
DettagliCorso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore
Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Soluzione di un sistema non lineare con la Regula Falsi generalizzata per la determinazione
DettagliEsercitazione 03. Sommario. Gnu Privacy Guard (GPG) Chiavi GPG (1/2) Andrea Nuzzolese. Gnu Privacy Guard (GPG) Descrizione esercitazione
Sommario Esercitazione 03 Andrea Nuzzolese Gnu Privacy Guard (GPG) Principali funzionalità Descrizione esercitazione Scopo Interazione con il sistema Credits: Angelo Di Iorio ALMA MATER STUDIORUM UNIVERSITA
DettagliCrittografia a chiave pubblica
Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Costruzioni Vedremo alcune costruzioni basate
DettagliCrittografia con Python
Crittografia con Python Corso introduttivo Marzo 2015 Con materiale adattato dal libro Hacking Secret Cypher With Python di Al Sweigart (http://inventwithpython.com/hacking/index.html) Ci eravamo lasciati
DettagliSistemi di numerazione
Sistemi di numerazione Numeri naturali Noi rappresentiamo i numeri con una sequenza di cifre, ad esempio 10 : 0,1,2,3,4,5,6,7,8,9, secondo una notazione posizionale. Posizionale significa che il valore
DettagliDigital Signature Standard
Corso di Sicurezza 2008/2009 Golinucci Thomas Zoffoli Stefano Gruppo 11 Firme digitali 1. Introduzione. 2. Caso d uso e digitalizzazione. 3. Firme digitali e possibili attacchi. 4. Manuali vs Digitali.
DettagliElementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n
Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica
Dettaglicrittosistemi a flusso
crittosistemi a flusso Prendiamo Z 2 come alfabeto; in un cifrario a flusso, il testo in chiaro x = x 1 x 2... viene cifrato bit per bit con la chiave k = k 1, k 2,... per ottenere il testo cifrato. Nell
Dettagli