algoritmos de encriptación
TRANSCRIPT
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
Método Rotación
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
Tabla de Vigenére
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