Taher ElGamal propone en 1985 un algoritmo que hace uso del
problema del logaritmo discreto PLD. Este algoritmo fue diseado especficamente para firma digital
Algoritmo asimtrico El Gamal
Se elige un grupo multiplicativo Zp*, donde p es un primo grande
Del grupo p se elige una raz , generador del grupo Cada usuario elige un nmero aleatorio dentro de p El valor ser la clave privada Cada usuario calcula mod p Los valores ( mod p) y p sern la clave pblica Seguridad del sistema Para descubrir la clave privada, el atacante deber enfrentarse al problema del logaritmo discreto para p grande
http://web.usna.navy.mil/~wdj/book/node48.html
Operacin de cifra con ElGamal
Operacin Cifrado: A cifra un nmero N que enva a B El usuario B ha elegido su clave privada b dentro del cuerpo del nmero primo p que es pblico. El usuario B ha hecho pblica su clave b mod p. El emisor A genera un nmero aleatorio de sesin y calcula mod p. Con la clave pblica de B (b) el emisor A calcula: (b) mod p A enva a B el par:
N(b) mod p C = [ mod p, N(b) mod p]
Operacin de descifrado con ElGamal
Operacin Descifrado: B descifra el criptograma C que enva A El usuario B recibe C = [ mod p, N(b) mod p]. B toma el valor mod p y calcula ()b mod p. B descifra el criptograma C haciendo la siguiente divisin: [N(b) mod p ] / [()b mod p] ... porque (b) = ()b El paso anterior es posible hacerlo porque existir el inverso de ()b en el grupo p al ser p un primo. Luego: [N(b) {inv ()b, p}] mod p = N
Ejemplo de cifrado con ElGamal
Adela (A) enviar a Benito (B) el nmero N = 10 cifrado dentro del cuerpo p = 13 que usa Benito. CIFRADO Claves pblicas de Benito: p = 13, = 6, (b) mod p = 2 Adela (A) elige por ejemplo = 4 y calcula: () mod p = 64 mod 13 = 9 (b)v mod p = 24 mod 13 = 3 N(b)v mod p = 103 mod 13 = 4 Y enva a (B): () mod p, N(b)v mod p = [9, 4]
Ejemplo de descifrado con ElGamal
DESCIFRADO La clave privada de Benito (B) es b = 5 Benito recibe: [() mod p, N(b)v mod p] = [9, 4] Benito calcula: ()b mod p = 95 mod 13 = 3 [N(b)v] inv[()b, p] = 4 inv (3, 13) = 4 9 N = 4 9 mod 13 = 10 (se recupera el valor) Recuerde que debe ser una raz de p. Como ya hemos visto, si no es una raz, aunque s puede hacerse la cifra, se facilitara el ataque al problema del logaritmo discreto.
Especializacion Enespecializacion - en - Procesos - para - El - Desarrollo - de - Software - 2014 - Brochure - PDF Procesos para El Desarrollo de Software 2014 Brochure