Meccanisi con sicurezza basata sul problea del logarito discreto Scabio di Diffie-ellan Cifrario di ElGaal Fira di ElGaal Digital Signature Standard Algoriti di fira con appendice Messaggi di lunghezza arbitraria Appendice: S((),k[privA]) S A k[priv] s V A k[pub] SI/NO
ElGaal, Kravitz e NIST (DSS) algorito probabilistico con appendice Sicurezza:problea del logarito discreto ElGaal (1985) Kravitz (1991) NIST (1994) Fira di ElGaal (pag. 109)
L algorito di fira di ElGaal PRNG p,g g a od p 1 a p-2 S = {a} chiavi P = {p, g, g a } 1 k p-2 PRNG AE MCD(k, p-1)=1 g k od p R p-1 AEE k -1 od p-1 etichette Equaz. congruenziale di fira k -1 (() a R) od (p-1) S L algorito di verifica di ElGaal X y,p,g Solo per un essaggio firato da si ha: R k S () a R (od (p-1)) () a R + k S (od (p-1)) etichette (y R R S ) od p v1 g () g a R + k S (od p) S =? g () y R R S (od p) g () od p v2
DSS (pag. 110) Digital Signature Algorith: key generation Paraetri (anche di doinio pubblico e couni a più utenti): p : nuero prio nell intervallo 2 512 2 1024 lunghezza: n 64 bit q : fattore prio di (p-1) 160 bit g > 1 : generatore del solo gruppo ciclico di ordine q in Z* p tale che g = h (p-1)/q od p, con 1 < h < p-1 Calcoli segreti del firatario: a: intero scelto a caso con 1 a q-1 y = g a od p Chiave pubblica: P = (p, q, g, y) 1024,160,1024,1024 bit Chiave privata: S = a 160 bit
DSS: fira e verifica Fira : Input: (p, q, g, a), M 1. scegli a caso intero k < q 2. calcola R = (g k od p) od q 3. calcola (M) con : SA-1 4. calcola S = k -1 ((M) + a R) od q Verifica: Input: (p, q, g, y) (, R, S) 1. calcola w S -1 (od q) 2. calcola u 1 = [() w] od q 3. calcola u 2 = [R w] od q 4. calcola v = [(g u1 y u2 ) od p] od q Output: M,R,S Appendice: (R,S) 160 + 160 bit Se (v = R) allora la fira è OK Equazione congruenziale di fira: (M) = (k S - a R) od q DSS: giustificazione Moltiplicazione per w S -1 (od q): [w ()] od q = (w k S) od q (a w R) od q = k (a w R) od q e quindi [w ()] od q + [a w R] od q = k (u 1 + a u 2 ) k (od q) Esponenziazione con base g g (u1+a.u2) od q od p = g kod q od p Tenendo conto che g = h (p-1)/q od p [(g u1 (g a ) u2 ) od p] od q= (g k od p) od q [g u1 y u2 od p] od q = [g k od p] od q v = R
Fira con DSS S R S V Si/No X p,q,g,y p,q,g,a p,q, g,y CA Lo Schea di fira RSA (pag. 108)
Proprietà di reversibilità di RSA Reversibilità delle chiavi (ipiego di S al posto di P e viceversa: E S () = c = S od n essaggio non riservato D P (c) = ( S ) P od n = a con origine verificabile Schea di fira con recupero Schea di fira con appendice: 1. FIRMA S S (()) = (()) S od n S S (()) inefficiente se > n log 2 n bit di etichetta autenticazione del essaggio counicazione del essaggio 2: VERIFICA calcolo di () calcolo di (S S (()) P od n confronto Fira con RSA h d od n c c e od n X =? d,n e,n CA Si/No
Padding r (h r) d od n PRNG rd od n d,n d,n PKCS#1 Ferguson-Schneier Proprietà oltiplicativa di RSA Sia = 1 2 < n Fira di da parte di : c = d od n = ( 1 2 ) d od n = (( 1 d od n) ( 2 d od n)) od n Proprietà oltiplicativa dell algorito RSA: il testo cifrato (con chiave pubblica o con chiave privata) del prodotto di due testi in chiaro è congruo (od n) al prodotto dei due testi cifrati
Autenticazione di un essaggio oscurato X vuole farsi autenticare da T un essaggio senza che T possa conoscerne il contenuto Autorizzazioni per voto elettronico, coercio elettronico, ecc. Autenticazione a occhi chiusi di un essaggio 1. X sceglie a caso un nuero r 2. invia a T il testo cifrato c1 = r et od nt 3. T fira c1 e restituisce a X c2 = dt r et dt od nt = ( dt r) od nt 4. X oltiplica c2 per r -1 c3 = ( dt r r -1 ) od nt = dt od n 5. Il destinatario di può verificare che è autenticato da T = (c3) et od nt = Attacco con la blind signature c = E PT () T ST I BS S BS R30: chi ipiega RSA per firare e per decifrare deve utilizzare due differenti coppie di chiavi
Altri crittosistei a chiave pubblica Altri problei difficili P4: problea del fusto - Dato un insiee di n interi positivi {a 1, a 2,.., a n } ed un intero positivo s deterinare se esiste o eno un sottoinsiee di a j la cui soa è s. Cifrario di Merkle-ellan, Cifrario di Chor-Rivest P5: problea della radice quadrata odulare - Dato un n coposto ed un eleento a Q n (insiee dei residui quadratici odulo n) trovare la sua radice quadrata odulo n, cioè un intero x Z* n tale che x 2 a (od n). Cifrario di Rabin P6: problea della residuosità quadratica - Dato un n coposto e dispari ed un eleento a J p (insiee degli interi con sibolo di Jacobi = 1) deterinare se a è o eno un residuo quadratico odulo n. Cifrario di Goldwasser-Micali
Logarito discreto su curva ellittica P7: problea del logarito discreto su una curva ellittica - Data la curva ellittica forata da punti le cui coordinate x,y soddisfano l'equazione y 2 = x 3 + ax + b od p, con p prio, e dati due suoi punti P, Q tali che Q = n P, deterinare n. Coplessità degli attuali algoriti di rottura O(exp (½ (log p))) 160-180 bit ECC(Ellipltical Curve Cryptography) Certico.co