Criptosistemas clásicos



Descargar 129.59 Kb.
Fecha de conversión29.01.2017
Tamaño129.59 Kb.
CRIPTOSISTEMAS CLÁSICOS

La palabra código alude a un tipo muy particular de comunicación secreta, que ha ido cayendo en desuso a lo largo de los siglos. En un código, una palabra o una frase es reemplazada por una palabra, un número o un símbolo. Por ejemplo, los agentes secretos tienen nombres codificados, palabras que se utilizan en vez de sus verdaderos nombres para enmascarar su identidad. La alternativa al código es la cifra, una técnica que funciona a un nivel más básico, reemplazando letras en vez de palabras enteras. Por ejemplo, cada letra de una frase podría reemplazarse por la siguiente letra del alfabeto.



Tipos de Cifrados Clásicos

Se puede hacer una gran división de los cifrados según el tipo de operación que se realiza en el cifrado. Dada la característica finita del alfabeto y la hipótesis de no variación de la longitud del texto, existen dos opciones para el cifrado. La primera, llamada sustitución, consiste en sustituir las unidades del texto original por otras; la segunda llamada transposición, consiste en crear el texto cifrado simplemente desordenando las unidades que forman el texto original. Los algoritmos de sustitución y los códigos, preservan el orden de los símbolos en claro, pero los disfrazan. A diferencia de éstos, los algoritmos de transposición, reordenan las letras pero no las disfrazan.

Ejemplo de transposición:

TU SECRETO ES TU PRISIONERO; SI LO SUELTAS, TÚ ERES SU PRISIONERO





Ejemplo de sustitución:

ENCONTRÉMONOS A MEDIANOCHE
A D H I K M O R S U W Y Z

V X B G J C Q L N E F P T


USMQZLUCQSQN V CUXGVSQMBU
Este es un ejemplo ilustrativo claro de una función matemática; a cada letra del alfabeto llano (elemento del dominio) le hace corresponder una letra del alfabeto cifrado (elemento del rango o conjunto imagen de la función). Por otra parte, para el proceso de descifrado es necesario contar con que la función sea biyectiva para poder ser inversible. Los sistemas criptográficos donde la clave de descifrado se pueden deducir de la clave de cifrado se llaman simétricos o de clave secreta.
Los criptógrafos a menudo piensan en términos de alfabeto llano o claro, el alfabeto que se usa para el mensaje original, y alfabeto cifrado, las letras que sustituyen a las del alfabeto llano.

Cada una de las cifras puede ser considerada en términos de un método de codificación general, conocido como el algoritmo, y una clave, que especifica los detalles exactos de una codificación particular. En los casos siguientes, el algoritmo conlleva sustituir cada letra del alfabeto llano por una letra del alfabeto cifrado y el alfabeto cifrado puede consistir de cualquier combinación del alfabeto llano.

El algoritmo de transposición más común es el de tipo columnar; la clave del cifrado debe ser una palabra que no tenga ninguna letra repetida, en el ejemplo que se presenta a continuación la clave es la palabra MEGABUCK. El propósito de la clave es el de numerar las diferentes columnas que se formarán, de forma que la columna 1 es aquella que queda bajo la letra de la clave más próxima al principio del alfabeto y así sucesivamente. El texto en claro se escribe debajo de la clave en renglones horizontales; el texto cifrado se lee por columnas, comenzando por la columna cuya letra clave tiene el menor valor.

Texto llano: please transfer one million dollars to my

Clave de cifrado: M E G A B U C K


M

E

G

A

B

U

C

K

7

4

5

1

2

8

3

6

p

l

e

a

s

e

t

r

a

n

s

f

e

r

o

n

e

m

i

l

l

i

o

n

d

o

l

l

a

r

s

t

o

m

y

a

b

c

d

e

Texto cifrado: afllaselabtoosdlnmomesilyrnntepaedoerirc

Para desbaratar un cifrador de transposición, el criptoanalista debe estar primero enterado de que se trata efectivamente de un cifrado de transposición. Esto puede comprobarse de una forma relativamente sencilla, observando la frecuencia de las letras e, t, a, o, i, n, ... ya que en los cifrados de este tipo se cambia de lugar las letras, pero no se cambian las letras propiamente, por lo que si la frecuencia de aparición de las letras se corresponde con la observada para el lenguaje natural, es decir, la e es la que más aparece, ... entonces se podría afirmar con mucha seguridad que el cifrador es de transposición y no de sustitución.

El siguiente paso consistiría en determinar cuál es el número de columnas. En muchos casos una palabra o frase probable, puede llegar a adivinarse a partir del contexto del mensaje. Si el criptoanalista sabe, o supone que una determinada palabra o frase está contenida en el mensaje, entonces no le costará mucho esfuerzo determinar el número de columnas.

El último paso consistiría en ordenar las columnas.



Cifrado de Cesar

El algoritmo de César, llamado así porque es el que empleaba Julio César para enviar mensajes secretos, es uno de los algoritmos criptográficos más simples. Es un algoritmo de sustitución que consiste en sumar 3 al número de orden de cada letra. De esta forma a la A le corresponde la D, a la B la E, y así sucesivamente. Si asignamos a cada letra un número (A = 0, B = 1. . . ), y consideramos un alfabeto de 27 letras, la transformación criptográfica sería:



y = T3(x) = (x + 3) mod 27

Obsérvese que este algoritmo ni siquiera posee clave, puesto que la transformación siempre es la misma. Obviamente, para descifrar basta con restar 3 al número de orden de las letras del criptograma. (o en términos de funciones inversas: T3-1(x) = (x – 3) mod 27)



NOTA IMPORTANTE: La elección del tamaño del alfabeto es una decisión que tiene implicaciones. En la práctica es conveniente contar con un alfabeto con un número primo de letras.

A

B

C

D

E

F

G

H

I

J

K

L

M

N

Ñ

O

P

Q

R

S

T

U

V

W

X

Y

Z

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

vamos a cifrar el siguiente mensaje:

Texto llano: ZAPATO

Podemos hacerlo manualmente ó utilizado la fórmula anteriormente dada:


  1. Reemplazar x por el valor de la primera letra, en este caso Z equivale a 26.

  2. Realizar la operación indicada:
    T3(Z) = (26 + 3) mod 27 = 2 = C

  3. Realizar la operación con las letras restantes.

Texto cifrado: CDSDWR

El sistema anterior se generaliza de forma evidente a Tn(x) = (x + n) mod 27

Cifrado Afín

Es el caso general del algoritmo de César. Su transformación sería:



T(a,b) (x) = (ax + b) mod N

siendo a y b dos números enteros menores que el cardinal N del alfabeto, y cumpliendo que mcd(a, N) = 1. La clave de cifrado k viene entonces dada por el par (a, b). El algoritmo de César sería pues una transformación afín con k = (1; 3).

Para descifrar un mensaje hay que utilizar la función inversa: T(a,b)-1(x) = a´x + b´; donde a´ = a-1 mod N; b´= − a-1b mod N.

NOTA IMPORTANTE: Es necesario que N sea primo para que exista y sea único a-1.

Puede ser interesante hallar la gráfica de la transformación y de su inversa para entender estos procedimientos.

La simplicidad y fortaleza de los cifrados de sustitución hicieron que éstos dominaran el arte de la escritura secreta a lo largo del primer milenio de nuestra era.



La cifra Pigpen
La cifra de sustitución monoalfabética perduró a través de los siglos en formas diversas.

Por ejemplo la cifra de los templarios:

El Temple era una orden de monjes fundada en el siglo XII., cuya misión principal era asegurar la seguridad de los peregrinos en Tierra Santa.. Rápidamente, los templarios se desentendieron de este objetivo, y se enriquecieron considerablemente hasta el punto de llegar a ser tesoreros del rey y del Papa. Para codificar las letras de crédito que ellos intercambiaban, ellos remplazaban cada letra por un símbolo, siguiendo la sustitución siguiente :

Otro ejemplo es la cifra Pigpen fue utilizada por los masones en el siglo XVIII para preservar la privacidad de sus archivos, y todavía la usan los niños hoy en día. La cifra no sustituye una letra por otra, sino que sustituye cada letra por un símbolo de acuerdo al siguiente modelo:



Para codificar una letra particular, encuentre su posición en una de las cuatro cuadrículas y luego dibuje esa porción de la cuadrícula para representar esa letra. Por tanto:



Si conoce la clave, la cifra Pigpen es fácil de descifrar. Si no, se puede descifrar fácilmente con el:



Los criptoanalistas árabes lograron encontrar un método para descifrar la cifra de sustitución monoalfabética (un único alfabeto cifrado), aunque no se sabe quién fue el primero en darse cuenta de que la variación en la frecuencia de las letras podía explotarse para descifrar.

Una de las mejoras más sencillas de la seguridad de la cifra de sustitución monoalfabética fue la introducción de nulos, es decir, símbolos o letras que no eran sustitutos de letras auténticas, sino meros huecos que no representaban nada. Por ejemplo, era posible sustituir cada letra llana pon un número entre 0 y 99, lo que dejaba 73 números que no representaban nada y que podían ser salpicados aleatoriamente y con frecuencias variables por todo el texto cifrado.

El cifrado Bifido o de Polibio

En el siglo II a.C. Polibio fue miembro de la Liga Aquea dirigida por Filipémenes que fue derrotada por los romanos en Pidna, Polibio fue llevado como rehén a Roma para ser maestro de Escipión Emiliano. Presenció la destrucción de Cartago y posiblemente estuvo en el sitio de Numancia. Escribió cuarenta libros donde recoge sus "Historias", conservándose sólo cinco en los que se manifiesta su deseo de apartar de los acontecimientos todo resto de mitología, utopía o poesía.

Polibio está en el origen de un método muy original para cifrar (él describía un sistema de señales a distancia basado en el empleo de antorchas). Para esto, se disponen las letras en un cuadrado 5x5 (Al ser un cuadro sólo de 5x5 nos vemos obligados a cifrar de la misma forma la I y la J. El contexto nos permitirá distinguir cual de las dos letras se pretendía cifrar) :





1

2

3

4

5

1

A

B

C

D

E

2

F

G

H

I / J

K

3

L

M

N

O

P

4

Q

R

S

T

U

5

V

W

X

Y

Z

Se remplaza entonces cada letra por sus coordenadas en el cuadrado, escribiendo en primer lugar la fila y luego la columna. Por ejemplo, la A es reemplazada por 11, la B es reemplazado por 12, la F por 21, la M por 32.... (en la idea de Polibio para transmitir la letra R a distancia se encendían las cuatro primeras antorchas y las dos últimas)

Si nosotros codificamos
LONGTEMPS JE ME SUIS COUCHE DE BONNE HEURE

Obtenemos:

313433224415323543 2415 3215 133445132315 1415 1234333315 2315454215
El cuadrado de Polibio posee algunas propiedades interesantes. En particular, reduce el número de símbolos utilizados para la codificación, lo que hace su análisis más difícil. Además altera la frecuencia de los caracteres a diferencia de lo que ocurre por ejemplo con los cifrados monoalfabéticos. Es por lo que lo hace un precursor de los métodos modernos. Remarquemos que podemos llenar el cuadrado de manera diferente de como se ha hecho aquí, por ejemplo comenzando poniendo una palabra clave y luego el resto de las letras en orden alfabético.

Observemos un ejemplo donde la clave para el alfabeto desordenado es DIPLOMA:



*

1

2

3

4

5

1

D

I/J

P

L

O

2

M

A

B

C

E

3

F

G

H

K

N

4

Q

R

S

T

U

5

V

W

X

Y

Z

    

Si por ejemplo el texto llano es: VEN A LAS TRES

El equivalente numérico es: 51 25 35 22 14 22 43 44 42 25 43

En el cifrado bífido lo dividimos en dos partes quedando:

5 1 2 5 3 5 2 2 1 4 2

2 4 3 4 4 4 2 2 5 4 3

 Si ahora leemos los números como columnas en lugar de por filas resulta:

52 14 23 54 34 54 22 22 15 44 23

Y volviendo a consultar la tabla resulta en el mensaje cifrado: WLBYKYAAOTB

Admite más variaciones como por ejemplo dividir la lista en 3, 4, ...n partes.

El cuadrado de Polibio se utilizó en los siglos XIX y XX por los nihilistas rusos.

La cifra Playfair
La cifra Playfair se utilizó durante las dos guerras mundiales y esta basado en el cuadrado de Polibio, fue popularizada por Lyon Playfair, primer barón Playfair de St. Andrews, pero fue inventada por sir Charles Wheatstone, uno de los pioneros del telégrafo eléctrico. Los dos hombres vivían cerca, cada uno a un lado del puente de Hammersmith, y se reunían a menudo para hablar de sus ideas sobre la criptografía.

La cifra sustituye cada par de letras de texto llano con otro par de letras. Para codificar y transmitir un mensaje, el emisor y el receptor deben acordar primero una palabra clave. Por ejemplo, podemos utilizar el propio nombre de Whetstone, CHARLES, como clave. A continuación, antes de codificar, las letras del alfabeto se escriben en un cuadrado de 5 x 5, comenzando con la palabra clave, y combinando las letras I y J en un solo elemento:



A continuación, se divide el mensaje en pares de letras o dígrafos. Las dos letras de todos los dígrafos deben ser diferentes, lo que se consigue en el ejemplo siguiente insertando una x adicional entre las dos m de hammersmith, y se añade una x adicional al final para convertir en un dígrafo la letra final que queda sola:


Texto llano: meet me at hammersmith bridge tonight

Texto llano en dígrafos: me-et-me-at-ha-mx-me-rs-mi-th-br-id-ge-to-ni-gh-tx


Ahora puede comenzar la codificación. Todos los dígrafos caen en una de estas tres categorías: ambas letras están en la misma fila, o en la misma columna o en ninguna de las dos. Si ambas letras están en la misma fila, son reemplazadas por la letra que queda a la derecha de cada una de ellas; así, mi se convierte en NK. Si una de las letras está al final de la fila, es reemplazada por la letra que hay al principio de la fila; por ejemplo, ni se convierte en GK. Si ambas letras están en la misma columna, son reemplazadas por la letra que hay debajo de cada una de ellas; así pues ge se convierte en OG. Si una de las letras está en la parte inferior de la columna, es reemplazada por la letra de la parte superior de la columna, así pues, ve se convierte en CG.

Si las letras del dígrafo no están ni en la misma fila ni en la misma columna, la codificación se rige por una regla diferente. Para codificar la primera letra, hay que mirar en su fila hasta llegar a la columna que contiene la segunda letra; la letra que hay en esa intersección reemplaza a la primera letra. Para codificar la segunda letra, mirar en su fila hasta llegar a la columna que contiene a la primera letra, la letra que hay en la intersección reemplaza a la segunda letra. Por tanto, me se convierte en GD y et se convierte en DO. La codificación completa es:

Texto llano en dígrafos: me et me at ha mx me rs mi th br id ge to ni gh tx

Texto cifrado: GD DO GD RQ AR KY GD HD NK PR DA MS OG UP GK IC QY

El receptor, que también conoce la palabra clave, puede descifrar fácilmente el texto cifrado simplemente invirtiendo el proceso: por ejemplo, las letras cifradas que estén en la misma fila se descifran reemplazándolas por la letra que haya a la izquierda de cada una de ellas.
La cifra de Playfair recurre al cuadrado de Polibio para su definición. Sin embargo, es posible encontrar una transformación bialfabética para su definición.

Cifrados polialfabéticos

Hacia 1460 León Battista Alberti, una de las figuras principales del Renacimiento, propuso utilizar dos o más alfabetos cifrados, alternando entre ellos durante la codificación, sin embargo no logró desarrollar su concepto y convertirlo en un sistema de codificación plenamente formado.



Cifra de Vigenére (Vigenére fue un diplomático francés nacido en 1523)
En la cifra de Vigenére se utilizan no uno, sino 26 alfabetos cifrados (cifrado polialfabético), cada uno de ellos comenzando en la letra siguiente del anterior. La naturaleza polialfabética es lo que le da su fuerza, pero también hace que sea mucho más complicada de usar.
La cifra resulta inexpugnable para el análisis de frecuencia, pues una misma letra que aparezca varias veces en el texto cifrado puede representar en cada ocasión una letra diferente del texto llano y a su vez una letra que aparezca varias veces en el texto llano puede estar representada por diferentes letras en el texto cifrado,.
Para descifrar un mensaje, el receptor necesita saber que línea del cuadro Vigenére ha sido utilizada para codificar cada letra, de manera que tiene que haber un sistema acordado (clave) para cambiar de línea.
Para ilustrar como se utiliza una clave con el cuadro Vigenère vamos a cifrar la frase desvíe tropas a la loma este, utilizando la clave HIELO. Para empezar, se deletrea la clave sobre el mensaje, repitiéndola las veces que sea necesario hasta que cada letra del mensaje quede asociada con una letra de la clave.
Clave H I E L O H I E L O H I E L O H I E L O H I E

Texto llano d e s v i e t r o p a s a l a l o m a e s t e


Para cifrar la primera letra, d, hay que comenzar por identificar la letra clave que hay sobre ella, H, que a su vez define una línea particular en el cuadro Vigenère. La línea que comienza por H, la línea 7, es el alfabeto cifrado que se utilizará para encontrar la letra que sustituirá a la d del texto llano. Observamos dónde se cruza la columna que comienza por d con la línea que comienza por H y resulta ser la letra K. Por consiguiente, a esa letra d del texto llano la representa la K en el texto cifrado.. Para codificar la segunda letra del mensaje, e, repetimos el proceso. La letra clave que hay sobre la e es la I, así, que la codificamos mediante una línea diferente del cuadro de Vigenère: la línea I (línea 8), que es un nuevo alfabeto cifrado. Para codificar la e observamos dónde se cruza la columna que empieza por e con la línea que comienza por I, y resulta ser la letra M
Texto cifrado KMWGWLBV Z D HAE T O SWQ L S Z B I
Una palabra clave más larga, ó una frase clave, introduciría más líneas en el proceso de codificación e incrementaría la complejidad de la cifra.
El siguiente muestra un cuadro de Vigenère
a b c d e f g h i j k l m n o p q r s t u v x y z

La debilidad fundamental de la cifra Vigenére es su naturaleza cíclica. Si la clave tiene cinco letras, entonces cada cinco letras del texto llano está codificad según el mismo alfabeto cifra. Si el criptoanalista puede identificar la longitud de la clave, el texto puede ser tratado como una serie de cinco cifras monoalfabéticas, y cada una de ellas se puede descifrar con el análisis de frecuencia.



Cifrado de Vernam, de cuaderno de uso único o de cinta aleatoria

Para evitar el inconveniente del sistema de Vigenére, en 1917 el ingeniero americano Vernan, propone un sistema de sustitución polialfabético de gran importancia en la criptografía, pues es el único que se demuestra matemáticamente perfecto. En él podemos abordar cuestiones probabilísticas, en concreto sobre la generación de números aleatorios.

Conocida el tamaño, k, del mensaje que deseamos cifrar, consideramos una sucesión finita de k de variables aleatorias independientes e idénticamente distribuidas según una distribución equiprobable sobre Zm, que será la clave usada. Entonces realizaremos una suma módulo m entre cada letra del mensaje con cada letra de esta sucesión de claves. Las mejores claves aleatorias se crean utilizando procesos físicos naturales como la radiactividad, que se sabe exhibe una conducta verdaderamente aleatoria. El criptógrafo podría colocar algo de material radiactivo en una banqueta y detectar su emisión con un contador Geiger.

Las comunicaciones militares requerían velocidad y simplicidad, ya que podían enviar y recibir cientos de mensajes cada día, por lo que los mandos militares se mostraban reticentes a adoptar la cifra polialfabética, a causa de su complejidad y buscaron formas intermedias, que fueran más difíciles de descifrar que las monoalfabéticas pero más sencillas que una cifra polialfabética.



Así surgió la cifra de sustitución homofónica. En ella cada letra es reemplazada por una variedad de sustitutos, y el número de sustitutos potenciales es proporcional a la frecuencia de la letra. Por ejemplo, la letra a supone el 8% de todas las letras del inglés escrito, de manera que asignaríamos ocho símbolos para representarla. Cada vez que apareciese una a en el texto llano sería reemplazada en el texto cifrado por uno de los ocho símbolos elegido al azar, de forma que al final de la codificación cada símbolo constituiría aproximadamente el 1% del texto codificado.

La cifra ADFGVX
En la cifra ADFGVX hay sustitución y transposición. La codificación comienza dibujando una cuadrícula de 6x6, y llenando los 36 cuadrados con una disposición aleatoria de las 26 letras y los 10 dígitos. Cada línea y cada columna de la cuadrícula se identifica con una de las seis letra A, D, F , G, V o X. La disposición de los elementos de la cuadrícula funciona como parte de la clave, de modo que el receptor necesita conocer los detalles de la cuadrícula para poder descifrar los mensajes.





A

D

F

G

V

X

A

8

p

3

d

1

n

D

l

t

4

o

a

h

F

7

k

b

c

5

z

G

j

u

6

w

g

m

V

x

s

v

i

r

2

X

9

e

y

0

f

q

La primera fase de la codificación es tomar cada letra del mensaje, localizar su posición en la cuadrícula y sustituirla con las letras que dan nombre a sus línea y su columna. Por ejemplo, 8 sería sustituido por AA, y p sería reemplazado por AD. Veamos un mensaje corto codificado según este sistema.

Texto llano: ven a las 10 de la noche

Texto cifrado fase 1: VF XD AX DV DA DV VD AV XG AG XD DA DV AX DG FG DX XD

Hasta ahora, es una simple cifra de sustitución monoalfabética, y bastaría un análisis de frecuencia para descifrarla. Sin embargo, la segunda fase de ADFGVX es una transposición, lo que dificulta muchísimo más el criptoanálisis. La transposición depende de una palabra clave, que en este caso es la palabra PACO, y que debe compartirse con el receptor. La transposición se lleva a cabo de la siguiente manera. Primero, las letras de la palabra clave se escriben en la línea superior de una nueva cuadrícula. Luego el texto cifrado fase 1 se escribe debajo en una serie de líneas, tal como se muestra a continuación. Después, las columnas de la cuadrícula se cambian de posición de modo que las letras de la palabra clave queden en orden alfabético. El texto cifrado final se logra descendiendo cada columna y escribiendo las letras en este nuevo orden.

Texto cifrado final: FXADGDVGXXDDAADAFXDVVVGAXGDVADVXXDDD

El texto cifrado final se transmitiría entonces en código Morse, y el receptor invertiría el proceso de codificación para obtener el texto original. Todo el texto cifrado se compone con sólo seis letras (esto es, A, D, F, G, V, X), porque éstas son las que dan nombre a las líneas y las columnas de la cuadrícula inicial de 6x6. A menudo, la gente se pregunta por qué se eligieron esas letras, en vez de, pongamos A, B, C, D, E y F. La respuesta es que A, D, F, G, V y x son muy diferentes entre sí cuando se convierten en las líneas y puntos del Morse, de modo que la elección de letras reduce al mínimo el riesgo de errores durante la transmisión.
Cifrado de Hill

Los cifrados monográficos, en los que se sustituye un carácter por otro de una forma preestablecida, son vulnerables al análisis de frecuencia de aparición de las letras. Para evitarlo se desarrollaron esquemas basados en cifrar bloques de letras de una cierta longitud fija, o sea, cifrados poligráficos. El esquema que aquí trataremos se debe a Hill (hacia 1.930). Tiene un interés didáctico importante debido al uso de matrices que en él se hace.

Un cifrado de Hill se obtiene al transformar bloques de n caracteres en un texto cifrado a través de la relación

C = (A · P + B) (mod 28), donde:

A es una matriz nxn, que debe ser inversible módulo 28, es decir, el m.c.d (determinante de_la_matriz ‌‌A, 28) = 1.

P es un bloque de n caracteres. P =

B es una matriz nx1

C es la matriz columna resultante del cifrado de P. C =

28 es el número de símbolos del alfabeto: _ A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z que se corresponden con los números del 0 al 27 (el 0 corresponde al espacio en blanco separador de dos palabras)

Un ejemplo para un cifrado digráfico (bloques de 2 caracteres) sería para el texto original siguiente: ESTACION CENTRAL X


E

S

T

A

C

I

O

N




C

E

N

T

R

A

L




X

5

20

21

1

3

9

16

14

0

3

5

14

21

19

1

12

0

25

Disponemos el texto de la forma siguiente y aplicamos la transformación indicada:


E

T

C

O




E

T

A




S

A

I

N

C

N

R

L

X

Tomando como A la matriz ; y como B la matriz hacemos :

C1 = (((1 * P1) + (27 * P2)) +1) (mod 28)

C2 = (((0 * P1) + (3 * P2))+0) (mod 28)


E

S
Donde P1 y P2 son dos caracteres del mensaje sin cifrar, C1 Y C2 los correspondientes cifrados y K.

Continuando con el ejemplo y codificando

siendo E = 5 y S = 20, entonces:

C1= (((1 * 5) + (27 * 20) + 1)(mod 28) = 546 (mod 28) = 14 (mod 28) (letra N)

C2= (((0 * 5) + ( 3 * 20) + 0))(mod 28) = 60 (mod 28) = 4 (mod 28) (letra D)

(mod 28)

Y así sucesivamente para cada bloque de 2 caracteres, resultando:

Texto cifrado: NDTCVZCNYISNCAQHDR

La consecuencia es que el mismo carácter se codifica de distintas formas (la primera E se ha codificado como una N, y la segunda E del texto original se ha codificado como una S).

  El descifrado del sistema de Hill es simétrico (la clave de desencriptación se calcula a partir de la clave de encriptación y viceversa) y será aplicar la transformación:

P = A-1 · (C – B) (mod 28) , donde A-1 es la matriz inversa de A mod 28

Para calcular la inversa módulo N de una matriz cualquiera: Si A es una matriz tal que m.c.d(det(A), N)=1 y llamamos d = det(A) entonces A-1= d-1.B donde d-1 es el inverso de d módulo N y B es la transpuesta de la matriz adjunta de A.

Vamos a cifrar la palabra MAX utilizando un cifrado poligráfico de tamaño 3. Tomemos sus equivalentes numéricos:

M  A  X
13 1 25

 Si las matrices de cifrado A y B son:

A = ; B =

Det(A) = d = 3 entonces tendremos que d-1 = 19 pues 3.19 = 57 = 1(mod 28); por otro lado

Adj(A) =; Adj (A)t =

Por lo que A-1= 19.=

Para cifrar

el resultado es [62 64 -11] es decir [18 8 17] tomándolo módulo 26. Así que el bloque que corresponde a MAX es QHP.

    Probemos con el descifrado:

el resultado es como era de prever [13 1 25], es decir el bloque MAX original.



    


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal