Sifrat ElGamal

El procediment de sifrat/dessifrat ElGamal es referix a un esquema de sifrat basat en el problema matemàtic del logaritme discret. És un algoritme de criptografia asimètrica basat en l'idea de Diffie-Hellman i que funciona d'una forma pareguda a este algoritme discret.
L'algoritme de ElGamal pot ser utilisat tant per a generar firmes digitals com per a sifrar o dessifrar.
Va ser descrit per Taher Elgamal en 1984 i s'usa en software GNU Privacy Guard, versions recents de PGP, i atres sistemes criptogràfics. Este algoritme no està baix cap palés lo que ho fa d'us lliure.
La seguritat de l'algoritme es basa en la suposició que la funció utilisada és d'un sol sentit per la dificultat de calcular un logaritme discret.
El procediment de sifrat (i dessifrat) està basat en càlculs sobre un grup cíclico qualsevol lo que du a que la seguritat del mateix depenga de la dificultat de calcular logaritmes discrets en .
L'algoritme original
Mostrem el criptosistema propost inicialment per Tahar ElGamal en el seu artícul.
Generació de la clau
Per a generar la clau, Alicia tria un número primo qualsevol tal que el logaritme discret no és soluble en un temps assumible en (grup multiplicativo mòdul un primer p). Açò últim es traduïx que tinga un factor primer gran (lo que fa que el problema del logaritme discret siga difícil[1]).
Ademés Alicia elegix dos números aleatoris (el generador del grup cíclico () i (que actuarà com a clau privada) tal que .
Alicia calcula el valor de . La clau pública serà , mentres que el valor de ho mantindrà en secret. Rebujant de l'equació obtenim la relació següent entre els components de la clau pública i la clau privada en lo que el criptosistema és segur sempre que siga difícil trobar el logaritme discret.
Sifrat
Supongam que Bruce té un text clar que vol enviar sifrat a Alicia. Lo primer per fer és convertir este text en un sancer m entre 1 i (). Açò no és part del sifrat, sino que és una manera de codificar estàndart, coneguda per tots. Després Bruce tria arbitrariamente un número (que mantindrà secret) para finalment calcular:
El mensage sifrat final correspon a la tupla
Dessifrat
Per a dessifrar aprofitem que:
Per tant per a dessifrar es té que realisar el següent càlcul:
a on representa l'invers de mòdul lo que indica que per a calcular el dessifrat, és necessari conéixer , que és la clau privada d'Alicia.
Pel menuda teorema de Fermat es demostra que i ho podem aplicar.
- Demostració: El menuda teorema de Fermat indica que en p primer i x>0 coprimo en p. Elevant a l'expressió obtenim que . Per tant . Rebujant
Eixemples
Simple
Alicia elegix els valors:
- (cosí aleatori i suponem que p-1=16 té un factor primer gran lo que no és cert)
- (generador aleatori)
- (clau privada aleatòria)
Alicia calcula
- (valor calculat)
Per tant la clau pública serà .
Bruce té el text clar
- (el qual està entre 1 i p-1)
Bruce tria un aleatori entre 2 i p-1 Bruce calcula
- .
Per lo que el text sifrat és
Per a dessifrar Alicia usa la clau privada i la Menuda Teorema de Fermat:
- .
Complex
Vejam una aplicació més real de l'algoritme:
Alicia elegix els valors:
- (cosí aleatori i per a suponem que 52673 és sufientemente gran)
- (generador aleatori)
- (clau privada aleatòria)
Alicia calcula
- (valor calculat)
Per tant la clau pública serà .
Bruce té el text clar "HIJO"
- (el qual està entre 1 i p-1)
Bruce tria un aleatori entre 2 i p-1
Bruce calcula
- .
Per lo que el text sifrat és que al decodificarlo queda:
- =BAGVLB
- =SCEAZ
En lo que el mensage a enviar és (BAGVLB, SCEAZ)
Per a dessifrar Alicia usa la clau privada :
- ya que per la chicoteta teorema de fermat tenim
Generalisació
Lo únic que s'utilisa de la congruència mòdul és que el conjunt forma un grup en les operacions mòdul i que en dit grup el problema del logaritme discret resulta difícil.
Per lo tant, pot canviar-se en este criptosistema al grup per qualsevol atre grup en el que el logaritme discret siga complicat.
Per eixemple, resulta prou efectiu utilisar com a grup una curva elíptica sobre (vore Criptografia de curva elíptica), ya que no es coneix un algoritme de temps subexponencial capaç de resoldre el problema del logaritme discret en curves elíptiques en general.[2]
Referències
- ↑ Koblitz, Neal (2006). «Discrete log», A course in number theory and cryptography, segona edició (en anglés), Springer, pp. 102-103. ISBN 0-387-94293-9.
- ↑ Erro en la seqüencia d'órdens: no existix el mòdul «Citas».
Referències
- Este artícul conté una traducció derivada de «Cifrado ElGamal» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.