Unidad 2
Unidad 2
Unidad 2
- CRIPTOGRAFIA
Criptografa viene del griego y significa escritura secreta.
SUSTITUCIN
y algunos ejemplos...
POLIALFABTICA
COLUMNAS FILAS
C I F R A D O
D I G I T A L
Por ello, y como smbolo de poder, el bastn de mando que se le entrega al alcalde de una ciudad en la ceremonia de su nombramiento, proviene de estos tiempos tan remotos.
M = ASI CIFRABAN CON LA ESCITALA El texto cifrado o criptograma ser: C = AAC SNI ICT COA INL FLA RA AE BS
Mi Ci
ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC
Cifrado: Ci = Mi + 3 mod 27
Descifrado: Mi = Ci - 3 mod 27
C = H
Cada letra se cifrar siempre igual. Es una gran debilidad y hace que este sistema sea muy vulnerable y fcil de atacar, simplemente usando las estadsticas del lenguaje. Puede ver la tabla de frecuencias tpicas del lenguaje castellano en el captulo 21 de este libro.
Criptografa clsica
Llamamos as a todos los sistemas de cifrado anteriores a la II Guerra Mundial, o lo que es lo mismo, al nacimiento de los ordenadores. Se basa en algoritmos sencillos y claves muy largas para la seguridad. Perdieron su eficacia, debido a que son fcilmente criptoanalizables por los ordenadores. Todos los algoritmos criptogrficos clsicos son simtricos
- Algoritmo de Csar:
Debe su nombre a que era usado por Julio Csar para enviar mensajes secretos Consiste en sumar 3 al nmero de orden de cada letra. De esta forma a la A le corresponde la D, a la B la E, y as sucesivamente. Este algoritmo no posee clave, puesto que la transformacin siempre es la misma. Para descifrar basta con restar 3 al nmero de orden de las letras del criptograma. Ejemplo: el mensaje ataque se convertira en DWDTXH
Ejemplo: el mensaje ataque se convertira en SVSTDE El sistema de criptoanlisis mejor para romper el algoritmo es el estadstico.
Se puede criptoanalizar efectuando un estudio estadstico sobre la frecuencia de aparicin de pares y tripletas de smbolos
- Con la clave se numera las columnas, estando la columna 1 bajo la letra de la clave ms cercana al inicio del alfabeto, y as sucesivamente. - El texto normal se escribe horizontalmente en filas. - El texto cifrado se lee por columnas, comenzando por la columna cuya letra clave es ms baja
Ejemplo:
- Texto normal: Este es un trabajo para la asignatura de Redes" - Clave: Video - Texto cifrado: T ROAAA E EUA STDD SSTJR NAR NBPLIUEE EE AAAGR S
V 5 E e
I 3 s s t
D 1 t
E 2 e u
O 4
n b p l
r o a a
a a a g r
j r
s t d
i u e e
n a R
La clave no puede memorizarse La cantidad de datos que se puede transmitir est limitada a la cantidad de clave disponible Es sensible a la perdida o insercin de caracteres si se pierde la sincrona entre receptor y emisor
Cifrado de producto
Se apoyan en dos conceptos:
Confusin: tratar de ocultar la relacin que existe entre el texto normal, el texto cifrado y la clave, es decir, realizar sustituciones simples Difusin: trata de repartir la influencia de cada bit del mensaje original lo ms posible en el mensaje cifrado, es decir, realizar permutaciones
Estas tcnicas consisten en trocear el mensaje en bloques de tamao fijo, y aplicar la funcin de cifrado a cada uno de ellos. Destacar que la confusin por s sola sera suficiente, pero ocupara mucha memoria, por lo que sera inviable.
Algoritmo DES
Es el algoritmo simtrico ms extendido mundialmente. Codifica bloques de 64 bits empleando claves de 56 bits. Consta de 16 rondas, ms dos permutaciones, una que se aplica al principio (Pi) y otra al final (Pf ), tales que la ltima es la inversa de la primera. Para descifrar basta con usar el mismo algoritmo empleando el orden inverso. Ventajas del algoritmo:
Es muy rpido y fcil de implementar.
Desventajas:
Emplea una clave demasiado corta, lo cual hace que con el avance actual de los ordenadores, los ataques por la fuerza bruta se puedan llevar a cabo.
Consta de ocho rondas. Dividiremos el bloque X a codificar, de 64 bits, en cuatro partes X1, X2, X3 y X4 de 16 bits. Denominaremos Zi a cada una de las 52 subclaves de 16 bits que vamos a necesitar. Las operaciones que llevaremos a cabo en cada ronda, se pueden apreciar en la figura:
X1
X2
X3
X4
X1
X2
X3
X4
Como peculiaridad tiene que todo el proceso de seleccin, revisin y estudio tanto de este algoritmo como de los restantes candidatos, se efectu de forma pblica y abierta, por lo que, toda la comunidad criptogrfica mundial ha participado en su anlisis, lo cual convierte a Rijndael en un algoritmo perfectamente digno de la confianza de todos. AES es un sistema de cifrado por bloques, diseado para manejar longitudes de clave y de bloque variables, ambas comprendidas entre los 128 y los 256 bits.
Se basa en aplicar un nmero determinado de rondas a un valor intermedio que se denomina estado y que se representar en una matriz rectangular, que posee cuatro filas, y Nb columnas. A[4,Nb] La clave tiene una estructura anloga a la del estado, y se representar mediante una tabla con cuatro filas y Nk columnas. K[4,Nk] El bloque que se pretende cifrar o descifrar se traslada a la matriz de estado y anlogamente, la clave se copia sobre la matriz de clave Siendo B el bloque que queremos cifrar, y S la matriz de estado, el algoritmo AES con n rondas queda como sigue:
1. Calcular K0,K1, Kn subclaves a partir de la clave K. 2. S B K0 3. Para i = 1 hasta n hacer 4. Aplicar ronda i-sima del algoritmo con la subclave Ki. Puesto que AES permite emplear diferentes longitudes tanto de bloque como de clave, el nmero de rondas requerido en cada caso es variable Siendo S la matriz de estado, y Ki la subclave correspondiente a la ronda i-sima, cada una de las rondas posee la siguiente estructura: 1. S ByteSub(S) 2. S DesplazarFila(S) 3. S MezclarColumnas(S) 4. S Ki S
Funciones DesplazarFila y MezclarColumnas permiten obtener un alto nivel de difusin a lo largo de varias rondas. Funcin ByteSub consiste en la aplicacin paralela de s-cajas. La capa de adicin de clave es un simple or-exclusivo entre el estado intermedio y la subclave correspondiente a cada ronda. La ltima ronda es igual a las anteriores, pero eliminando el paso 3.
El algoritmo de descifrado consistir en aplicar las inversas de cada una de las funciones en el orden contrario Es un algoritmo resistente al criptoanlisis tanto lineal como diferencial y uno de los ms seguros en la actualidad.