Firma digitale

399 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
399
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Firma digitale

  1. 1. FIRMA DIGITALESCHEMI, METODI E CIFRARIAlgoritmo Tipo Determinismo AnnoRSA Recupero Deterministico 1978Rabin Recupero 1979ElGamal Appendice Probabilistico 1984DSA Appendice Probabilistico 1991Schnorr Appendice 1991Nyberg-Rueppel Recupero 1993 RSA L’algoritmo di RSA è reversibile, ovvero funziona anche invertendo le chiavi. Perciò RSA a chiavi invertite è un algoritmo di firma con recupero. Usare RSA per una firma di un documento è però inefficiente a causa della idispensabile suddivisione in blocchi. Di dimensione inferiore a n. Qundi è possibile firmale solo l’hash del documento. A L GO R I T MO S 1. 𝑐 = (𝐻 𝑚 ) 𝑃𝑈 𝑚𝑜𝑑 𝑛 2. Trasmette 𝑚 ∥ 𝑐 A L GO R I T MO V 1. Estrae 𝑚′ 2. Calcola 𝐻(𝑚′ ) 3. Accetta 𝑚′ se e solo se 𝐻 𝑚′ = 𝑐 𝑒 𝑚𝑜𝑑 𝑛 = 𝐻(𝑚) FIRMA CIECA Dato un messaggio 𝑚 = 𝑚1 × 𝑚2 si ha 𝑐 = 𝑚 𝑑 𝑚𝑜𝑑 𝑛 = 𝑚1 𝑑 𝑚𝑜𝑑 𝑛 × 𝑚2 𝑑 𝑚𝑜𝑑 𝑛 𝑚𝑜𝑑 𝑛 Quindi possiamo firmare indipendentemente parti di messagio. Sia, ora X un ente certificatore che deve firmare il messaggio 𝑚 senza conoscerne il contenuto. L’utente U può inviare 𝑐1 = 𝑚 × 𝑟 𝑒𝑋 𝑚𝑜𝑑 𝑛𝑋 Ora X può firmare applicanto la prorpia chiave privata e inviare 𝑐2 = 𝑚 𝑑𝑋 × 𝑟 𝑑𝑋 𝑒𝑋 𝑚𝑜𝑑 𝑛𝑋 = 𝑚 𝑑𝑋 × 𝑟 𝑚𝑜𝑑 𝑛𝑋 Quindi U avrà 𝑐3 = 𝑚 𝑑𝑋 × 𝑟 × 𝑟 −1 𝑚𝑜𝑑 𝑛𝑋 = 𝑚 𝑑𝑋 𝑚𝑜𝑑 𝑛𝑋 Messaggio firmato senza che l’utente certificatore abbia letto il contenuto.
  2. 2. E L G AMAL  L’input è l’impornta ℎ = 𝐻(𝑚)  L’output sono due etichette 𝑅, 𝑆  Si basa sul problema P1A L GO R I MO G 1. Scelta di un numero primo 𝑝 di un suo generatore 𝑔 un numero a caso 1 ≤ 𝑢 ≤ 𝑝−2 2. Chiave pubblica : 𝑝, 𝑔, 𝑔 𝑢 𝑚𝑜𝑑 𝑝 3. Chiave privata: 𝑢A L GO R I T MO SPer ogni messaggio da inviare si ha 1. Scegliere 𝑘 tale che 2 < 𝑘 < 𝑝 − 2 e 𝑀𝐶𝐷 𝑘, 𝑝 − 1 = 1 2. Generare l’etichetta 𝑅 = 𝑔 𝑘 𝑚𝑜𝑑 𝑝 Questo è vero perchè 𝑔ℎ 𝑚𝑜𝑑 𝑝 = 𝑦 𝑅 𝑅 𝑆 𝑚𝑜𝑑 𝑝 𝑔ℎ 𝑚𝑜𝑑 𝑝 = 𝑔 𝑎𝑅 𝑔 𝑘𝑆 𝑚𝑜𝑑 𝑝 𝑔ℎ −𝑎𝑅 −𝑘𝑆 ≡ 1(𝑚𝑜𝑑 𝑝) ℎ − 𝑎𝑅 − 𝑘𝑆 ≡ 𝑝 − 1(𝑚𝑜𝑑 𝑝) ℎ − 𝑎𝑅 − 𝑘𝑆 ≡ 0(𝑚𝑜𝑑 𝑝 − 1) 𝑆 = 𝑘 −1 ℎ − 𝑎𝑅 𝑚𝑜𝑑 (𝑝 − 1) S è espressione congruenziale di firma.A L GO R I T MO V 1. Controllare che sia 1 ≤ 𝑅 ≤ 𝑝 − 1 e 𝑆 ≠ 𝑝 − 1 2. Calcolare 𝑣1 = 𝑦 𝑅 𝑅 𝑆 𝑚𝑜𝑑 𝑝 𝑣2 = 𝑔ℎ 𝑚𝑜𝑑 𝑝 3. Se 𝑣1 = 𝑣2 il messaggio è integro.
  3. 3. DSS  Basato su ElGamal  Si basa sul problema P1  La dimensione di p è definita dallo standard: 2512 < 𝑝 < 21024  I calcoli di R e S sono fatti 𝑚𝑜𝑑 𝑞 ove 𝑞 è il più grande fattore primo di 𝑝 − 1 tale che 2159 < 𝑞 < 2160  𝐻(𝑚) deve essere di 160 bit e calcolata con SHA-1A L GO R I T MO GCome ElGamalA L GO R I T MO SPer ogni messaggio da firmarel’utente deve scegliere un numero a caso 1 ≤ 𝑘 ≤ 𝑞 − 1 ecalcola due etichette di 160 bit ciascuma: 𝑅 = 𝑔 𝑘 𝑚𝑜𝑑 𝑝 𝑚𝑜𝑑 𝑞 𝑆 = 𝑘 −1 𝐻 𝑚 + 𝑎 × 𝑅 𝑚𝑜𝑑 𝑞A L GO R I T MO V 1. Verificare che sia 0 < 𝑅 < 𝑞 e 0 < 𝑆 < 𝑞 2. Calcolare: 𝑤 = 𝑆 −1 𝑚𝑜𝑑 𝑞 𝑢1 = 𝐻 𝑚 × 𝑤 𝑚𝑜𝑑 𝑞 𝑢2 = 𝑅 × 𝑤 𝑚𝑜𝑑 𝑞 𝑣 = 𝑔 𝑢1 × 𝑦 𝑢2 𝑚𝑜𝑑 𝑝 𝑚𝑜𝑑 𝑞 3. Se 𝑣 = 𝑅 la firma è valida.

×