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

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

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

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

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

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

Accordo su chiavi. Accordo su una chiave. Accordo su chiavi. Corso di Sicurezza su reti Vedremo due schemi: Diffie-Hellman

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1

Generatori. Accordo su una chiave. Diffie-Hellman [1976] Diffie-Hellman [1976] Diffie-Hellman [1976] Potenze in Z 19. iagio nnarella. nnarella.

Crittografia a chiave pubblica

Accordo su chiavi (key agreement)

Accordo su chiavi. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi. Diffie-Hellman [1976] Diffie-Hellman [1976] ??

Firme digitali. Firma Digitale. Firma Digitale. Elementi di Crittografia Equivalente alla firma convenzionale

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

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a

Crittografia a chiave pubblica

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno

Teoria dei numeri. Number Theory. Congruenze mod n. Teorema della divisione. Concetti preliminari per RSA

schema di firma definizione formale

Esercitazione per la prova scritta

logaritmo discreto come funzione unidirezionale

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

Number Theory. Teoria dei numeri. Teorema della divisione. Congruenze mod n

Digital Signature Standard

Teoria dei Numeri. Number Theory. Teoria dei numeri. Teorema della divisione. Cifrari asimmetrici più comuni basati sulla Teoria dei Numeri

C Crittografia a Chiave Pubblica 4. Cifratura. Cifratura. Decifratura. Decifratura. Crittosistema a chiave pubblica

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

una possibile funzione unidirezionale

Introduzione alla FIRMA DIGITALE

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

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

Teoria dei Numeri. Cifratura. Decifratura. Cifratura. Decifratura. Crittosistema a chiave pubblica. nnarella. iagio. nnarella.

Crittografia a chiave pubblica

Crittografia Asimmetrica

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1

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

Teoria dei Numeri. Cifratura. Decifratura. Cifratura. Decifratura. Crittosistema a chiave pubblica. nnarella. iagio. nnarella.

!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema

problema del logaritmo discreto

una possibile funzione unidirezionale

una possibile funzione unidirezionale

da chi proviene un messaggio?

Crittografia a chiave pubblica

Crittografia a chiave pubblica

Cifrari simmetrici. Crittografia a chiave pubblica. Problemi. Gestione delle chiavi

Corso di Crittografia

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Intercettazione dei dati. Uso della crittografia simmetrica

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

una possibile funzione unidirezionale

Introduzione alla crittografia. Diffie-Hellman e RSA

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Sicurezza su reti Uso della crittografia simmetrica

Stream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: !

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Protocollo E-cash ed algoritmo RSA. Carlo Manasse Giulio Baldantoni. Corso di laurea in Informatica. May 10, 2012

Message Authentication Code

ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI

Cifratura Asimmetrica

Cifrari a blocchi: Data Encryption Standard

M.C.D.(3522, 321) = 3 = ( 36) (395) 321

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

idea della crittografia a chiave pubblica

Funzioni di hash sicure: MD5 e SHA-1

Crittografia a chiave pubblica

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

Data Encryption Standard. Data Encryption Standard DES. Struttura del DES. Lunghezza della Chiave. Permutazione Iniziale IP

Crittografia simmetrica (a chiave condivisa)

Cifrario di Rabin. Chiara Gasparri

idea della crittografia a chiave pubblica

Crittografia a chiave pubblica!

NUMERI PRIMI E CRITTOGRAFIA

Lauree scientifiche Crittografia. RSA CRT

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

una possibile funzione unidirezionale

crittografia a chiave pubblica

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

(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

da chi proviene un messaggio?

FUNZIONI HASH ONE-WAY ITERATE

Firme digitali con OpenSSL

crittografia a chiave pubblica

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

Il notaio digitale Quando è stato creato. il documento D? Firme digitali. Integrita dei dati. Certificazione del tempo.

IMPLEMENTAZIONI DIDATTICHE DI ALGORITMI DI CIFRATURA PER SICUREZZA INFORMATICA

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

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

Mental Poker. Protocolli Crittografici. Mental Poker: B ottiene 5 carte. Mental Poker: B ottiene 5 carte. Mental Poker: C ottiene 5 carte

FIRMA DIGITALE E ALGORITMO DSA

DES. Struttura del DES. Data Encryption Standard. Lunghezza della Chiave. Permutazione Inversa IP -1. Permutazione Iniziale IP

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

NUMERI PRIMI E CRITTOGRAFIA

crittografia a chiave pubblica

Moltiplicazione mod n

SHA %&'(& lunghezza arbitraria. 160 bit

Ripasso. Public Key cryptograhy. Message Authentication Codes (MAC) Firma digitale

Elementi di Crittoanalisi

Indice. Elementi di Crittoanalisi. Principio di Kerckhoffs. Cifrari simmetrici. ! Tipi di attacchi! Crittoanalisi di

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

Transcript:

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 1 irma Digitale irma Digitale Equivalente alla firma convenzionale Equivalente alla firma convenzionale firma firma Soluzione naive: Soluzione naive: incollare firma digitalizzata incollare firma digitalizzata 2 3

Requisiti per la irma Digitale irma digitale La firma digitale deve poter essere facilmente prodotta dal legittimo firmatario Nessun utente deve poter riprodurre la firma di altri kpriv?? kpub Chiunque può facilmente verificare una firma Devo firmare 4 5 irma digitale irma digitale kpriv kpub kpriv kpub (,) irma di IRA (,kpriv) 6 canale insicuro Bob 7

Verifica firma digitale Verifica firma digitale kpub kpub Devo verificare se è una firma di per Verifica firma di vera se VERIICA (,,kpub) = SI falsa altrimenti 8 9 Sicurezza Tipo di attacco Cosa si intende per sicurezza di uno schema di firme digitali? Dobbiamo definire Tipo di attacco Scopo dell attacco Key-only Attack Oscar conosce solo kpub di Known essage Attack Oscar conosce una lista di messaggi e le relative firme di Chosen essage Attack Oscar sceglie dei messaggi e chiede ad di firmarli 10 11

Scopo dell attacco Total break Determinare kpriv di per poter firmare qualsiasi messaggio Selective forgery Dato un messaggio, determinare la firma tale che VERIICA (,,kpub) = SI Existential forgery Determinare una coppia (,) tale che VERIICA (,,kpub) = SI irme digitali che vedremo RSA Digital Signature Standard (DSS) firma 12 13 RSA Chiavi RSA Proposto nel 1978 da (n,d) (n,e) Rivest Shamir Adleman Sicurezza basata sulla difficoltà di fattorizzare 14 15

Chiavi RSA irma RSA (n,d) (n,e) (n,d) (n,e) n = pq p,q primi ed = 1 mod (p-1)(q-1) Devo firmare?? 16 17 irma RSA Verifica irma RSA (n,d) (n,e) irma di d mod n (n,e) Devo verificare se è una firma di per 18 19

Verifica irma RSA Piccolo esempio: Chiavi RSA (n,e) (n=3337, d=1019) (n = 3337, e = 79) 3337 = 47 71 p = 47, q = 71 Verifica firma di vera se = e mod n falsa altrimenti ed = 79 1019 = 1 mod 3220 (p-1)(q-1) = 46 70 = 3220 20 21 Piccolo esempio: Chiavi RSA Piccolo esempio: generazione firma RSA (n=3337, d=1019) (n = 3337, e = 79) (n=3337, d=1019) (n = 3337, e = 79) Devo firmare =1570 1570 irma di 1570 = 1570 1019 mod 3337 = 668 1570 668 22 23

Piccolo esempio: Verifica firma RSA Correttezza verifica firma RSA 1570 668 (n = 3337, e = 79) Verifica firma di 1570 1570 = 668 79 mod 3337 24 e mod n = ( d ) e mod n = ed mod n = 1+k(p-1)(q-1) mod n = ( (p-1)(q-1) ) k = mod n = Teorema di Eulero Z n * (p-1)(q-1) =1 mod n poichè 0 <n ed = 1 mod (p-1)(q-1) Per Per Z Z n /Z n /Z n * n *usa il il teorema cinese cinese del del resto resto 25 Sicurezza firma RSA Sicurezza firma RSA Voglio falsificare la firma di da parte di A (n,e) (n,e) Voglio generare messaggi e firme da parte di A (n,e) (n,e) Selective forgery Key only attack Devo calcolare d mod n Equivalente a rompere il crittosistema RSA?? Existential forgery Key only attack 1. Scelgo a caso 2. e mod n 26 27

Sicurezza firma RSA Voglio generare messaggi e firme da parte di A Conosco le coppie ( 1, 1 ) e ( 2, 2 ) (n,e) (n,e) Proprietà di omomorfismo 1 = 1d mod n 2 = 2d mod n ( 1 2 ) e mod n = 1e 2e mod n = 1 2 mod n 1 2 mod n è una firma valida per 1 2 mod n Existential forgery Known message attack 28 Sicurezza firma RSA Voglio falsificare la firma di da parte di A Selective forgery Chosen message attack (n,e) (n,e) 1. Scelgo 1 e 2 tali che = 1 2 mod n 2. Chiedo ad di firmare 1 e 2 ottenendo 1 e 2 3. 1 2 mod n è una firma valida per 29 irma digitale di messaggi grandi Se >n, come si firma? Prima soluzione i <n 1 2 irma() (irma( 1 ), ), irma( 2 ), ), ) Problemi Efficienza Permutazione/composizione delle firme nuova firma 30 unzioni Hash lunghezza arbitraria/finita unzione Hash b bit Il valore hash h() è una rappresentazione non ambigua e non falsificabile del messaggio Proprietà: comprime facile da computare Sicurezza forte: computazionalmente difficile trovare 2 diversi messaggi con lo stesso valore hash One-way way: dato y è computazionalmente difficile trovare tale che y = h() 31

irma digitale con hash irma RSA con hash messaggi piccoli h() h() irma() (irma(h()) Vantaggi messaggi grandi Efficienza Integrità Sicurezza (n,d) irma di [h()] d mod n (n,e) (n,e) 32 33 Verifica irma RSA con hash Verifica irma RSA (n,e) (n,e) Devo verificare se è una firma di per Verifica firma di vera se h() = e mod n falsa altrimenti 34 35

Sicurezza firma RSA con hash Voglio generare messaggi e firme da parte di A 1. Scelgo a caso 2. z e mod n 3. h -1 (z) (n,e) (n,e) Come faccio ad invertire h? h -1 (z) Existential forgery Key only attack 36 Digital Signature Standard (DSS) Proposto nell'agosto del 1991 dal NIST Digital Signature Algorithm (DSA) Digital Signature Standard (DSS) Standard rivisto nel 1993, in risposta alle critiche odifica ingegnosa dello schema di firme El Gamal Utilizza la funzione hash (message digest di 160 bit) irme DSS sempre di 320 bit (buone per smart card) Sicurezza basata sull intrattabilità del problema del logaritmo discreto 37 Logaritmo discreto Chiavi DSA Dati a,n,b calcolare x tale che a x = b mod n Esempio: 3 x = 7 mod 13 soluzione x = 6 Se n è primo, i migliori algoritmi hanno complessità L n [a,c] = O(e (c+o(1))(ln n)a (lnln n) 1-a ) con c > 0 ed 0 < a < 1 iglior algoritmo: Number field sieve tempo medio euristico L n [1/3, 1.923] (p,q,α,s) (p,q,α,β) 38 39

(p,q,α,s),s) Chiavi DSA (p,q,α,β) p primo di L bit 512 L 1024, L multiplo di 64 s numero casuale, s<q q primo di 160 bit, q (p-1) β=α s mod p α in Z p* di ordine q α q = 1 mod p Ordine di un elemento Per la generazione di α dobbiamo introdurre il concetto di ordine di un elemento Ordine di α Z n* = il più piccolo intero positivo r tale che α r =1 mod n Teorema di Lagrange: Per ogni α Z n *,ord(α) divide φ(n) Se n è primo, ord(α) divide n-1 40 41 Ordine di un elemento Ordine di un elemento Esempio: n=15, φ(n) = (3-1)(5-1)=8 Z 15 * = { 1, 2, 4, 7, 8, 11, 13, 14 } Sia α Z n* e sia q= ord(α) Se α t = 1 mod n, allora q divide t α smod q mod n = α s mod n ord(1) = 1, ord(2) = 4, ord(4) = 2, ord(7) = 4, ord(8) = 4, ord(11) = 2, ord(13) = 4, ord(14) = 2. 42 43

Chiavi DSA ( piccolo esempio) irma DSA (7879,101,170,75) A (7879,101,170,4567) (p,q,α,s),s) (p,q,α,β) 4567 = 170 75 mod 7879 p = 7879 primo α = 170 Z 7879* di ordine 101 q = 101 primo, p = 78q+1 170 101 = 1 mod 7879 s = 75 numero casuale Devo firmare?? 44 45 (p,q,α,s),s) irma DSA (p,q,α,β) irma di r numero casuale in [1,q-1] γ (α r mod p) mod q δ (()+sγ)r -1 mod q firma (p,q,α,s) (,r) = (γ,δ) r -1 mod q esiste perché r < q e q primo gcd(q,r)=1 (γ,δ) 46 Verifica firma DSA (γ,δ) (p,q,α,β) Devo verificare se (γ,δ) è una firma di per 47

Verifica firma DSA (γ,δ) A (p,q,α,β) Efficienza firma DSA irma_dsa(,p,q,α,s) r numero casuale in in [1,q-1] γ (α r modp) modq δ (()+sγ)r -1-1 mod q output firma (p,q,α,s) (,r) = (γ,δ) Verifica firma di e ()δ -1 mod q e γδ -1 mod q vera se γ = (α e β e mod p) mod q falsa altrimenti Lunghezza firma = 320 bit Computazioni off-line: r, sγ, r -1 mod q Computazioni on-line: (), +, 48 49 Verifica firma DSA Verifica_firma_DSA(,γ,δ,p,q,α,β) e e ()δ -1-1 mod q e γδ -1-1 mod q vera se γ = (α e e β e e modp) modq ver (p,q,α,β) (,γ,δ) = falsa altrimenti Output ver (p,q,α,β) (,γ,δ) (α e β e mod p) mod q Correttezza verifica firma DSA = (α ()δ-1 mod q α sγδ-1 mod q mod p) mod q = (α ()δ-1 +sγδ -1 mod p) mod q = (α r mod p) mod q e = ()δ -1 mod q e = γδ -1 mod q β = α s mod p α è di ordine q δ -1 (()+sγ) = r mod q = γ 50 51

Scelta dei parametri Generazione di p e q Come scegliere p, q, α? Scegli p Scegli q di 160 bit tale che q (p-1) 52 53 Generazione di p e q Generazione di p e q Scegli p Scegli q di 160 bit tale che q (p-1) Dovrei Dovrei conoscere la la fattorizzazione di di p-1 p-1 Idea: Scegli q primo di 160 bit Calcola p di 512/1024 bit tale che q (p-1) Testa se p è primo 54 55

Generazione di q Scegli a caso S di 160 bit S S+1 Ripeti con un nuovo S finchè q è primo 160 bit u 1 1 q 56 Generazione di p e q Seleziona_pq(L) (1) (1) Computa interi n e b tali tali che che L-1=160n+b (2) (2) repeat (3) (3) repeat (4) (4) S sequenza casuale di di almeno 160 160 bit bit (5) (5) g S S (6) (6) U (S) ((S+1) mod mod 2 g g ) (7) (7) orma orma q da da U ponendo il il SB SB ed ed il il LSB LSB ad ad 1 (8) (8) until until q primo primo (9) (9) C 0 (10) (10) N 2 (11) (11) repeat (12) (12) for for k=0 k=0 to to n do do V k k (S+N+k) mod mod 2 g (13) g (13) W V 0 +V 0 +V 1 2 1 2 160 160 +...+V n-1 2 n-1 2 160(n-1) 160(n-1) +(V +(V n mod n mod 2 b b ) 2 ) 2 160n (14) 160n (14) X W+2 W+2 L-1 (15) L-1 (15) p X-((X X-((X mod mod 2q)-1) (16) (16) until until (p (p primo) or or (p<2 (p<2 L-1 L-1 ) (17) (17) if if p<2 p<2 L-1 (18) L-1 (18) then then C C+1 C+1 (19) (19) N N+n+1 N+n+1 (20) (20) if if C<4096 then then goto goto step step (12) (12) (21) (21) else else Help Help falso falso (22) (22) else else Help Help vero vero (23) (23) until until Help Help (24) (24) return p,q,s,c 57 Generazione di p (512 bit) Generazione di p (512 bit) S+2 S+3 S+4 S+5 S+2 S+3 S+4 S+5 511 = 3 160 + 31 V 0 V 1 V 2 V 3 V 0 V 1 V 2 V 3 X =512 X V 0 +V 1 2 160 + V 2 2 2 160 +(V 3 mod 2 31 ) 2 3 160 +2 511 p X - ((X mod 2q)-1) 2q (p-1) se p è primo e p 2 511 esci altrimenti 58 59

Generazione di p (512 bit) S+6 S+7 S+8 S+9 Generazione di p (512 bit) N 2,6,10,, (per 4096 volte) S+N S+N+1 S+N+2 S+N+3 511 = 3 160 + 31 511 = 3 160 + 31 V 0 V 1 V 2 V 3 X =512 V 0 V 1 V 2 V 3 X =512 X V 0 +V 1 2 160 + V 2 2 2 160 +(V 3 mod 2 31 ) 2 3 160 +2 511 X V 0 +V 1 2 160 + V 2 2 2 160 +(V 3 mod 2 31 ) 2 3 160 +2 511 p X - ((X mod 2q)-1) 2q (p-1) p X - ((X mod 2q)-1) 2q (p-1) se p è primo e p 2 511 esci altrimenti se p è primo e p 2 511 esci altrimenti 60 61 Scelta di un elemento di ordine q Correttezza di Scegli_ordineq p,q primi tali che q (p-1) Scegli_ordineq (p,q) 1. g elemento scelto a caso in in Z * p 2. α g (p-1)/q (p-1)/q mod p 3. if if α 1 then return α else go to 1. Scegli_ordineq (p,q) 1. 1. g elemento scelto a caso in in Z p * 2. 2. α g (p-1)/q (p-1)/q mod p 3. 3. if if α 1 then return α else go to 1. 1. α q (g (p-1)/q ) q g p-1 1 mod p Quindi ord(α) divide q q primo ord(α)=1 oppure ord(α)=q ord(α)=1 sse α =1 α 1 ord(α)=q 62 63

Generatori di Z p * g è generatore di di Z p p *se {g {g i 1 i i p-1} = Z p p * Il numero di generatori di Z p * è φ(p-1) Prob che g scelto a caso in Z p * sia un generatore è 1/6lnln(p-1) Esempio: g = 2 è un generatore di diz * 11 11 2 10 = 1024 = 1 mod 11 2 1 = 2 mod 11 2 8 = 256 = 3 mod 11 2 2 = 4 mod 11 2 4 = 16 = 5 mod 11 2 9 = 512 = 6 mod 11 2 7 = 128 = 7 mod 11 2 3 = 8 mod 11 2 6 = 64 = 9 mod 11 2 5 = 32 = 10 mod 11 64 Generatori di Z p * p primo, p -1 = p e 1 1 p2 e 2 pk e k g (p-1)/p 1 1 mod p g è un generatore di Z p*... g (p-1)/p k 1 mod p 11 11 primo, p-1 = 10 = 2 5 Esempio 2 è un generatore di di Z 11* 11* perché 2 (11-1)/2 = 2 5 = 10 1 mod 11 11 2 (11-1)/5 = 2 2 = 4 1 mod 11 11 65 Probabilità successo di Scegli_ordineq Sicurezza firma DSA Se g è un generatore allora g (p-1)/q 1 mod p Probabilità successo Probabilità che g è generatore > 1/(6lnln(p-1)) Numero medio di iterazioni < 6lnln(p-1) 512 bit 6 lnln(2 512 512 ) 35,23 1024 bit 6 lnln(2 1024 ) 39,38 2048 bit 6 lnln(2 2048 ) 43,54 66 Voglio falsificare la firma di da parte di A Total break Key only attack A (p,q,α,β) Devo calcolare s=log α β mod p A?? 67

Sicurezza firma DSA Sicurezza firma DSA Voglio falsificare la firma di da parte di A Selective forgery Key only attack A (p,q,α,β) 1. Scelgo γ a caso 2. Determino δ tale che δ (()+sγ)r -1 mod q Devo calcolare δ=log γ (α (). β γ ) A Voglio generare messaggi e firme da parte di A Existential forgery Key only attack 1. Scelgo γ,δ a caso 2. Calcolo z tale che α z = γ δ β -γ A (p,q,α,β) Devo calcolare z=log α (γ δ β -γ ) -1 (z) A 68 69 Chiavi globali ed individuali (p,q,α,s) A (p,q,α,β) Sicurezza basata sul valore privato s I valori p,q,α possono essere gli stessi per un gruppo di utenti Un autorità sceglie p,q,α Il singolo utente sceglie solo s e calcola β Confronto tempi firme RSA e DSA DSA RSA DSA con p,q,α comuni precomputazioni 14 sec 4 sec firma 0.3 sec 15 sec 0.3 sec verifica 16 sec 1.5 sec 10 sec 1-5 sec Off Cards 1-3 sec Off Cards Implementazioni su smart card [1993] Computazioni Off Cards su 80386 a 33Hz 70 71

Prestazioni algoritmi Celeron 850Hz, Windows 2000, Crypto++ millisecondi/operazione bit firma irma con verifica chiave precomputazione RSA DSA RSA DSA 512 512 1024 1024 1,92 1,77 10,29 5,50 1,19 2,27 0,13 2,02 0,30 6,38 Pentium II 400 OpenSSL Prestazioni bit chiave firme/s RSA 512 342 DSA 512 331 RSA 1024 62 DSA 1024 112 RSA 2048 10 DSA 2048 34 verifiche/s 3287 273 1078 94 320 27 72 73 Bibliografia Cryptography and Network Security by W. Stallings (2003) cap. 12 (DSS) Tesina di Sicurezza su reti irme digitali Stinson I ed 74