Cifrari asimmetrici

245 views
175 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
245
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cifrari asimmetrici

  1. 1. CIFRARI ASIMMETRICIDATI SUI PRINCIPALI CIFRARI ASIMMETRICI RSA A L GO R I MO G 1. Scelta di due interi primi grandi e sicuri: 𝑝, 𝑞 (eventualmente test di Miller-Rabin) 2. Calcola 𝑛 = 𝑝 × 𝑞 3. Calcola Φ 𝑛 = Φ 𝑝 × Φ 𝑞 = 𝑝 − 1 × (𝑞 − 1) 4. Sceglie un intero 𝑒 tale che 𝑀𝐶𝐷 Φ 𝑛 , 𝑒 = 1 5. Calcola 𝑑 = 𝑒 −1 𝑚𝑜𝑑 Φ(n) 6. Rende pubblica la coppia 𝑒, 𝑛 7. Utilizza come privata la coppia 𝑑, 𝑛 A L GO R I T MO E 𝑐 = 𝑚 𝑒 𝑚𝑜𝑑 𝑛 A L GO R I T MO D 𝑚 = 𝑐 𝑑 𝑚𝑜𝑑 𝑛 = 𝑚𝑒 𝑑 𝑚𝑜𝑑 𝑛 = 𝑚 𝑒 𝑑 𝑚𝑜𝑑 𝑛 = 𝑚 𝑚𝑜𝑑 𝑛 = 𝑚 D E BO L E Z Z E  Cycling attack  Testi unconcealed hanno 𝑚 𝑒 ≡ 𝑚 E L G AMAL A 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 E 1. Scelta di un numero casuale 𝑟 < 𝑝 2. Calcolo di 𝑐 = 𝑚 × 𝑔 𝑢 𝑟 𝑚𝑜𝑑 𝑝 3. Calcolo di 𝑅 = 𝑔 𝑟 𝑚𝑜𝑑 𝑝 4. Trasmissione di 𝑐 ∥ 𝑅 A L GO R I T MO D 1. Calcolo 𝑟 = 𝑅 𝑝−1−𝑢 𝑚𝑜𝑑 𝑝 2. Calcolo 𝑚 = 𝑐 × 𝑟 𝑚𝑜𝑑 𝑝 D E BO L E Z Z E Unico svantaggio: ogni messaggio viene sdoppiato e quindi i dati da passare sono doppi.
  2. 2. C IFRARIO I BRIDOInvece di usare DH si può effettuare uno scambio di chiavi basandosi su un sistema a chiavepubblica. Lo scambio di chiavi avviene quindi come segue: 1. Scelta di una chiave one-time 𝑘 2. Scelta di un algoritmo simmetrico CS 3. Scelta di un algoritmo asimmetrico CA 4. Calcolo di 𝐸 𝑃𝑈 (𝑘 ∥ 𝐶𝑆) con CA 5. Calcolo di 𝐸 𝑘 𝑚 con CS 6. Invio del messaggio 𝐸 𝑃𝑈 (𝑘 ∥ 𝐶𝑆) ∥ 𝐸 𝑘 𝑚Nel contempo il ricevente fa questi passi. 1. Usa CA per calcolare 𝐷 𝑆𝑈 𝐸 𝑃𝑈 𝑘 ∥ 𝐶𝑆 e viene a conoscenza di k e CS 2. Usa CS per calcolare 𝐷 𝑘 𝐸 𝑘 𝑚 = 𝑚B LUM -G OLDWASSERA L GO R I T MO G 1. Scelta di 𝑝, 𝑞 ≡ 3 (𝑚𝑜𝑑 4) 2. Calcolo 𝑛 = 𝑝 × 𝑞 3. Calcolo 𝑎, 𝑏 tali che 𝑎𝑝 + 𝑏𝑞 𝑚𝑜𝑑 Φ 𝑛 = 1 (Algoritmo esteso di Euclide) 4. Chiave Pubblica: {𝑛} 5. Chiave Privata: 𝑝, 𝑞, 𝑎, 𝑏A L GO R I T MO EChi vuole inviare un messaggio sceglie a caso il valore 𝑥0 , uno dei residui quadratici modulon, e genera altri 𝑡 residui quadratici, con 𝑡 = ln 𝑛 , iterando la funzione pseudo-unidirezionale 𝑥 𝑖+1 = 𝑥 𝑖 2 𝑚𝑜𝑑 𝑛Il messaggio m viene inoltre suddiviso in blocchi di ln 𝑡 bit.Ad ogni iterazione sono trasmessi i bit risultanti dall’EX-OR degli ℎ bit meno significativvi di𝑥 𝑖 e dei bit del blocco 𝑚A L GO R I T MO DUna volta individuato il seed ricostrisce il flusso di chiave con un generatore identico aquello usato in trasmissione e impiega h EX-OR per rimettere in chiaro i blocchi di testocifrato.

×