Colección de citas famosas - Slogan de motivación - Introducción al algoritmo ElGamal

Introducción al algoritmo ElGamal

Método de generación de pares de claves: primero seleccione un número primo p y dos números aleatorios g y x (g, x < p), calcule y ≡ g^x (mod p), dada y, resuelva x es algo muy difícil (problema de resolución de logaritmos discretos), entonces su clave pública es y, gyp, y su clave privada es x, gyp, y puede ser compartida por un grupo de usuarios.

ElGamal se utiliza para firmas digitales. La información con signo es M, primero seleccione un número aleatorio k, k y p - 1 son primos relativos, calcule:

a ≡ g^k (mod p)

Luego use extendido Euclidiano El algoritmo resuelve b para la siguiente ecuación:

M ≡ xa + kb ( mod p - 1 )

La firma es ( a, b ). El número aleatorio k debe descartarse.

Se debe verificar la siguiente fórmula durante la verificación:

y^a * a^b ( mod p ) ≡ g^M ( mod p )

At al mismo tiempo, se debe comprobar si se cumple 1<= a < p. De lo contrario, la firma puede falsificarse fácilmente.

ElGamal se utiliza para el cifrado. La información cifrada es M, primero seleccione un número aleatorio k, k y p - 1 son primos relativos y calcule

a ≡ g^k (mod p)

b ≡ y ^k M ( mod p )

( a, b ) es el texto cifrado, que es el doble de largo que el texto sin formato. Calcular al descifrar

M ≡ b / a^x ( mod p )

La seguridad de las firmas de ElGamal se basa en el cálculo de logaritmos discretos en el grupo multiplicativo (IFp)*. El número primo p debe ser lo suficientemente grande y p-1 contiene al menos un número primo grande