Está en la página 1de 3

CryptoHill

Blog en el que se muestran mis avances en la creación de mi


proyecto fin de carrera "Criptoanálisis del criptosistema de Hill" y
de la aplicación CryptoHill.
miércoles, 29 de junio de 2011

Parte 2 (descifrado de Hill) completada


La parte 2 (descifrado de texto cifrado usando el criptosistema de Hill) ya está
completada.

En esta imagen podemos ver como el programa ha descifrado el texto cifrado


"FVVHZQMCAJPGZVMPDUGXGNMUSVVKMYJOSSVG". El texto claro que se ha
obtenido es "ATACAREMOSALASVEINTETREINTAYOCHOUTCX", que
claramente se interpreta como "Atacaremos a las 20:38 (hora UTC) X". El receptor
recibió y descifró el texto cifrado que el emisor le envió para hacerle saber la hora
en la que piensa atacar.

Analizando la imagen podemos observar una particularidad del descifrado: El


último carácter del texto claro es una "X". ¿De dónde salió esa "X"? No se trata de
un error, ya que previamente está calculado que ocurra lo que ha ocurrido. Para
explicarlo tendremos que volver a la etapa de cifrado explicada en la entrada
anterior (¿Recuerdan cuando en la entrada anterior avisé de la incongruencia de
que el tamaño del texto claro y el del texto cifrado fueran distintos? Pues bien, tiene
mucho que ver con esa extraña "X" que apareció al final del texto claro descifrado
como seguidamente veremos).

Supongamos que vamos a cifrar un texto que contiene m caracteres. Para ello
usaremos una matriz clave privada con una dimensión n (tamaño del bloque a
cifrar). Si m no es divisible por n, en el último paso del cifrado quedarán menos de
n caracteres por computar. ¿Qué hacemos? Fácil. Agregamos tantos caracteres
como sean necesarios hasta que m sea divisible por n. ¿Qué carácter agregamos?
Cualquiera. Nosotros hemos convenido que agregaremos el carácter "X", ya que es
un carácter poco usual en lengua española.

Por ejemplo, el texto claro "ATACAREMOSALASVEINTETREINTAYOCHOUTC"


tiene 35 caracteres. Como estamos usando una matriz clave privada de dimensión 3
(véase la imagen) tenemos que 35 no es divisible entre 3, ya que obtenemos un
resto 2. Para que sea divisible basta con que agreguemos al texto claro un carácter
"X". De esta forma tendremos 36 car

CryptoHill
Blog en el que se muestran mis avances en la creación de mi
proyecto fin de carrera "Criptoanálisis del criptosistema de Hill" y
de la aplicación CryptoHill.
miércoles, 29 de junio de 2011

Parte 2 (descifrado de Hill) completada


La parte 2 (descifrado de texto cifrado usando el criptosistema de Hill) ya está
completada.

En esta imagen podemos ver como el programa ha descifrado el texto cifrado


"FVVHZQMCAJPGZVMPDUGXGNMUSVVKMYJOSSVG". El texto claro que se ha
obtenido es "ATACAREMOSALASVEINTETREINTAYOCHOUTCX", que
claramente se interpreta como "Atacaremos a las 20:38 (hora UTC) X". El receptor
recibió y descifró el texto cifrado que el emisor le envió para hacerle saber la hora
en la que piensa atacar.

Analizando la imagen podemos observar una particularidad del descifrado: El


último carácter del texto claro es una "X". ¿De dónde salió esa "X"? No se trata de
un error, ya que previamente está calculado que ocurra lo que ha ocurrido. Para
explicarlo tendremos que volver a la etapa de cifrado explicada en la entrada
anterior (¿Recuerdan cuando en la entrada anterior avisé de la incongruencia de
que el tamaño del texto claro y el del texto cifrado fueran distintos? Pues bien, tiene
mucho que ver con esa extraña "X" que apareció al final del texto claro descifrado
como seguidamente veremos).

Supongamos que vamos a cifrar un texto que contiene m caracteres. Para ello
usaremos una matriz clave privada con una dimensión n (tamaño del bloque a
cifrar). Si m no es divisible por n, en el último paso del cifrado quedarán menos de
n caracteres por computar. ¿Qué hacemos? Fácil. Agregamos tantos caracteres
como sean necesarios hasta que m sea divisible por n. ¿Qué carácter agregamos?
Cualquiera. Nosotros hemos convenido que agregaremos el carácter "X", ya que es
un carácter poco usual en lengua española.

Por ejemplo, el texto claro "ATACAREMOSALASVEINTETREINTAYOCHOUTC"


tiene 35 caracteres. Como estamos usando una matriz clave privada de dimensión 3
(véase la imagen) tenemos que 35 no es divisible entre 3, ya que obtenemos un
resto 2. Para que sea divisible basta con que agreguemos al texto claro un carácter
"X". De esta forma tendremos 36 car