DHIES

L'algoritmo (Diffie-Hellman Integrated Encryption Scheme - DHIES) è stato proposto da Abdalla, Bellare e Rogaway [1] come sistema di cifratura/decifratura che sfrutta il problema di Diffie-Hellman.

Generazione delle chiavi

La generazione delle chiavi è esattamente identica a quella di El Gamal: dato un gruppo ciclico G e un generatore g, si calcola un numero casuale $a \in G$. La chiave privata è costituita da a, mentre quella pubblica è data da ga.

Cifratura

Dato un messaggio m e la chiave pubblica del destinatario ga, si genera un numero casuale x e un valore gx, che è detta chiave pubblica effimera.
Si calcola

(1)
\begin{equation} {(g^{a})}^x = g^{ax} \end{equation}

Si calcola, con una funzione di Hash concordata con il destinatario, il valore di hash H di (1)

(2)
\begin{equation} H = HASH(g^{ax}) \end{equation}

il valore di H viene suddiviso in due parti. La prima viene chiamata macKey, mentre la seconda encKey. Si cifra il messaggio m con la chiave encKey attraverso un algoritmo di crittografia simmetrico:

(3)
\begin{equation} C = E_{encKey}(M) \end{equation}

e si calcola il mac del testo cifrato (3) attraverso la chiave macKey.

(4)
\begin{equation} mac = MAC_{macKey}(C) \end{equation}

Viene trasmesso al destinatario il gruppo di valori seguente: $g^{x},\:C,\:mac$

Decifratura

Sia ga la chiave pubblica e a la chiave privata del destinatario. Il destinatario riceve $g^{x},\:C,\:mac$ ed effettua le seguenti operazioni:

(5)
\begin{equation} {g^{x}}^a = g^{ax} \end{equation}
(6)
\begin{equation} H = HASH(g^{ax}) \end{equation}

da cui ricava macKey ed encKey. In seguito calcola il valore MAC

(7)
\begin{equation} mac = MAC_{macKey}(C) \end{equation}

e lo confronta con quello ricevuto. Se corrisponde, procede con la decodifica del messaggio attraverso la chiave encKey.

Sicurezza

Questo algoritmo impiega il problema di Diffie-Hellman in modo da condividere con il destinatario un valore segreto gax. Il valore segreto è generato ad ogni messaggio. Un attaccante deve ricavare gax conoscendo la chiave pubblica del destinatario ga e la chiave pubblica effimera gx, che è esattamente una istanza del problema di Diffie-Hellman.

Algoritmi

Fattorizzazione Interi Logaritmo Discreto Curve Ellittiche
Cifratura RSA, Rabin ElGamal, DHIES
Bibliography
1. M. Abdalla, M. Bellare, P. Rogaway, "DHIES: An encryption scheme based on the Diffie-Hellman Problem", 2001, Sito web: https://eprints.kfupm.edu.sa/34893/1/34893.pdf
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License