4
Cifrado ElGamal 1 Cifrado ElGamal El procedimiento de cifrado/descifrado ElGamal se refiere a un esquema de cifrado basado en problemas matemáticos de algoritmos discretos. Es un algoritmo de criptografía asimétrica basado en la idea de Diffie-Hellman y que funciona de una forma parecida a este algoritmo discreto. El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como para cifrar o descifrar. Fue descrito por Taher Elgamal en 1984 y se usa en software GNU Privacy Guard, versiones recientes de PGP, y otros sistemas criptográficos. Este algoritmo no esta bajo ninguna patente lo que lo hace de uso libre. La seguridad del algoritmo se basa en la suposición que la función utilizada es de un sólo sentido y la dificultad de calcular un logaritmo discreto. El procedimiento de cifrado (y descifrado) esta basado en cálculos sobre un grupo cíclico cualquiera lo que lleva a que la seguridad del mismo dependa de la dificultad de calcular logaritmos discretos en . El algoritmo ElGamal consta de tres componentes: el generador de claves, el algoritmo de cifrado, y el de descifrado. A continuación se describe el algoritmo utilizando el grupo multiplicativo de enteros módulo p. Creación de llaves de cifrado Para generar un par de llaves, se escoge un número primo cualquiera tal que tenga un factor primo grande. Además se eligen dos números aleatorios (el generador) y (que actuará como clave privada) tal que . Se calcula entonces el valor de . por lo tanto será la llave pública a utilizar. En este caso se refiere al operador de módulo de y es la llave privada mientras que los valores , y son públicos. Nota La definición es correcta. Sin embargo, desde un punto de vista de seguridad, esta definición tiene casos que no hacen sentido ya que y constituyen casos que no brindan seguridad alguna y hacen que el cifrado no funcione. Dado esto se considera preferentemente que . Ejemplo numérico Los valores: (primo elegido al azar) (generador) (llave privada elegida al azar) (llave pública) forman la llave pública y la privada

Cifrado elgamal

Embed Size (px)

Citation preview

Page 1: Cifrado elgamal

Cifrado ElGamal 1

Cifrado ElGamalEl procedimiento de cifrado/descifrado ElGamal se refiere a un esquema de cifrado basado en problemasmatemáticos de algoritmos discretos. Es un algoritmo de criptografía asimétrica basado en la idea de Diffie-Hellmany que funciona de una forma parecida a este algoritmo discreto.El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como para cifrar o descifrar.Fue descrito por Taher Elgamal en 1984 y se usa en software GNU Privacy Guard, versiones recientes de PGP, yotros sistemas criptográficos. Este algoritmo no esta bajo ninguna patente lo que lo hace de uso libre.La seguridad del algoritmo se basa en la suposición que la función utilizada es de un sólo sentido y la dificultad decalcular un logaritmo discreto.El procedimiento de cifrado (y descifrado) esta basado en cálculos sobre un grupo cíclico cualquiera lo que llevaa que la seguridad del mismo dependa de la dificultad de calcular logaritmos discretos en .

El algoritmoElGamal consta de tres componentes: el generador de claves, el algoritmo de cifrado, y el de descifrado. Acontinuación se describe el algoritmo utilizando el grupo multiplicativo de enteros módulo p.

Creación de llaves de cifradoPara generar un par de llaves, se escoge un número primo cualquiera tal que tenga un factor primo grande.Además se eligen dos números aleatorios (el generador) y (que actuará como clave privada) tal que

.Se calcula entonces el valor de .

por lo tanto será la llave pública a utilizar.

En este caso se refiere al operador de módulo de y es la llave privada mientras que los valores ,y son públicos.

Nota

La definición es correcta. Sin embargo, desde un punto de vista de seguridad, esta definicióntiene casos que no hacen sentido ya que y constituyen casos que no brindan seguridad alguna yhacen que el cifrado no funcione. Dado esto se considera preferentemente que .

Ejemplo numéricoLos valores:

(primo elegido al azar)(generador)(llave privada elegida al azar)

(llave pública)forman la llave pública y la privada

Page 2: Cifrado elgamal

Cifrado ElGamal 2

CifradoSuponiendo que se tiene un texto claro que necesita ser cifrado. Lo primero por hacer es convertir este texto en unelemento de obteniendo un . Luego se escoge arbitrariamente un número tal que para finalmente calcular:

El mensaje cifrado final corresponde a la tupla

Ejemplo numéricoDado un texto y se escoge un aleatorio:

.El texto cifrado está compuesto por la tupla .

DescifradoPara descifrar se tiene que realizar el siguiente cálculo:

donde La resolución de este problema queda entonces de la siguiente manera

(utilizamos elpequeño teorema de Fermat)

También existe una expresión más simplificada para el mismo proceso:

Ejemplo numérico

El texto cifrado cifrado con la llave pública puedeser descifrado utilizando la llave privada .

.

Análisis

EfectividadHasta el momento el algoritmo ElGamal de cifrado/descifrado puede ser considerado un algoritmo efectivo.Un adversario con la habilidad de calcular logaritmos discretos podría ser capaz de romper un cifrado ElGamal. Sinembargo, hasta la actualidad, no existen algoritmos suficientemente eficientes para realizar este tipo de cálculos enun tiempo razonable, considerando además que se utilicen números grandes para cifrar. Dados estos antecedentes sepuede decir que hoy en día ElGamal es seguro.

Page 3: Cifrado elgamal

Cifrado ElGamal 3

MaleabilidadSin embargo existe un caso en que este algoritmo se vuelve maleable. Esto significa que bajo un ataque específico laseguridad de ElGamal se puede quebrar. Este ataque usa el hecho de tener el texto cifrado del textoclaro (ambos conocidos). Sabiendo esto se puede llegar a que el texto cifrado correspondeal texto plano . Si ahora la persona que cifró el mensaje anterior genera otro texto cifrado (utilizando el mismo con el que cifró anteriormente) el adversario debería ser capaz de llegar al texto plano correspondiente siguiente los siguientes pasos:

Calcular Buscar un tal que tomando en cuenta que al igual que cumple conestar entre y Tomando el peor caso, el atacante obtendrá dos textos claros (debido a la función módulo).

DesempeñoEl análisis de desempeño del algoritmo ElGamal es similar al de RSA. Concretamente tenemos el siguiente análisis

Sea el módulo usuado en ElGamal. Los procesos de cifrado y descifrado de ElGamal por lo tanto tomantiempos de .

Page 4: Cifrado elgamal

Fuentes y contribuyentes del artículo 4

Fuentes y contribuyentes del artículoCifrado ElGamal  Fuente: http://es.wikipedia.org/w/index.php?oldid=35044148  Contribuyentes: Alexav8, Death Master, Kronoman, Lucianobello, Mjcuevas, T4nn0, Varano, Waeswaes, 9ediciones anónimas

LicenciaCreative Commons Attribution-Share Alike 3.0 Unportedhttp:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/