Algoritmos de Seguridad Informática Bracho Garnica Jose Alberto Luis López Miguel Angel Mendoza Valdez Eduardo Seguridad ● Un aspecto de la seguridad implica impedir la pérdida de información. Esto se soluciona manteniendo respaldada la información, preferentemente en lugares distintos Seguridad ● El otro aspecto tiene que ver con el uso no autorizado de los recursos: ● Lectura de datos ● Modificación de datos ● Destruccion de datos ● Uso de recursos Encriptación ● ● Encriptado: pasar de plaintext a ciphertext mediante el empleo de la clave de encriptación. Desencriptado: Proceso inverso mediante el empleo de la llave de desencriptado. Encriptación ● ● ● Cifrado mediante claves simétricas y claves asimétricas. Claves simetricas: tanto el emisor como el receptor comparten el patrón de cifrado. Claves asimétricas: se crea una pareja de claves,distintas, una es pública y otra es privada. La mayor parte de la información la posee la clave privada. Encriptación Un elemento más de la ecriptación suelen ser las “Firmas Digitales” que ayudan a verificar: ● La integridad de los documentos ● La procedencia de los documentos Encriptación La firma digital es el equivalente de la firma manuscrita en el mundo digital, y es infalsificable mientras no se descubra la clave secreta del firmante. Es una cadena creada a partir del mensaje o parte del mensaje, garantizando autenticidad e integridad del mensaje. Encriptación A demás de la firma digital, se suele usar un “certificado de autenticidad”, que es gestionado por el agente de una Infraestructura de Claves Publicas (PKI), este agente es la Autoridad de Certificación (AC). Encriptación Los algoritmos más usados para el cifrado son: ● ● ● RSA(Rivest, Shamir, Adleman) cifrado de claves IDEA(International Data Encryption Algorithm) cifrado de documento MD5(Message Digest Algorithm 5) creación de firmas digitales Encriptación ● ● DH(Diffie-Hellman) combina IDEA,DH para cifrado de claves y DSS(Digital Signature Standar) para firma digital. SHA(Secure Hash Algorithm) RSA Aquí tenemos un ejemplo de cifrado/descifrado con RSA. Los parámetros usados aquí son pequeños y orientativos con respecto a los que maneja el algoritmo, pero podemos usar también OpenSSL para generar y examinar un par de claves reales. RSA ● Sea: p = 3 y q = 11 n = p * q = 3 * 11 = 33 φ(n) = (p - 1) * (q - 1) = 2 * 10 = 20 RSA Calcular un valor para d tal que (d * e) % φ(n) = 1. una solucion es d = 3 [(3 * 7) % 20 = 1] La llave publica es (e, n) => (7, 33) La llave privada es (d, n) => (3, 33) RSA Con m=2, Donde m es el texto sin cifrar. La función de cifrado es: e 7 encrypt (m)=m modulo n=2 modulo 33=29 La función de descifrado es: d 3 decrypt (m)=c modulo n=29 modulo 33=2 Donde c es el texto cifrado. RSA Para cifrar el valor del texto sin cifrar 123, nosotros calculamos: 17 encrypt (123)=123 (mod 3233)=855 Para descifrar el valor del texto cifrado, nosotros calculamos: decrypt (855)=855 2753 (mod 3233)=123 SHA ● ● ● Es un sistema de funciones hash criptográficas relacionadas Extraoficialmente el primero se le conoce como SHA-0 Su sucesor es el SHA-1 SHA ● La falilia de SHA-2 se integra por los siguientes: ● SHA-224 ● SHA-256 ● SHA-384 ● SHA-512 SHA SHA-0 y SHA-1 producen una salida resumen hexadecimal de 40 caracteres. ● SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709 Fuentes “Seguridad Informática y Criptografía”, Desiree Litwak, Noelia y Edit Escalante, Jaquelina, Argentina 2004 ● ● ● ● http://es.wikipedia.org/wiki/RSA http://www.cs.utexas.edu/~mitra/honors/soln.htm l http://es.wikipedia.org/wiki/Secure_Hash_Algor ithm http://php.net/manual/es/function.sha1.php