Elgamal
Da Wikipedia, l'enciclopedia libera.
El Gamal è un sistema di cifratura a chiave pubblica, proposto dal ricercatore egiziano americano ElGamal nel 1985. Lo schema è basato sulla difficoltà del calcolo del logaritmo discreto.
Indice |
[modifica] Fasi della cifratura
Ci sono tre fasi in questo algoritmo:
[modifica] Generazione delle chiavi
Ogni utente A genera e rende notà una chiave pubblica = (p,o,oamod p)dove:
- p numero grande primo (es. 10100);
- o radice primitiva di p;
- a scelto a caso in maniera uniforme tra 1 ....(p-2), questo numero costituisce la vera chiave privata e deve essere mantenuto segreto;
[modifica] Cifratura
il mittente che vuole inviare un messaggio ad A, con m (messaggio) appartenente ad Zp, sceglie a caso un numero k nell'intervallo 1....(p-2) e calcola il testo cifrato (y,Δ) dove
- y= ok mod p;
- Δ= m * ((o)a)k mod p.
[modifica] Decifratura
Il testo cifrato viene inviato ad A il quale recupera m nel seguente modo:
Ricevuta la coppia (y,Δ) applica y − a
dove:
y − a*Δ = m*oak*(ok) − a (mod p)
facendo due calcoli si ricava proprio m.
[modifica] Conclusioni
Tutte le operazioni coinvolte sono algoritmicamente fattibili, in maniera efficiente. I costi computazionale di cifratura e decifratura sono paragonabili all'RSA però abbiamo una espansione del testo cifrato di un fattore 2 rispetto al testo in chiaro. Questo algoritmo è resistente ad attacchi di tipo crittanalitico, l'unico modo di ricavare informazioni segrete dai dati pubblici è effettuare il logaritmo discreto di oa oppure di ok mod p.
Ancora oggi non è conosciuto un algoritmo efficiente per calcolare tali valori.