You are on page 1of 9

CRIPTOSISTEMAS

Definiremos un criptosistema como una quintupla (M;C;K;E;D).


QUINTUPLA: Un conjunto finito llamado alfabeto, a partir del cual, y utilizando ciertas normas
sintcticas y semnticas, podremos emitir un mensaje en claro (plaintext) u obtener el texto en
claro correspondiente a un mensaje cifrado (ciphertext).
donde:

M representa el conjunto de todos los mensajes sin cifrar (lo que se denomina texto claro,
o plaintext) que pueden ser enviados.

C representa el conjunto de todos los posibles mensajes cifrados, o criptogramas.


K representa el conjunto de claves que se pueden emplear en el criptosistema.
E es el conjunto de transformaciones de cifrado o familia de funciones que se

aplica a
cada elemento de M para obtener un elemento de C. Existe una transformacin diferente
Ek para cada valor posible de la clave k.

D es el conjunto de transformaciones de descifrado, anlogo a E.

es decir, que si tenemos un mensaje


m, lo ciframos empleando la clave k
y luego lo desciframos empleando la
misma clave, obtenemos de nuevo
el mensaje original m.

Todo criptosistema ha
de cumplir la siguiente
condicin:

E/D

D/E

: Cifrado ElGamal

EJEMPLO

ElGamal consta de tres componentes: el generador de claves, el algoritmo de cifrado, y el de


descifrado. A continuacin se describe el algoritmo utilizando el grupo multiplicativo de enteros
mdulo p.
CREACION DE LLAVES DE CIFRADO:
Para generar un par de llaves, se escoge un nmero primo ,cualquiera tal que
primo grande. Adems se eligen dos nmeros aleatorios
, (el generador) y
clave privada) tal que a

, tenga un factor
, (que actuar como

Se calcula entonces el valor de .


, por lo tanto ser la llave pblica a utilizar.
En este caso
los valores

, se refiere al operador de mdulo de


, son pblicos.

, es la llave privada mientras que

Nota:
La definicin
es correcta. Sin embargo, desde un punto de vista de seguridad,
esta definicin tiene casos que no hacen sentido ya que
constituyen casos que no
brindan seguridad alguna y hacen que el cifrado no funcione. Dado esto se considera preferentemente
que
EJEMPLO NUMRICO:
Los valores:
p = 17,
g = 3,
a = 6,
A=

(primo elegido al azar)


(generador)
(llave privada elegida al azar)

forman la llave pblica

(llave pblica)
y la privada

CIFRADO:
Suponiendo que se tiene un texto claro que necesita ser cifrado. Lo primero por hacer es convertir
este texto en un elemento de
, obteniendo un
,. Luego se escoge arbitrariamente un
nmero
, tal que
para finalmente calcular:

El mensaje cifrado final corresponde a la tupla


EJEMPLO NUMRICO

Dado un texto

El texto cifrado

y se escoge un

aleatorio:

est compuesto por la tupla

DESCIFRADO
Para descifrar se tiene que realizar el siguiente clculo:

La resolucin de este problema queda entonces de la siguiente manera

Tambin existe una expresin ms simplificada para el mismo proceso:

EJEMPLO NUMRICO
El texto cifrado

cifrado con la llave pblica,

puede ser descifrado utilizando la llave privada


Utilizando el Pequeo Teorema de Fermat:

TRABAJO: Cifrado ElGamal


1. Calcular el cifrado y descifrado ElGamal, teniendo como valores los siguientes datos: p = 17, g =
5, a = 4.
2. Realizar un anlisis de Efectividad, Maleabilidad y Desempeo del cifrado ElGamal.
3. Formar grupos de para exposicin de los siguientes sistemas de cifrado clsico:
Cifrador esctala
Cifrador de Polybios
Cifrado por sustitucin del Csar
Cifrador monoalfabeto afn
Cifrador polialfabtico de Vigenre
Cifrador del atbash hebreo
Cifrador de Roger Bacon

You might also like