15
Algoritmos de Encriptación

Algoritmos de Encriptación

Embed Size (px)

Citation preview

Algoritmos de Encriptación

Introducción Texto Claro (plaintext) Texto Cifrado (ciphertext)

Uso para la seguridad en transmisión de la información

Se ha utilizado desde las antiguas civilizaciones

Código ASCIIEl código ASCII utiliza 7 bits para

representar los caracteres, aunque inicialmente empleaba

un bit adicional (bit de paridad)que se usaba para

detectar errores en la transmisión.

Se desarrolló en el ámbito de la telegrafía y se usó por primera vez comercialmente como un

código de teleimpresión.

Nos basamos en este código para la implementación de los métodos

de encriptación clásicos.

Módulo SelectorEl selector está formado por 4 bits de

acuerdo al número binario que formen será el método

implementado por el FPGA.

INICIO

Esperar Datos

Encriptar

Verificar Selector

Enviar Datos

Número Método utilizado

0000 César

0001 Rotación

0010 Función Hash

0011 Transposición

0100 Permutación

0101 ADFGVX

0110 Vigénere

0111 XOR

1000 Solitario

1001 Polybios

Método Cesar Utilizado por los ejércitos de

Cesar

Consiste en sustituir letras

INICIO

DT <- DATO TM<- TAMAÑO y[TM] <- NULL

Z>=DT >=A

y [i]= T3(x) = (x + 3) mod 27 TAM <- TAM-1

TAM = 0

FIN

NO

NO

Función de Hash Una tabla hash o mapa hash es

una estructura de datos que asocia llaves o claves con valores.

Aunque las tablas de Hash suelen utilizarse como medios de almacenamiento de datos y búsqueda, es posible utilizarlas como métodos de encriptación.

El actual uso en la criptografía de las tablas de has es para las firmas digitales.

Método por Transposición

Consiste en “barajar” los símbolos del mensaje

original colocándolos en un orden distinto, de manera

que el criptograma contenga los mismos

elementos del texto claro, pero colocados de tal forma

que resulten incomprensibles.

Método por PermutaciónEste método consiste en

dada una clave numérica, para nuestro caso del 0 al 7, los bits cambiaran de orden

con el fin de ordenar la clave de manera creciente, así los

valores cambiaran y de esta forma se obtendrá

un nuevo valor en ASCII.

La Cifra ADFGVX

A D F G V XA 8 P 3 d 1 nD l T 4 o a hF 7 K b c 5 zG j U 6 w g mV x S v i r 2X 9 E y 0 f q

En la cifra ADFGVX hay sustitución y transposición.

Método VigenéreEn la cifra de Vigenére se

utilizan 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.

INICIO

DT <- DATO CL <- CLAVE Y[TAMAÑO]

i=0

TAMAÑO >0

i=i+1 Y[i] <- F(DT,CL)

i = TAMAÑO

FIN

NO

NO

F(DT,CL)

Es la función

correspondiente

al cuadro de

Vigenére

Encriptación xor

INICIO

DT <- DATO CL<- CLAVE

Y

Y = DT XOR CL

FIN

Cifrado “Solitario”La idea básica es que Solitario genera una ristra de números, llamada "keystream" (ristra o secuencia de clave), entre 1 y 26. Para cifrar, se genera una

ristra de longitud igual al texto original. Seguidamente se

suman, módulo 26, letra a letra al texto original, para crear el

texto cifrado. Para descifrar, se genera la misma ristra y se resta, módulo 26, del texto

cifrado.

INICIO

DT <- DATOCL <- CLAVE

DT <= CL

DT = DT + 26Y = DT-CL

FIN

NO

Y = DT-CL

DT ,CL <-NUMA <- 01B <- 02C <- 03...

Y <- NUMA <- 01B <- 02C <- 03...

Método Polybios

El sistema es bastante rudimentario, consiste en conseguir una correspondencia de una letra con otro par mediante una matriz en la que se colocaba el alfabeto completo.

INICIO

TAM DT[] <- DATO(i)

Y[]

i = i+1

FIN

NO

Y[i]F(DT i, DT i+1)

i != TAM