Método de Encriptación de Hill

November 19, 2021 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Método de Encriptación de Hill...

Description

 Metodología del Criptosistema Criptosistema de Hill Hill

Mota, Adolfo; Muñoz, Rodolfo; Ornelas, Luis; Sandoval, Gabriel; Téllez, Carlos. [email protected] /*Esto es el párrafo introductorio, el equivalente al abstract para lo que tenemos que entregar considerando la falta de experimentación */ Presentamos el algoritmo del encriptado de criptográfico de carácter polialfabético polialfabético y utilizado ampliamente en la época previa a Mundial. Además de explicarlo procederemos programa computacional Matlab® demostrando demostrando de cifrado del mensaje.

Introducción

Hill, el primer sistema motivo por el cuál fue la Segunda Guerra a implementarlo en el paso a paso el proceso

//título, va en mayor tamaño de fuente

Desde que los humanos tuvieron la necesidad ocultar información a otros, la capacidad capacidad empleó en la solución a este problema. El desarrollo de métodos que ocultan al mensaje físicamente o en su interpretación, llegando llegando a requerir de varios elementos para su posible entendimiento fue tomando formalidad cuando se le aproximó a las matemáticas y la lógica. Previo al Sistema Sistema de Hill. resaltado de alguna manera

//subtítulo, mismo tamaño tamaño pero pero

Instaurada en Esparta durante el siglo V a.C. como un sistema criptográfico, tenemos a la Escítala. Consistía de dos varas con las mismas dimensiones, una empleada por el emisor y la otra en posesión del receptor. Al enrollar un listón uniformemente por la vara se obtenía una superficie donde escribir el mensaje, si el listón se despegaba de la vara entonces se vería como una tira con algunos rayones a lo largo de esta y solamente al acomodarlo en una vara de las mismas dimensiones (la que tenía el receptor del mensaje) y en la misma disposición de la tira al momento de escribirle es que se podía leer el texto. Un particular detalle de este sistema es que se podía llegar replicar la vara en sus medidas y por tanto el mensaje era descubierto.1 Siglos después, durante el imperio de Julio César se extendió un sistema homónimo de carácter monográfico (esto nos dice que a cada letra le era asignado un solo valor de encriptación) el cuál consistía en desplazar el abecedario una determinada cantidad de veces sobre sí mismo, obteniendo así una relación entre los pares de letras que se formaban. Este sistema tenía el defecto de ser muy simple, bastaba con emplear algo de tiempo resolviendo los pocos posibles mensajes ocultos en el código.1

//Insertar imagen de modelo lineal de sustitución (https://www.google.com.mx/search?q=Caesar+cipher&safe=images&sour ce=lnms&tbm=isch&sa=X&ved=0ahUKEwjj5eXpnOjTAhXLy1QKHZEpBIoQ_AUIBig B&biw=1366&bih=638#imgrc=0mNET9EN_jC4EM:) Surge en el siglo XV otro interesante método, aunque inventado por Leon Alberti, se le atribuyó el nombre de “Cifrado de Vigenere” por la creencia de que había sido inventado por Blaise de Vigenere debido a su labor de perfeccionar este sistema y no se desmintió la idea sino hasta el siglo XIX. Este fue el primer sistema poligráfico (se genera más de un proceso de encriptado, lo que permite que a una letra se le pueda asignar más de una correspondiente) y por tal motivo se mantuvo vigente durante siglos. Incluso en 1917 la revista Scientific American  describió el sistema como un cifrado “imposible de romper” aunque algunos pudieron romperlo en diversos momentos desde su invención.1 // Insertar tabla de vigenere (https://www.google.com.mx/search?q=escitala&safe=off&source=lnms& tbm=isch&sa=X&ved=0ahUKEwjjIWJnejTAhXJylQKHQz9Au0Q_AUICigB&biw=1366&bih=638)

El criptosistema de Hill

//subtítulo

Es un sistema poligráfico desarrollado por Lester S. Hill en 1929. Tiene la cualidad de utilizar el álgebra lineal como base de desarrollo, al transformar el mensaje en vectores y matrices asignándole a cada letra un valor numérico. Todo el proceso requiere una llave para transformar el mensaje y el código. Al tratarse de números en una matriz, la llave podía ser prácticamente imposible de averiguar. Debido a esa misma complejidad, el método era difícilmente empleado para uso cotidiano. Fue hasta que Hill inventó una máquina basada en engranes y cadenas, que el trabajo matemático del cifrado pasó a ser realizado en tiempo real y entonces tomó más protagonismo dicho sistema.  Metodología

Resulta elemental para el proyecto, a la hora de experimentar e interpretar los resultados, conocer el algoritmo para encriptar lo que se conoce como mensaje original o sin formato   (plaintext). Lo que básicamente se logra teniendo los conocimientos en álgebra lineal sobre inversión de matrices y el operador “modulo”. El sistema funciona a partir de la asignación de un valor numérico a cada letra del abecedario Utilicemos el abecedario estándar de 26 letras.

A

B

C

D

E

F

G

H

I

J

K

L

M

0

1

2

3

4

5

6

7

8

9

10

11

12

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

13

14

15

16

17

18

19

20

21

22

23

24

25

Tabla 1.2?

Como podemos ver, el primer paso es crear la equivalencia numérica lineal del abecedario, esto nos permite entender la trascendencia que tuvo el cifrado de César. Ya

que

se

tiene

esta

“regla”

de

conversión

se

procede

a

desarrollar una matriz llave. Es muy importante saber que las matrices llave deben ser cuadradas (M nn), esto es que tengan la misma cantidad de columnas como de filas y contendrá elementos de módulo F -en este caso 26- que son todos los números naturales debajo de F empezando por 0. Mod F (N {0 – (F-1)} ) Por último, la matriz llave debe de ser invertible. Esto es crucial para terminar el proceso, pues cualquier matriz cuadrada que cumpla con las condiciones anteriores puede modificar el mensaje, pero solo una matriz invertible puede regresar el mensaje encriptado a su forma original. Una matriz resulta invertible si su determinante no es cero ni factor común de la base del módulo. Si det A -1 =/= 0 v cmdf -> modf Teniendo la llave, se procede a segmentar el mensaje en grupos de n caracteres determinados por la dimensión de la matriz. Se sabe ya que la multiplicación de matrices es posible sólo si la cantidad de columnas de la primer matriz y la cantidad de filas de las segunda son iguales. Cada segmento del mensaje o grupo de letras se va a determinar como un vector, estos vectores serán organizados a manera de vector columna para poder realizar el producto matricial. A*B= AB (A nn v Amn) ^ (Bnn v Bnx)

Todas las operaciones aritméticas se realizan en la forma módulo 26, es decir que se va a repetir el conteo en la manera “modf= [(m xy / f ) – (N {m / f })f ] ” donde f es la base del módulo, m xy es cada elemento del producto de las matrices, y N la parte de enteros del cociente inicial, esto nos deja con el residuo de la división //EDITAR vvvvvv Dado un mensaje a encriptar debemos tomar bloques del mensaje de "d" caracteres y aplicar: Teniendo ya un mensaje que deseemos encriptar, se debe descomponer este en bloques de x caracteres, donde x es igual a la cantidad de filas de la matriz llave. Esto es debido a la condición del producto de matrices que dice que se pueden multiplicar matrices cuando la cantidad de columnas de la primera es igual a la cantidad de filas de la segunda, resultando una matriz con el número de filas de la primera y el número de columnas de la segunda. Amn * Bno = ABmo [5] Lo que sigue es transformar cada uno de los caracteres al equivalente numérico en relación a su posición en el abecedario, resultando para cada letra un valor entre 0 y x -1 donde x es el número de caracteres que enlistaremos. (Véase tabla 1.2)

Ejemplo: Le daremos contexto a todo lo explicado anteriormente.

Nuestro mensaje será la palabra “LINEAL”.

Utilizaremos la matriz llave:

Con el fin de cifrar el mensaje sin formato "LINEAL" debemos encriptar cada uno de los seis caracteres de "LINEAL". Debido a que utilizamos una matriz llave A 33 tendremos que dividir el mensaje en grupos de 3 caracteres. A cada carácter se le asigna el valor numérico de modulo 26 que le corresponde. Dicho de otra manera: el conjunto {L, I, N} será el vector O 1= [L, I, N] mod26 = [11, 8, 13] y el conjunto {E, A, L} será el vector O2 = [E, A, L] mod26 = [4, 0, 11]

//El modelo sería así, obviamente utilizaremos la palabra LINEAL, entonces P1=”LIN”=

[11,

Teniendo la matriz llave y todos los vectores resultantes del mensaje original. Procedemos a hacer la multiplicación de cada una

El primer bloque "COD" se codificara como "WLP"

El segundo bloque "IGO" se codificara como "GSE" Luego 'CODIGO' encriptado equivale a 'WLPGSE'. Observar que las dos "O" se codificaran de forma diferente. Para desencriptar el método es idéntico al anterior pero usando la matriz inversa de la usada para encriptar. Para ver si es invertible calculo el determinante de A

5 (23 · 13  – 3 ·11)  – 17 (9 · 13  – 3 · 2) + 20 (9 · 11  – 23 · 2) = 1215  – 1734 + 1060 = 503 503 = 9 mod 26 La matriz A es invertible en módulo 26 ya que 26 y 9 son coprimos Para

hallar

la

inversa

de

la

matriz

módulo

26,

utilizamos

formula Donde CT es la matriz de cofactores de A transpuesta

Hay que tener en cuenta que

debe realizarse en modulo 26

Por tanto para el ejemplo la inversa de 9 (mod 26) es 3 (mod 26) ya que 9 (mod 26) · 3 (mod 26) = 27 mod 26 = 1 (mod 26) Por lo tanto 3 es la inversa multiplicativa de 9 en modulo 26 Para calcular C hay que calcular los cofactores de A

la

REFERENCIAS: 1.

Holden, J. (2017) The Mathematics of Secrets. Cryptography from Caesar cipher to digital encryption. New Jersey: Princeton University Press.

2.

Bauer, Craig P. (2013) Secret history: The story of cryptology . Florida: CRC Press.

3.

Baumslag et al. (2015) A Course in Mathematical Cryptography . Berlín: De Gruyter.

4.

Dooley, J. F. (2013) A brief History of Criptology and Criptographic Algorithms. Springer.

5.

Lay, Lay & McDonald (2016) Linear Algebra and its Applications. E.U.A: Pearson.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF