Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos Criptograficos
Algoritmos Criptograficos
Asignatura de Redes
ndice:
Criptografa clsica Algoritmos simtricos (cifrado por bloques) Algoritmos asimtricos de cifrado
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
Se basa en la sustitucin de cada letra por otra letra para disfrazarla pero conservan el orden de los smbolos de texto normal. Entre ellos cabe destacar los siguientes: - algoritmo de Csar, - mtodos de cifrado monoalfabticos, - polialfabticos..
- 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
Sustituyen cada letra por otra que ocupa la misma posicin en un alfabeto desordenado y esta correspondencia se mantiene a lo largo de todo el mensaje. As se consiguen tantas claves como posibilidades de alfabetos hay. El problema est en cmo recordar la clave (el alfabeto desordenado). El procedimiento es el siguiente:
1. 2. 3.
4.
Se busca una palabra (clave) fcil de recordar y se le quitan las letras duplicadas. SEGURIDAD SEGURIDA Se aaden al final de la palabra las restantes letras del alfabeto (sin duplicar letras). SEGURIDABCFH..................XYZ Se ordenan en una matriz cuya primera fila es la palabra clave SEGUR I DA BCFH JK LM NOPQTVWX YZ El nuevo alfabeto se lee por columnas: SBNYECOZGFPUHQRJTIKVDLWAMX
Ejemplo: el mensaje ataque se convertira en SVSTDE El sistema de criptoanlisis mejor para romper el algoritmo es el estadstico.
Corresponde a la aplicacin cclica de n cifrados monoalfabticos, (de varios abecedarios desordenados). Un ejemplo tpico es el Cifrado de Vignere: - Dada una tabla con un alfabeto por cada letra del abecedario - Mtodo: Se busca una palabra clave fcil de recordar. Se escribe la palabra debajo del texto en claro, repitindose tantas veces como sea necesario. Cada letra del texto en claro se codifica con el alfabeto de la tabla marcado por la letra inferior, o sea, la letra de la clave que corresponde. - Ejemplo:
CLAVE: ADIOS Texto en claro : E S T O E S C R I P T O L O G I A Clave: ADIO SA DIOSADIOSAD Criptograma EVBD WS FZWHTRTCYID
Se basa en la reordenacin de las letras de un texto de acuerdo a una palabra clave escogida que no contiene letras repetidas. Mtodo:
-
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
Se puede criptoanalizar efectuando un estudio estadstico sobre la frecuencia de aparicin de pares y tripletas de smbolos
Ejemplo:
-
V 5 E e
I 3 s s t
D 1 t
E 2 e u
O 4
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
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
Escoger una clave al azar, Por otro lado se convierte el texto normal en una cadena de bits Se calcula el XOR de estas dos cadenas
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
Tambin se le denomina critografa privada o cifrado por bloques. Se caracteriza por usar la misma clave para encriptar y desencriptar.
Cifrado de producto
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:
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.
Se han propuesto variantes de este algoritmo para as aprovechar gran parte de las implementaciones por hardware existentes de DES. De ellos el que cabe destacar es: DES Mltiple:
Consiste en aplicar varias veces el algoritmo DES con diferentes claves al mensaje original. El ms comn de todos ellos es el Triple-DES, que responde a la siguiente estructura:
Codificar con la subclave k1, decodificar con k2 y volver a codificar con k1. La clave resultante es la concatenacin de k1 y k2, con una longitud de 112 bits.
Codifica bloques de 64 bits empleando una clave de 128 bits. Como en el caso de DES, se usa el mismo algoritmo tanto para cifrar como para descifrar. Es un algoritmo bastante seguro, y hasta ahora se ha mostrado resistente a los ataques. Su longitud de clave hace imposible en la prctica un ataque por la fuerza bruta como se poda hacer en el DES.
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
Es considerado el sucesor de DES. Este algoritmo se adopt oficialmente en octubre del 2000 como nuevo Estndar Avanzado de Cifrado (AES) por el NIST (National Institute for Standards and Technology) para su empleo en aplicaciones criptogrficas. Su nombre se debe a dos autores belgas Joan Daemen y Vincent Rijmen.
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.
Independientemente del mtodo empleado qu ocurre cuando la longitud del mensaje no es un mltiplo exacto del tamao de bloque?
Aadir como ltimo byte del ltimo bloque el nmero de bytes que se han aadido.
Los algoritmos simtricos encriptan bloques de texto aplicando cifrados de bloques. El tamao de los bloques puede ser constante o variable segn el tipo de algoritmo. Tienen 4 formas de funcionamiento:
ECB CBC
CFB OFB
Es el mtodo ms sencillo de aplicar Subdivide la cadena a codificar en bloques del tamao fijo y se cifran todos ellos empleando la misma clave.
Ventajas:
Desventajas:
Si el mensaje presenta patrones que se repiten, el texto cifrado tambin los presentar. Puede sufrir una sustitucin de bloques
Es un mecanismo de retroalimentacin de bloques mediante una codificacin XOR entre el mensaje a codificar y el criptograma cifrado anterior. No comienza a codificar hasta que no tenga un bloque entero
Ventajas:
Desventajas:
Si dos textos tienen el mismo patrn obtendrn el mismo resultado usar Vector de Inicio
Permite codificar la informacin en unidades inferiores al tamao del bloque Realiza una XOR entre caracteres o bits aislados del texto y las salidas del algoritmo.
Ventajas:
- Permite aprovechar totalmente la capacidad de transmisin del canal de comunicaciones con mayor seguridad.
Como el CFB, realiza una XOR entre caracteres o bits aislados del texto y las salidas del algoritmo. Pero utiliza como entradas sus propias salidas, por lo tanto no depende del texto.
Ventajas:
Se caracteriza por usar una clave para encriptar y otra para desencriptar. Una clave no se derivar de la otra. Emplean longitudes de clave mucho mayores que los simtricos. Adems, la complejidad de clculo que comportan los hace ms lentos que los algoritmos de cifrado simtricos. Por ello, los mtodos asimtricos se emplean para intercambiar la clave de sesin mientras que los simtricos para el intercambio de informacin dentro de una sesin.
Aplicaciones
Cifrado de la informacin sin tener que transmitir la clave de decodificacin, lo cual permite su uso en canales inseguros.
La clave que se hace pblica es aquella que permite codificar los mensajes, mientras que la clave privada es aquella que permite descifrarlos.
Autentificacin de mensajes que nos permiten obtener una firma digital a partir de un mensaje. Dicha firma es mucho ms pequea que el mensaje original, y es muy difcil encontrar otro mensaje de lugar a la misma.
La clave de descifrado se har pblica previamente, y la clave que se emplea para cifrar es la clave privada.
Algoritmo RSA
Debe su nombre a: Ronald Rivest, Adi Shamir y Leonard Adleman. Las primeras versiones de PGP lo incorporaban como mtodo de cifrado y firma digital. Se le tiene como uno de los algoritmos asimtricos ms seguros. RSA se basa en la dificultad para factorizar grandes nmeros. El atacante se enfrentar a un problema de factorizacin.
Vulnerabilidades:
-
Ataques de Intermediario
Puede darse con cualquier algoritmo asimtrico. Manera de evitar: Certificados de confianza, que certifican la autenticidad de la clave.
Firmar y Codificar
Nunca se debe firmar un mensaje despus de codificarlo ya que existen ataques que aprovechan este hecho.
Algoritmo de Diffie-Hellman
Se emplea fundamentalmente para acordar una clave comn entre dos interlocutores, a travs de un canal de comunicacin inseguro. Algoritmo:
A escoge un nmero aleatorio x, y enva a B el valor x(mod p) B escoge un nmero aleatorio y enva a A el valor y(mod p) B recoge x y calcula K = ( x)y (mod p). A recoge y y calcula K = ( y)x (mod p).
Ventaja: no son necesarias claves pblicas en el sentido estricto, sino una informacin compartida por los dos comunicantes.
Algoritmo ElGamal
Fue diseado en un principio para producir firmas digitales, pero posteriormente se extendi tambin para codificar mensajes. Se basa en el problema de los logaritmos discretos Algoritmo:
Se escoge un nmero primo n y dos nmeros aleatorios p y x menores que n. Se calcula entonces la expresin: y = px (mod n) La clave pblica es (p, y, n), mientras que la clave privada es x.
Algoritmo ElGamal
Firmas Digitales de ElGamal Escoger un nmero k aleatorio, tal que mcd(k,n-1) =1, y calcular: a = pk(mod n) b = (m-xa)k-1 (mod (n-1))
La firma la constituye el par (a, b). En cuanto al valor k, debe mantenerse en secreto y ser diferente cada vez.
La firma se verifica comprobando que
yaab = pm (mod n)
Codificacin de ElGamal Para codificar el mensaje m se escoge primero un nmero aleatorio k primo relativo con (n-1), que tambin ser mantenido en secreto. Calculamos: a = pk (mod n) b = ykm (mod n) El par (a, b) es el texto cifrado, de doble longitud que el texto original. Para decodificar se calcula m = b * a-x (mod n)
Algoritmo de Rabin
Se basa en el problema de calcular races cuadradas modulo un nmero compuesto. Este problema se ha demostrado que es equivalente al de la factorizacin de dicho nmero. En primer lugar escogemos dos nmeros primos, p y q, ambos congruentes con 3 mdulo 4 (los dos ltimos bits a 1). Estos primos son la clave privada. La clave pblica es su producto, n = pq. Para codificar un mensaje m, se calcula: c = m2 (mod n)
Es una parte el estndar de firma digital DSS (Digital Signature Standard). Este algoritmo, propuesto por el NIST, data de 1991, es una variante del mtodo asimtrico de ElGamal. Pasos:
Por un lado se generar la clave pblica compuesta por (p, q, , y). Y por otro la clave privada a. Se gener la firma con la cual podr operar el emisor. El destinatario efectuar las operaciones oportunas, suponiendo que conoce la clave pblica (p, q, , y), para verificar la autenticidad de la firma.