Crittografia. Firme Digitali e Funzioni di Hash. Corso di Laurea Specialistica. in Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Crittografia. Firme Digitali e Funzioni di Hash. Corso di Laurea Specialistica. in Informatica"

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 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)

Dettagli

logaritmo discreto come funzione unidirezionale

logaritmo 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

Dettagli

Funzioni di hash sicure: MD5 e SHA-1

Funzioni 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

Dettagli

Crittografia. Corso di Laurea Specialistica. in Informatica. Generatori di Numeri PseudoCasuali

Crittografia. 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

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G

sia 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

Dettagli

da chi proviene un messaggio?

da 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

Dettagli

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Funzioni 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à

Dettagli

sia 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

sia 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

Dettagli

problema del logaritmo discreto

problema 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

Dettagli

Crittografia. Nozioni di Algebra. Corso di Laurea Specialistica. in Informatica

Crittografia. 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:

Dettagli

SHA %&'(& lunghezza arbitraria. 160 bit

SHA %&'(& 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

Dettagli

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

Sicurezza 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. 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,

Dettagli

Schemi di Autenticazione per il Protocollo HTTP. a cura di Nicola Ferrante

Schemi 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

Dettagli

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

Firme 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

Dettagli

Crittografia a chiave pubblica

Crittografia 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

Dettagli

Funzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per

Funzioni 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à

Dettagli

maggiore velocità per cifratura/decifratura l uso di chiavi più corte comporta: memorizzazione efficiente Alberto Leporati Corso di Crittografia 2

maggiore 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

Dettagli

Funzioni hash. Funzioni Hash. Uso delle funzioni hash. Firme digitali e Funzioni hash. Funzione Hash. Firme digitali. Integrita dei dati

Funzioni 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

Dettagli

Identificazione, Autenticazione e Firma Digitale. Firma digitale...

Identificazione, 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

Dettagli

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale

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 Soluzione

Dettagli

Corso di Crittografia

Corso 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

Dettagli

Applicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M

Applicazioni. 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,

Dettagli

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

CRITTOGRAFIA 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

Dettagli

Crittografia. Crittosistemi a Chiave Pubblica. Corso di Laurea Specialistica. in Informatica

Crittografia. 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

Dettagli

Cryptographic Hash Functions. by Paolo Bernardi

Cryptographic 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é

Dettagli

M firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale

M 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

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G

sia 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

Dettagli

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

Firme 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

Dettagli

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce

si 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

Dettagli

Corso di Crittografia

Corso 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

Dettagli

Crittografia. Corso di Laurea Specialistica. in Informatica. Crittosistemi basati sulle Curve. Ellittiche

Crittografia. 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

Dettagli

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

funzione φ 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:

Dettagli

ITC Mossotti - Novara. Verica di Informatica. Nome e Cognome:... 1) Nella cifratura convenzionale. 2) Nella crittograa a chiave pubblica

ITC 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

Dettagli

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Corso 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

Dettagli

La firma digitale, o firma elettronica qualificata, basata sulla tecnologia della crittografia a chiavi asimmetriche, è un sistema di autenticazione d

La 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

Dettagli

idea della crittografia a chiave pubblica

idea 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

Dettagli

FUNZIONI HASH ONE-WAY ITERATE

FUNZIONI 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

Dettagli

da chi proviene un messaggio?

da 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

Dettagli

Crittografia a chiave pubblica

Crittografia 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

Dettagli

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica

Cifrari 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

Dettagli

Introduzione alla FIRMA DIGITALE

Introduzione 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

Dettagli

Cifrario di Rabin. Chiara Gasparri

Cifrario 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à

Dettagli

una possibile funzione unidirezionale

una 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

Dettagli

La crittografia moderna e la sua applicazione

La 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

Dettagli

idea della crittografia a chiave pubblica

idea 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

Dettagli

RETI DI CALCOLATORI II

RETI 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

(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:

Dettagli

Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre 2009. Equivalente alla firma convenzionale

Firme 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

Dettagli

Reti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

Reti 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

Dettagli

Gestione della chiave

Gestione 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

Dettagli

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Sicurezza 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

Dettagli

Crittografia per la sicurezza dei dati

Crittografia 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

Dettagli

delle funzioni di verifica V = {ver: Pä Aä K Ø {vero,falso}} è l insieme Alberto Leporati Corso di Crittografia 2 Firme Digitali e Funzioni di Hash

delle 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

Dettagli

NUMERI PRIMI E CRITTOGRAFIA

NUMERI 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

Dettagli

Una curva ellittica è una curva definita da un equazione in due incognite del tipo:

Una 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

Dettagli

Sicurezza nella comunicazione in rete: integrità dei messaggi, firma elettronica, protocolli di autenticazione

Sicurezza 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

Dettagli

Seminario 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 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

Dettagli

Crittografia simmetrica (a chiave condivisa)

Crittografia 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

Dettagli

una possibile funzione unidirezionale

una 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

Dettagli

Altre alternative a RSA interessanti e praticabili

Altre 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

Dettagli

Le firme elettroniche e i sistemi di firma. Approcci al problema della sicurezza

Le 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,

Dettagli

La funzione Hash. Garanzia dell integrità dei dati e autenticazione dei messaggi

La 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.

Dettagli

Pr(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

Pr(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

Dettagli

RSA e firma digitale

RSA 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

Dettagli

Sicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash

Sicurezza 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

Dettagli

idea della crittografia a chiave pubblica

idea 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

Dettagli

Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard

Corso 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

Dettagli

Crittografia Moderna. Segretezza Perfetta: nozioni

Crittografia 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

Dettagli

Sicurezza nelle reti: protezione della comunicazione

Sicurezza 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

Dettagli

Message Authentication Code

Message 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

Dettagli

Privacy e firma digitale

Privacy 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

Dettagli

una possibile funzione unidirezionale

una 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

Dettagli

Autenticazione, firme digitali e certificati digitali

Autenticazione, 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

Dettagli

Il 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:! ! 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

Dettagli

Cifratura Asimmetrica

Cifratura 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()

Dettagli

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro...

A 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

Dettagli

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni

Calcolo 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

Dettagli

Equazioni e sistemi non lineari

Equazioni 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

Dettagli

Equazioni e sistemi non lineari

Equazioni 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

Dettagli

Lauree scientifiche Crittografia. RSA CRT

Lauree 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,

Dettagli

Crittografia avanzata Lezione del 21 Marzo 2011

Crittografia 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

Dettagli

Esercitazione per la prova scritta

Esercitazione 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

Dettagli

Elementi 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 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

Dettagli

Esercizi Capitolo 7 - Hash

Esercizi 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

Dettagli

Dati e Algoritmi I (Pietracaprina) Esercizi sul Text Processing

Dati 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

Dettagli

Introduzione alla crittografia. Diffie-Hellman e RSA

Introduzione 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

Dettagli

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Algoritmi 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

Dettagli

Teoria dell informazione

Teoria 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

Dettagli

Corso 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 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

Dettagli

Corso 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 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

Dettagli

Esercitazione 03. Sommario. Gnu Privacy Guard (GPG) Chiavi GPG (1/2) Andrea Nuzzolese. Gnu Privacy Guard (GPG) Descrizione esercitazione

Esercitazione 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

Dettagli

Crittografia a chiave pubblica

Crittografia 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

Dettagli

Crittografia con Python

Crittografia 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

Dettagli

Sistemi di numerazione

Sistemi 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

Dettagli

Digital Signature Standard

Digital 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.

Dettagli

Elementi 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 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

Dettagli

crittosistemi a flusso

crittosistemi 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