Se trata de un sistema de clave pública.
1- Se selecciona un primo p
2- Se selecciona un elemento primitivo a
3- El receptor selecciona un numero secreto Xb = clave privada
4- Con Xb genera su clave pública Yb = (a) Xb mod p
5- Par de claves (Xb, Yb) Clave pública, ojo porque al enviarse las claves libremente deben ser certificadas, mediante una autoridad de certificación.
6- Emisor selecciona K1 donde 0 < K1 < p - 1
calcula K = (Yb)K1 mod p
7- Si un emisor cifra el mensaje M
C1 = (a)K1 mod p
C2 = K * M mod p
y envía (C1, C2)
8- El receptor recibe M (C1, C2)
K = (C1)Xb mod p (Gracias Dexter)
9- Para extraer el mensaje
C2 * (K) -1 mod p
NOTA: la nomenclatura (C1)Yb, significa, C1 Elevado a Yb
(K) -1 es inverso de K, en la aritmetica modular finita p