1. ALGORITMOS PARA ENCRIPTAR CLAVES PUBLICAS: Diffie-Hellman El protocolo Diffie-Hellman1 (debido a HYPERLINK
http://es.wikipedia.org/wiki/Whitfield_Diffie
Whitfield Diffie
Whitfield Diffie y Martin Hellman) permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada). Se emplea generalmente como medio para acordar claves simétricas que serán empleadas para el cifrado de una sesión. 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. -25146080010 El protocolo Diffie-Hellman1 (debido a HYPERLINK
http://es.wikipedia.org/wiki/Whitfield_Diffie
Whitfield Diffie
Whitfield Diffie y Martin Hellman) permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada). Se emplea generalmente como medio para acordar claves simétricas que serán empleadas para el cifrado de una sesión. 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 Es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario. Una clave es un número de gran tamaño, 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 pública 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. Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado. Emplea expresiones exponenciales en aritmética modular. La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales. p=611º nº primo Privadoq=532º nº primo Privadon=pq=3233producto p*qe=17exponente Públicod=2753exponente Privado La clave pública (e, n). La clave privada es d. La función de cifrado es: encrypt(m) = me(mod n) = m17(mod 3233) Donde m es el texto sin cifrar. La función de descifrado es: decrypt(c) = cd(mod n) = c2753(mod 3233) Donde c es el texto cifrado. Para cifrar el valor del texto sin cifrar 123, nosotros calculamos: encrypt(123) = 12317(mod 3233) = 855 Para descifrar el valor del texto cifrado, nosotros calculamos: decrypt(855) = 8552753(mod 3233) = 123 SA (Digital Signature Algorithm, en español Algoritmo de Firma digital) es un estándar del Gobierno Federal de los Estados Unidos de América o FIPS para firmas digitales. Fue un Algoritmo propuesto por el Instituto Nacional de Normas y Tecnología de los Estados Unidos para su uso en su Estándar de Firma Digital(DSS), especificado en el FIPS 186. DSA se hizo público el 30 de agosto de 1991, este algoritmo como su nombre lo indica, sirve para firmar y no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA. Generación de llaves Elegir un número primo p de L bits, donde 512 ≤ L ≤ 1024 y L es divisible por 64. Elegir un número primo q de 160 bits, tal que p−1 = qz, donde z es algún número 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 públicos son p, q, g e y. x es la llave privada. El esquema de la firma está correcto en el sentido que el verificador aceptará siempre firmas genuinas. Esto puede ser demostrada como sigue: De g = hz mod p sigue gq ≡ hqz ≡ hp-1 ≡ 1 (mod p) por Pequeño teorema de Fermat. Ya que g>1 y q es primo sigue que g tiene orden q. El firmante computa Entonces Ya que g tiene orden q tenemos que Finalmente, la correctitud de DSA surge de Privadas El procedimiento de cifrado/descifrado ElGamal (algoritmo de llave secreta) se refiere a un esquema de cifrado basado en problemas matemáticos de algoritmos discretos. Es un algoritmo de criptografía asimétrica basado en la idea de HYPERLINK
http://es.wikipedia.org/wiki/Diffie-Hellman
Diffie-Hellman
Diffie-Hellman y que funciona de una forma parecida a este algoritmo discreto. El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como para cifrar o descifrar. Fue descrito por HYPERLINK
http://es.wikipedia.org/w/index.php?title=Taher_Elgamal&action=edit&redlink=1
Taher Elgamal (aún no redactado)
Taher Elgamal en 1984 y se usa en software GNU Privacy Guard, versiones recientes de PGP, y otros sistemas criptográficos. Este algoritmo no está bajo ningún patente lo que lo hace de uso libre pero para uso privado. La seguridad del algoritmo se basa en la suposición que la función utilizada es de un sólo sentido y la dificultad de calcular un logaritmo discreto. El procedimiento de cifrado (y descifrado) esta basado en cálculos sobre un grupo cíclico cualquiera lo que lleva a que la seguridad del mismo dependa de la dificultad de calcularlogaritmos discretos en . Advanced Encryption Standard (AES), también conocido como Rijndael, es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. Se espera que sea usado en el mundo entero y analizado exhaustivamente, como fue el caso de su predecesor, el Data Encryption Standard (DES). El AES fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST) como FIPS PUB 197 de los Estados Unidos (FIPS 197) el 26 de noviembre de 2001 después de un proceso de estandarización que duró 5 años (véase proceso de Advanced Encryption Standard para más detalles). Se transformó en un estándar efectivo el 26 de mayo de 2002. Desde 2006, el AES es uno de los algoritmos más populares usados en criptografía simétrica privada. El cifrador fue desarrollado por dos criptólogos belgas, Joan Daemen y HYPERLINK
http://es.wikipedia.org/wiki/Vincent_Rijmen
Vincent Rijmen
Vincent Rijmen, ambos estudiantes de la HYPERLINK
http://es.wikipedia.org/wiki/Katholieke_Universiteit_Leuven
Katholieke Universiteit Leuven
Katholieke Universiteit Leuven, y enviado al proceso de selección AES bajo el nombre
Rijndael
. Twofish(llave privada) El bloque de código Twofish es el candidato del Laboratorio Counterpane para el nuevo Estandar de Codificación Avanzado. Es uno de los cinco finalistas elegidos por NIST de un total de 15 candidatos, como explicábamos antes. Twofish está diseñado para ser altamente seguro y altamente flexible. Es muy adecuado para grandes microprocesadores, microprocesadores tarjeta inteligente de 8-bits, y hardware específicos. Laboratorios Counterpane ha dedicado más de mil horas a analizar Twofish, y no ha encontrado ataques que puedan quebrar la versión completa de 16 rondas del algoritmo.