Está en la página 1de 9

ALGORITMOS DE ENCRIPTACION CIFRADO DE CLAVES PBLICAS Y PRIVADAS CIFRADO CLAVES PBLICAS La criptografa asimtrica es el mtodo criptogrfico que usa

un par de claves para el envo de mensajes. Las dos claves pertenecen a la misma persona a la que se ha enviado el mensaje. Una clave es pblica y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. Adems, los mtodos criptogrficos garantizan que esa pareja de claves slo se puede generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves. Diffie-Hellman Se emplea generalmente como medio para acordar claves simtricas que sern empleadas para el cifrado de una sesin. Siendo no autenticado, sin embargo provee las bases para varios protocolos autenticados. Su seguridad radica en la extrema dificultad (conjeturada, no demostrada) de calcular logaritmos discretos en un campo finito.

RSA El sistema criptogrfico con clave pblica RSA es un algoritmo asimtrico cifrador de bloques, que utiliza una clave pblica, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario. Una clave es un nmero de gran tamao, que una persona puede conceptualizar como un mensaje digital, como un archivo binario o como una cadena de bits o bytes. Cuando se quiere enviar un mensaje, el emisor busca la clave pblica de cifrado del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, ste se ocupa de descifrarlo usando su clave oculta.

DSA DSA (Digital Signature Algorithm, en espaol Algoritmo de Firma digital) es un estndar del Gobierno Federal de los Estados Unidos de Amrica o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnologa de los Estados Unidos para su uso en su Estndar de Firma Digital(DSS), especificado en el FIPS 186. DSA se hizo pblico el 30 de agosto de 1991, este algoritmo como su nombre lo indica, sirve para firmar y no para cifrar informacin. Una desventaja de este algoritmo es que requiere mucho ms tiempo de cmputo que RSA. Generacin de llaves Elegir un nmero primo p de L bits, donde 512 L 1024 y L es divisible por 64. Elegir un nmero primo q de 160 bits, tal que p1 = qz, donde z es algn nmero natural. Elegir h, donde 1 < h < p 1 tal que g = hz(mod p) > 1. Elegir x de forma aleatoria, donde 1 < x < q-1.

Calcular y = gx(mod p). Los datos pblicos son p, q, g e y. x es la llave privada. Firma Elegir un nmero aleatorio s, donde 1 < s < q. Calcular s1 = (gs mod p)mod q. Calcular s2 = s-1(H(m)+s1*x)mod q, donde H(m) es la funcin hash SHA-1 aplicada al mensaje m. La firma es el par (s1, s2). Si s1 o s2 es cero, se vuelve a repetir el procedimiento.

Verificacin Calcular w = (s2)-1(mod q). Calcular u1 = H(m)*w(mod q). Calcular u2 = s1*w(mod q). Calcular v = [gu1*yu2mod p]mod q. La firma es vlida si v = s1.

Algoritmos de autenticacin (o hash) Los ms conocidos y usados son MD5 y el SHA-1. Son algoritmos que a partir de un bloque de entrada, generan otro bloque de salida de una longitud fija determinada. MD4 MD4 es un algoritmo de resumen del mensaje (el cuarto en la serie) diseado por el profesor Ronald Rivest del MIT. Implementa una funcin criptogrfica de hash para el uso en comprobaciones de integridad de mensajes. La longitud del resumen es de 128 bits. Ciertas debilidades en MD4 fueron demostradas por Den Boer y Bosselaers en un documento publicado en 1991. Muchos de los diseos posteriores de resumen del mensaje basados en l siguen siendo seguros, en el sentido que no se ha publicado ningn ataque eficaz contra ellos. MD5 (Message-Digest Algorithm 5 o Algoritmo de Firma de Mensajes 5) Desarrollado por Ron Rivest, ha sido hasta los ltimos aos el algoritmo hash ms usado. Procesa mensajes de una longitud arbitraria en bloques de 512 bits generando un compendio de 128 bits. Debido a la capacidad de procesamiento actual esos 128 bits son insuficientes, adems de que una serie de ataques criptoanalticos han puesto de manifiesto algunas vulnerabilidades del algoritmo. Puede ser til para comprobar la integridad de un fichero tras una descarga, por ejemplo, pero ya no es aceptable desde el punto de vista del criptoanlisis. SHA-1 (Secure Hash Algorithm 1 o Algorimo de Hash Seguro 1) El SHA-1 toma como entrada un mensaje de longitud mxima 264 bits (ms de dos mil millones de Gigabytes) y produce como salida un resumen de 160 bits. Este nmero es mayor que el que se utilizaba en el algoritmo SHA original, 128 bits. Ya existen nuevas versiones de SHA que trabajan con resmenes de 224, 256, 384 e incluso 512 bits.

SHA-2 Las principales diferencias con SHA-1 radica en su diseo y que los rangos de salida han sido incrementados y podemos encontrar: SHA-224, SHA-256, SHA-384, y SHA-512 El ms seguro, es el que mayor salida de bits tiene, el SHA-512, que tiene 80 rondas (pasos), como el SHA-1 pero se diferencia de ste en: Tamao de salida 512 por los 160 de SHA-1. Tamao del bloque, tamao de la palabra y tamao interno que es el doble que SHA-1. Como ocurre con todos los cifrados y hash, cuanto ms seguro, ms lento su procesamiento y uso, debemos encontrar un equilibrio entre seguridad y velocidad. CIFRADO DE CLAVES PRIVADAS Los algoritmos de clave simtrica, tambin llamados de clave secreta o privada, son los algoritmos clsicos de encriptacin en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original. DES (DATA ENCRYPTION STANDARD): Su arquitectura est basada en un sistema mono alfabtico, donde un algoritmo de cifrado aplica sucesivas permutaciones y sustituciones al texto en claro. En un primer momento la informacin de 64bits se somete a una permutacin inicial, y a continuacin se somete a una permutacin con entrada de 8 bits, y otra de sustitucin de entrada de 5 bits, todo ello constituido a travs de un proceso con 16 etapas de cifrado. El algoritmo DES usa una clave simtrica de 64bits, los 56 primeros bits son empleados para el cifrado, y los 8 bits restantes se usan para comprobacin de errores durante el proceso. La clave efectiva es de 56 bits, por tanto, tenemos 2 combinaciones posibles, por lo que la fuerza bruta se hace casi imposible. Ventajas: - Es uno de los sistemas ms empleados y extendidos, por tanto es de los ms probados. - Implementacin sencilla y rpida. Inconvenientes: - No se permite una clave de longitud variable, es decir, no se puede aumentar para tener una mayor seguridad. - Es vulnerable al criptoanlisis diferencial (2 posibilidades) siempre que se conozco un nmero suficiente de textos en claro y cifrados. - La longitud de clave de 56 bits es demasiado corta, y por tanto vulnerable. Actualmente DES ya no es un estndar, debido a que en 1999 fue roto por un ordenador.

3DES (TRIPLE DATA ENCRYPTION STANDARD) Se basa en aplicar el algoritmo DES tres veces, la clave tiene una longitud de 128 bits. Si se cifra el mismo bloque de datos dos veces con dos llaves diferentes (de 64 bits), aumenta el tamao de la clave. El 3DES parte de una llave de 128 bits, que es divida en dos llaves, A y B. Al recibir los datos, aplicamos el algoritmo DES con la llave A, a continuacin se repite con la llave B y luego otra vez con la llave A (de nuevo). 3DES aumenta de forma significativa la seguridad del sistema de DES, pero requiere ms recursos del ordenador. Existe una variante del 3DES, conocida como DES-EDE3, con tres claves diferentes y una longitud de 192bits, consiguiendo un sistema mucho ms robusto. RC4 RC4 es un algoritmo de cifrado de flujo diseado por Ron Rivest para RSA Data Security. Es un algoritmo de tamao de clave variable con operaciones a nivel de byte. Es un algoritmo de ejecucin rpida en software. El algoritmo se emplea para encriptacin de ficheros y para encriptar la comunicacin en protocolos como el SSL (TLS). RC5 Se aplican operaciones XOR sobre los datos, pudiendo ser de 32, 64 o 128 bits. Permite diferentes longitudes de clave, y un nmero variable de iteraciones (la seguridad del cifrado aumenta exponencialmente cuanto mayor nmero de iteraciones), tambin funciona como un generador de nmero aleatorios, sumndoles a los bloques de texto rotados mediante la XOR. SKIPJACK Es uncifrado simtrico que usa bloques de 64 bits y una clave de 80 bits. Es un algoritmo de alto riesgo. Fue desarrollado por la SNA inicialmente para los chips Clipeper y Capstone. Chip Clipper: Conocido como MUK-78T, de diseo antimanipulaciones (tamper-proof) del tipo VLSI, pensado para encriptar mensajes de voz. Cada chip tiene una clave especial que no se usa para los mensajes, sino para encriptar una copia de la clave que el usuario utiliza para sus mensajes. Chip Capstone: Conocido como MYK-80 es un chip VLSI que implementa el ESS (Escrowed Encryption System) e incorpora las siguientes funciones: Uso del algoritmo Skipjack Un algoritmo de intercambio de claves publicas (KEA) Un algoritmo de firma digital (DSA) El algoritmo de hash seguro (SHA)

Un algoritmo de uso comn de tipo exponencial Un algoritmo de generacin de nmeros aleatorios que utiliza una fuente pura de ruidos. IDEA (INTERNATIONAL DATA ENCRIPTIN ALGORITHM) Aplica una clave de 128 bits sin paridad a bloques de datos de 64 bits, y se usa tanto para cifrar como para descifrar. Se alteran los datos de entrada en una secuencia de iteraciones parametrizadas, con el objetivo de producir bloques de salida de texto cifrado de 64 bits. IDEA combina operaciones matemticas como XOR, sumas con acarreo de mdulo 2 y multiplicaciones de mdulo 2+1, sobre bloques de 16 bits. Segn numerosos expertos criptogrficos, IDEA es el mejor algoritmo de cifrado de datos existente en la actualidad ya que existen 2 claves privadas que probar mediante el ataque de fuerza bruta. AES (ADVANCED ENCRYPTION STANDARD) Este algoritmo es el ms conocido entre los usuarios de routers, ya que WPA opera con AES como mtodo de cifrado. Este cifrado puede implementar tanto en sistemas hardware como en software. El sistema criptogrfico AES opera con bloques y claves de longitudes variable, hay AES de 128bits, de 192 bits y de 256 bits. El resultado intermedio del cifrado constituye una matriz de bytes de cuatro filas por cuatro columnas. A esta matriz se le vuelve a aplicar una serie de bucles de cifrado basado en operaciones matemticas (sustituciones no lineales de bytes, desplazamiento de filas de la matriz, combinaciones de las columnas mediante multiplicaciones lgicas y sumas XOR en base a claves intermedias). CBC (Cipher-block chaining): A cada bloque de texto plano se le aplica la operacin XOR con el bloque cifrado anterior antes de ser cifrado. De esta forma, cada bloque de texto cifrado depende de todo el texto en claro procesado hasta este punto. Como no se dispone de un texto cifrado con el que combinar el primer bloque, se usa un vector de inicializacin IV (nmero aleatorio que puede ser pblicamente conocido). La desventaja es que el cifrado es de forma secuencial y por tanto no puede ser paralelizado. OFB (Output feedback): Se generan bloques de flujo de claves, que son operados con XOR y el texto en claro para obtener el texto cifrado. Al igual que con otras unidades de flujo de cifrado, al intercambiar un bit en el texto cifrado produce texto cifrado con un bit intercambiado en el texto plano en la misma ubicacin. Tambin se usa un vector de inicializacin para el primer bloque. CFB (Cipher feedback): Se hace igual que en OFB, pero para producir el keystream cifra el ltimo bloque de cifrado, en lugar del ltimo bloque del keystream como hace OFB. Un bit errneo en el texto cifrado genera 1+64/m bloques de texto claro incorrectos (siendo m la longitud del flujo en el que se divide el bloque). El cifrado no puede ser paralelizado, sin embargo el descifrado s.

Hasta aqu hemos llegado con los algoritmos de cifrado de clave simtrica. Ya sabis sus ventajas e inconvenientes, los tipos de cifrados que hay y los modos de cifrar la informacin. Criptosistema Caesar El sistema Caesar o desplazamientos Caesar es una de las tecnicas de criptografa ms simples y mayormente difundidas. Fue el primero que se utiliz del cual se tienen registros. El sistema es monoalfabtico y es realmente muy malo, su nico valor es el valor histrico de haber sido el primero.

Criptosistema Hill Este sistema esta basado en el lgebra lineal y ha sido importante en la historia de la criptografa. Fue Inventado por Lester S. Hill en 1929, y fue el primer sistema criptografico polialfabtico que era prctico para trabajar con mas de tres smbolos simultaneamente.

Criptosistema Afines El Criptosistema Afin es una clase de encriptacin por sustitucin y es monoalfabtico y simtrico. Un criptosistema afn es determinado por dos enteros a y b siendo

a0 bm m es el tamao del alfabeto. Adems a y m deben ser coprimos. Para encriptar un mensaje a cada caracter se le aplica la siguiente frmula: e( x ) = a x + b (mod m )