fbpx
Wikipedia

Cifrado ElGamal

El procedimiento de cifrado/descifrado ElGamal se refiere a un esquema de cifrado basado en el problema matemático del logaritmo discreto. 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[1]​ y se usa en software GNU Privacy Guard, versiones recientes de PGP, y otros sistemas criptográficos. Este algoritmo no está 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 solo sentido debido a la dificultad de calcular un logaritmo discreto.

El procedimiento de cifrado (y descifrado) está 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 original

Mostremos el criptosistema propuesto inicialmente por Tahar ElGamal en su artículo.

Generación de la clave

Para generar la clave, Alicia escoge un número primo   cualquiera tal que el logaritmo discreto no es soluble en un tiempo asumible en   (grupo multiplicativo módulo un primo p). Esto último se traduce en que   tenga un factor primo grande (lo que hace que el problema del logaritmo discreto sea difícil[2]​).

Además Alicia elige dos números aleatorios   (el generador del grupo cíclico ( ) y   (que actuará como clave privada) tal que  .

Alicia calcula el valor de  . La clave pública será  , mientras que el valor de   lo mantendrá en secreto. Despejando   de la ecuación   obtenemos la relación siguiente entre los componentes de la clave pública y la clave privada   con lo que el criptosistema es seguro siempre que sea difícil hallar el logaritmo discreto.

Cifrado

Supongamos que Bruce tiene un texto claro que quiere enviar cifrado a Alicia. Lo primero por hacer es convertir este texto en un entero m entre 1 y   ( ). Esto no es parte del cifrado, sino que es una manera de codificar estándar, conocida por todos. Luego Bruce escoge arbitrariamente un número   (que mantendrá secreto) para finalmente calcular:

 
 

El mensaje cifrado final corresponde a la tupla  

Descifrado

Para descifrar aprovechamos que:

 

Por tanto para descifrar se tiene que realizar el siguiente cálculo:

 

donde   representa el inverso de   módulo   lo que indica que para calcular el descifrado, es necesario conocer  , que es la clave privada de Alicia.

Por el pequeño teorema de Fermat se demuestra que   y lo podemos aplicar.

Demostración: El pequeño teorema de Fermat indica que   con p primo y x>0 coprimo con p. Elevando a   la expresión obtenemos que  . Por tanto  . Despejando  

Ejemplos

Simple

Alicia elige los valores:

  (primo aleatorio y suponemos que p-1=16 tiene un factor primo grande lo cual no es cierto)
  (generador aleatorio)
  (clave privada aleatoria)

Alicia calcula

  (valor calculado)

Por tanto la clave pública será  .

Bruce tiene el texto claro

  (el cual está entre 1 y p-1)

Bruce escoge un   aleatorio entre 2 y p-1 Bruce calcula

 
 .

Por lo que el texto cifrado es  

Para descifrar Alicia usa la clave privada   y el Pequeño Teorema de Fermat:

 .

Complejo

Veamos una aplicación más real del algoritmo:

Alicia elige los valores:

  (primo aleatorio y para   suponemos que 52673 es sufientemente grande)
  (generador aleatorio)
  (clave privada aleatoria)

Alicia calcula

  (valor calculado)

Por tanto la clave pública será  .

Bruce tiene el texto claro "HIJO"

  (el cual está entre 1 y p-1)

Bruce escoge un   aleatorio entre 2 y p-1

Bruce calcula

 
 .

Por lo que el texto cifrado es   que al decodificarlo queda:

 =BAGVLB
 =SCEAZ

Con lo que el mensaje a enviar es (BAGVLB, SCEAZ)

Para descifrar Alicia usa la clave privada  :

  ya que por el pequeño teorema de fermat tenemos
 

Generalización

Lo único que se utiliza de la congruencia módulo   es que el conjunto   forma un grupo con las operaciones módulo   y que en dicho grupo el problema del logaritmo discreto resulta difícil.

Por lo tanto, puede cambiarse en este criptosistema al grupo   por cualquier otro grupo   en el que el logaritmo discreto sea complicado.

Por ejemplo, resulta bastante efectivo utilizar como grupo una curva elíptica sobre   (véase Criptografía de curva elíptica), ya que no se conoce un algoritmo de tiempo subexponencial capaz de resolver el problema del logaritmo discreto en curvas elípticas en general.[3]

Propiedades

Efectividad

Hasta 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. Sin embargo, en la actualidad, el algoritmo de computación de logaritmos discretos (cuando trabajamos módulo un primo) es subexponencial con una complejidad de λ = 1/3, la misma que la de factorizar dos números primos, y por tanto, no es accesible de realizar tal tarea en números grandes en un tiempo razonable. El logaritmo discreto es aún más difícil si trabajamos en otros grupos (como por ejemplo, curvas elípticas).

Véase Récords en logaritmos discretos para una muestra de las posibilidades que da la computación actual a la hora de resolver este problema.

Maleabilidad

Existe un caso en que este algoritmo se vuelve maleable. Esto implica que bajo un ataque específico la seguridad de ElGamal se puede quebrar. Este ataque usa el hecho de tener el texto cifrado   del texto claro   (ambos conocidos). Sabiendo esto se puede llegar a que el texto cifrado   corresponde al 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 con estar entre   y  
Tomando el peor caso, el atacante obtendrá dos textos claros (debido a la función módulo).

Rendimiento

El análisis de rendimiento del algoritmo ElGamal es similar al de RSA. Concretamente tenemos el siguiente análisis

Sea   el módulo usado en ElGamal. Los procesos de cifrado y descifrado de ElGamal toman tiempos  .

Homomórfico

El cifrado ElGamal es un cifrado homomórfico en la multiplicación. En efecto si:

  •  
  •  

entonces:

 

Prueba de conocimiento del texto original

Este tipo de cifrado permite probar el conocimiento del texto original cifrado sin tener que revelarlo (esta propiedad en inglés se llama plaintext aware). Por ejemplo esto es muy útil en sistemas de voto electrónico para asegurarnos de que el elector es el que realmente ha cifrado sus intenciones de voto y no las suministradas por un posible atacante. Para hacer la demostración se aprovecha del Algoritmo de identificación de Schnorr. [4]

Para un texto cifrado de ElGamal  , con el algoritmo de identificación de Schnorr, se prueba que P conoce b. Como la clave pública es   entonces si P conoce b, entonces se puede recuperar m calculando  . Por tanto el protocolo prueba que P conoce el texto original m.[5]

Prueba de recifrado

El Protocolo de Chaum-Pedersen puede ser usado para que un texto cifrado   es un recifrado de   sin revelar el factor de aleatorización s. La prueba de demostrar por el Protocolo de Chaum-Pedersen que   o lo que es lo mismo   que en ambos casos es igual a  . Esto implica que existe un valor s que lo hace posible.[6]

Prueba de cifrado de uno de los textos claros predefinidos

El Protocolo de Cramer-Damgard-Schoenmakers permite demostrar que un texto cifrado con ElGamal es el correspondiente a un texto claro de entre los posibles (los textos claros posibles tienen que estar predeterminados) sin revelar cual es. Esto es muy útil para votaciones electrónicas que usan este tipo de cifrado.[7]

Referencias

  1. ElGamal, Taher (1985). «A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms». IEEE TRANSACTIONS ON INFORMATION THEORY 31 (4): 469-472. Consultado el 19 de junio de 2015. 
  2. Koblitz, Neal (2006). «Discrete log». A course in number theory and cryptography (en inglés) (segunda edición). Springer. pp. 102-103. ISBN 0-387-94293-9. 
  3. Qureshi, Claudio (2012). (Maestría). Universidad de la República. Archivado desde el original el 20 de junio de 2015. Consultado el 19 de junio de 2015. 
  4. Matters of Coercion-Resistance in Cryptographic Voting Schemes. Carmen Kempka. Karlsruher Instituts für Technologie. 3 de junio de 2014
  5. Computer and Information Security Handbook. Second Edition. John R. Vacca. Elsevier 2013
  6. Verifiable Voting Systems el 15 de octubre de 2013 en Wayback Machine.. Thea Peacock, Peter Y. A. Ryan, Steve Schneider y Zhe Xia. University of Luxembourgy University of Surrey
  7. Every Vote Counts: Ensuring Integrity in Large-Scale DRE-based Electronic Voting. Feng Hao, Matthew Nicolas Kreege
  •   Datos: Q1162410

cifrado, elgamal, procedimiento, cifrado, descifrado, elgamal, refiere, esquema, cifrado, basado, problema, matemático, logaritmo, discreto, algoritmo, criptografía, asimétrica, basado, idea, diffie, hellman, funciona, forma, parecida, este, algoritmo, discret. El procedimiento de cifrado descifrado ElGamal se refiere a un esquema de cifrado basado en el problema matematico del logaritmo discreto Es un algoritmo de criptografia asimetrica 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 1 y se usa en software GNU Privacy Guard versiones recientes de PGP y otros sistemas criptograficos Este algoritmo no esta bajo ninguna patente lo que lo hace de uso libre La seguridad del algoritmo se basa en la suposicion que la funcion utilizada es de un solo sentido debido a la dificultad de calcular un logaritmo discreto El procedimiento de cifrado y descifrado esta basado en calculos sobre un grupo ciclico cualquiera G displaystyle G lo que lleva a que la seguridad del mismo dependa de la dificultad de calcular logaritmos discretos en G displaystyle G Indice 1 El algoritmo original 1 1 Generacion de la clave 1 2 Cifrado 1 3 Descifrado 1 4 Ejemplos 1 4 1 Simple 1 4 2 Complejo 2 Generalizacion 3 Propiedades 3 1 Efectividad 3 2 Maleabilidad 3 3 Rendimiento 3 4 Homomorfico 3 5 Prueba de conocimiento del texto original 3 6 Prueba de recifrado 3 7 Prueba de cifrado de uno de los textos claros predefinidos 4 ReferenciasEl algoritmo original EditarMostremos el criptosistema propuesto inicialmente por Tahar ElGamal en su articulo Generacion de la clave Editar Para generar la clave Alicia escoge un numero primo p displaystyle p cualquiera tal que el logaritmo discreto no es soluble en un tiempo asumible en Z p displaystyle Z p grupo multiplicativo modulo un primo p Esto ultimo se traduce en que p 1 displaystyle p 1 tenga un factor primo grande lo que hace que el problema del logaritmo discreto sea dificil 2 Ademas Alicia elige dos numeros aleatorios g displaystyle g el generador del grupo ciclico Z p displaystyle Z p y a displaystyle a que actuara como clave privada tal que a 0 p 1 displaystyle a in 0 ldots p 1 Alicia calcula el valor de K g a mod p displaystyle K g a pmod p La clave publica sera g p K displaystyle g p K mientras que el valor de a displaystyle a lo mantendra en secreto Despejando a displaystyle a de la ecuacion K g a mod p displaystyle K g a pmod p obtenemos la relacion siguiente entre los componentes de la clave publica y la clave privada log g K mod p a displaystyle log g K pmod p a con lo que el criptosistema es seguro siempre que sea dificil hallar el logaritmo discreto Cifrado Editar Supongamos que Bruce tiene un texto claro que quiere enviar cifrado a Alicia Lo primero por hacer es convertir este texto en un entero m entre 1 y p 1 displaystyle p 1 m Z p displaystyle m in Z p Esto no es parte del cifrado sino que es una manera de codificar estandar conocida por todos Luego Bruce escoge arbitrariamente un numero b 2 p 1 displaystyle b in 2 ldots p 1 que mantendra secreto para finalmente calcular y 1 g b mod p displaystyle y 1 g b pmod p y 2 K b m mod p displaystyle y 2 K b m pmod p El mensaje cifrado final corresponde a la tupla C b m b y 1 y 2 displaystyle C b m b y 1 y 2 Descifrado Editar Para descifrar aprovechamos que y 1 a y 2 mod p g b a K b m mod p g a b g a b m mod p g a b g a b m mod p m mod p displaystyle y 1 a y 2 pmod p g b a K b m pmod p g ab g a b m pmod p g a b g a b m pmod p m pmod p Por tanto para descifrar se tiene que realizar el siguiente calculo y 1 a y 2 mod p displaystyle y 1 a y 2 pmod p donde y 1 a displaystyle y 1 a representa el inverso de y 1 a displaystyle y 1 a modulo p displaystyle p lo que indica que para calcular el descifrado es necesario conocer a displaystyle a que es la clave privada de Alicia Por el pequeno teorema de Fermat se demuestra que y 1 a y 1 p 1 a displaystyle y 1 a y 1 p 1 a y lo podemos aplicar Demostracion El pequeno teorema de Fermat indica que x p 1 mod p 1 displaystyle x p 1 pmod p 1 con p primo y x gt 0 coprimo con p Elevando a a displaystyle a la expresion obtenemos que x p 1 a mod p 1 a 1 displaystyle x p 1 a pmod p 1 a 1 Por tanto x p 1 a mod p x a p a mod p x a x p 1 a mod p 1 displaystyle x p 1 cdot a pmod p x ap a pmod p x a cdot x p 1 a pmod p 1 Despejando x p 1 a mod p x a mod p displaystyle x p 1 a pmod p x a pmod p Ejemplos Editar Simple Editar Alicia elige los valores p 17 displaystyle p 17 primo aleatorio y suponemos que p 1 16 tiene un factor primo grande lo cual no es cierto g 3 displaystyle g 3 generador aleatorio a 6 displaystyle a 6 clave privada aleatoria Alicia calcula K g a mod p 3 6 mod 17 15 displaystyle K g a pmod p 3 6 pmod 17 15 valor calculado Por tanto la clave publica sera g p K 3 17 15 displaystyle g p K 3 17 15 Bruce tiene el texto claro m 9 displaystyle m 9 el cual esta entre 1 y p 1 Bruce escoge un b 5 displaystyle b 5 aleatorio entre 2 y p 1 Bruce calcula y 1 g b mod p 3 5 mod 17 5 displaystyle y 1 g b pmod p 3 5 pmod 17 5 y 2 K b m mod p 15 5 9 mod 17 1 displaystyle y 2 K b m pmod p 15 5 cdot 9 pmod 17 1 Por lo que el texto cifrado es C b m b y 1 5 y 2 1 displaystyle C b m b y 1 5 y 2 1 Para descifrar Alicia usa la clave privada a 6 displaystyle a 6 y el Pequeno Teorema de Fermat m y 1 p 1 a y 2 mod p 5 10 1 mod 17 9 displaystyle m y 1 p 1 a y 2 pmod p 5 10 cdot 1 pmod 17 9 Complejo Editar Veamos una aplicacion mas real del algoritmo Alicia elige los valores p 15485863 displaystyle p 15485863 primo aleatorio y para p 1 15485862 3 2 7 2 52673 displaystyle p 1 15485862 3 2 7 2 52673 suponemos que 52673 es sufientemente grande g 7 displaystyle g 7 generador aleatorio a 21702 displaystyle a 21702 clave privada aleatoria Alicia calcula K g a mod p 7 21702 mod 15485863 8890431 displaystyle K g a pmod p 7 21702 pmod 15485863 8890431 valor calculado Por tanto la clave publica sera g p K 7 15485863 8890431 displaystyle g p K 7 15485863 8890431 Bruce tiene el texto claro HIJO m 7 26 3 8 26 2 9 26 14 128688 displaystyle m 7 cdot 26 3 8 cdot 26 2 9 cdot 26 14 128688 el cual esta entre 1 y p 1 Bruce escoge un b 480 displaystyle b 480 aleatorio entre 2 y p 1Bruce calcula y 1 g b mod p 7 480 mod 15485863 12001315 displaystyle y 1 g b pmod p 7 480 pmod 15485863 12001315 y 2 K b m mod p 8890431 480 1286889 mod 15485863 8263449 displaystyle y 2 K b m pmod p 8890431 480 cdot 1286889 pmod 15485863 8263449 Por lo que el texto cifrado es C b m b y 1 12001315 y 2 8263449 displaystyle C b m b y 1 12001315 y 2 8263449 que al decodificarlo queda y 1 12001315 1 26 5 0 26 4 6 26 3 21 26 2 11 26 1 displaystyle y 1 12001315 1 26 5 0 26 4 6 26 3 21 26 2 11 26 1 BAGVLB y 2 8263449 18 26 4 2 26 3 4 26 2 0 26 25 displaystyle y 2 8263449 18 26 4 2 26 3 4 26 2 0 26 25 SCEAZCon lo que el mensaje a enviar es BAGVLB SCEAZ Para descifrar Alicia usa la clave privada a 21702 displaystyle a 21702 y 1 a y 2 mod p 14823281 8263449 mod 15485863 128688 displaystyle y 1 a y 2 pmod p 14823281 cdot 8263449 pmod 15485863 128688 ya que por el pequeno teorema de fermat tenemosy 1 a mod p y 1 p 1 a mod p 12001315 15464160 14823281 displaystyle y 1 a pmod p y 1 p 1 a pmod p 12001315 15464160 14823281 dd Generalizacion EditarLo unico que se utiliza de la congruencia modulo p displaystyle p es que el conjunto Z p x Z 1 x lt p displaystyle mathbb Z p times x in mathbb Z 1 leq x lt p forma un grupo con las operaciones modulo p displaystyle p y que en dicho grupo el problema del logaritmo discreto resulta dificil Por lo tanto puede cambiarse en este criptosistema al grupo Z p displaystyle mathbb Z p times por cualquier otro grupo G displaystyle G en el que el logaritmo discreto sea complicado Por ejemplo resulta bastante efectivo utilizar como grupo una curva eliptica sobre Z p displaystyle mathbb Z p vease Criptografia de curva eliptica ya que no se conoce un algoritmo de tiempo subexponencial capaz de resolver el problema del logaritmo discreto en curvas elipticas en general 3 Propiedades EditarEfectividad Editar Hasta el momento el algoritmo ElGamal de cifrado descifrado puede ser considerado un algoritmo efectivo Un adversario con la habilidad de calcular logaritmos discretos podria ser capaz de romper un cifrado ElGamal Sin embargo en la actualidad el algoritmo de computacion de logaritmos discretos cuando trabajamos modulo un primo es subexponencial con una complejidad de l 1 3 la misma que la de factorizar dos numeros primos y por tanto no es accesible de realizar tal tarea en numeros grandes en un tiempo razonable El logaritmo discreto es aun mas dificil si trabajamos en otros grupos como por ejemplo curvas elipticas Vease Records en logaritmos discretos para una muestra de las posibilidades que da la computacion actual a la hora de resolver este problema Maleabilidad Editar Existe un caso en que este algoritmo se vuelve maleable Esto implica que bajo un ataque especifico la seguridad de ElGamal se puede quebrar Este ataque usa el hecho de tener el texto cifrado C b B M displaystyle C b B M del texto claro m displaystyle m ambos conocidos Sabiendo esto se puede llegar a que el texto cifrado C b B k M displaystyle C b B k M corresponde al texto plano k m displaystyle k m Si ahora la persona que cifro el mensaje anterior genera otro texto cifrado C b B M displaystyle C b B M utilizando el mismo b displaystyle b con el que cifro anteriormente el adversario deberia ser capaz de llegar al texto plano m displaystyle m correspondiente siguiente los siguientes pasos Calcular k M M displaystyle k M M Buscar un m displaystyle m tal que m m k mod p displaystyle m m k pmod p tomando en cuenta que m displaystyle m al igual que m displaystyle m cumple con estar entre 0 displaystyle 0 y p 1 displaystyle p 1 Tomando el peor caso el atacante obtendra dos textos claros debido a la funcion modulo Rendimiento Editar El analisis de rendimiento del algoritmo ElGamal es similar al de RSA Concretamente tenemos el siguiente analisis Sea n displaystyle n el modulo usado en ElGamal Los procesos de cifrado y descifrado de ElGamal toman tiempos O log n displaystyle O log n Homomorfico Editar Articulo principal Cifrado homomorfico El cifrado ElGamal es un cifrado homomorfico en la multiplicacion En efecto si E m 1 g b 1 mod p K b 1 m 1 mod p displaystyle E m 1 g b 1 pmod p K b 1 m 1 pmod p E m 2 g b 2 mod p K b 2 m 2 mod p displaystyle E m 2 g b 2 pmod p K b 2 m 2 pmod p entonces E m 1 E m 2 g b 1 mod p K b 1 m 1 mod p g b 2 mod p K b 2 m 2 mod p g b 1 b 2 mod p K b 1 b 2 m 1 mod p E m 1 m 2 displaystyle E m 1 cdot E m 2 g b 1 pmod p K b 1 m 1 pmod p cdot g b 2 pmod p K b 2 m 2 pmod p g b 1 b 2 pmod p K b 1 b 2 m 1 pmod p E m 1 cdot m 2 Prueba de conocimiento del texto original Editar Este tipo de cifrado permite probar el conocimiento del texto original cifrado sin tener que revelarlo esta propiedad en ingles se llama plaintext aware Por ejemplo esto es muy util en sistemas de voto electronico para asegurarnos de que el elector es el que realmente ha cifrado sus intenciones de voto y no las suministradas por un posible atacante Para hacer la demostracion se aprovecha del Algoritmo de identificacion de Schnorr 4 Para un texto cifrado de ElGamal M G g b K b m displaystyle M G g b K b m con el algoritmo de identificacion de Schnorr se prueba que P conoce b Como la clave publica es g p K displaystyle g p K entonces si P conoce b entonces se puede recuperar m calculando m G K b K b m K b displaystyle m G K b K b m K b Por tanto el protocolo prueba que P conoce el texto original m 5 Prueba de recifrado Editar El Protocolo de Chaum Pedersen puede ser usado para que un texto cifrado G M G y s M g s displaystyle G M Gy s Mg s es un recifrado de G M m y r g r displaystyle G M my r g r sin revelar el factor de aleatorizacion s La prueba de demostrar por el Protocolo de Chaum Pedersen que l o g y G G l o g g M M displaystyle log y G G log g M M o lo que es lo mismo l o g y G y s G l o g g M g s M displaystyle log y Gy s G log g Mg s M que en ambos casos es igual a s displaystyle s Esto implica que existe un valor s que lo hace posible 6 Prueba de cifrado de uno de los textos claros predefinidos Editar El Protocolo de Cramer Damgard Schoenmakers permite demostrar que un texto cifrado con ElGamal es el correspondiente a un texto claro de entre los posibles los textos claros posibles tienen que estar predeterminados sin revelar cual es Esto es muy util para votaciones electronicas que usan este tipo de cifrado 7 Referencias Editar ElGamal Taher 1985 A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms IEEE TRANSACTIONS ON INFORMATION THEORY 31 4 469 472 Consultado el 19 de junio de 2015 Koblitz Neal 2006 Discrete log A course in number theory and cryptography en ingles segunda edicion Springer pp 102 103 ISBN 0 387 94293 9 Qureshi Claudio 2012 Criptografia de Curvas Elipticas y Logaritmo Discreto Implementacion de Autoreducibilidad aleatoria Maestria Universidad de la Republica Archivado desde el original el 20 de junio de 2015 Consultado el 19 de junio de 2015 Matters of Coercion Resistance in Cryptographic Voting Schemes Carmen Kempka Karlsruher Instituts fur Technologie 3 de junio de 2014 Computer and Information Security Handbook Second Edition John R Vacca Elsevier 2013 Verifiable Voting Systems Archivado el 15 de octubre de 2013 en Wayback Machine Thea Peacock Peter Y A Ryan Steve Schneider y Zhe Xia University of Luxembourgy University of Surrey Every Vote Counts Ensuring Integrity in Large Scale DRE based Electronic Voting Feng Hao Matthew Nicolas Kreege Datos Q1162410 Obtenido de https es wikipedia org w index php title Cifrado ElGamal amp oldid 142797305, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos