Implementación De Las Tablas Hash En La Criptografía
Enviado por tackoz • 5 de Agosto de 2013 • 1.330 Palabras (6 Páginas) • 541 Visitas
Introducción
La criptografía actualmente se encarga del estudio de los algoritmos, protocolos y sistemas que se utilizan para dotar de seguridad a las comunicaciones, a la información y a las entidades que se comunican. El objetivo de la criptografía es diseñar, implementar, implantar, y hacer uso de sistemas criptográficos para dotar de alguna forma de seguridad. Veremos cómo están relacionas las tablas hash con la criptografía.
Funciones Hash en Criptografía
Las Funciones HASH es uno de los tipos de funciones que existen para poder hacer uso del procedimiento de autentificación del mensaje, además podemos expresar que son funciones públicas las cuales se encargan del mapeo de un mensaje de cualquier largo sobre un valor HASH de longitud finita cuyo servicio sea con el autentificador.
La autentificación del mensaje es un procedimiento para verificar que el mensaje fue recibido desde la fuente y no tiene en el comienzo ninguna alteración, los mensajes de autentificación pueden también ser verificados secuencialmente, una signatura digital es una técnica de que también incluye medidas a antagonizar por cada fuente o destino.
La autenticación de un mensaje utilizando criptografía asimétrica generalmente se realiza utilizando Funciones Resumen o Compendio (HASH) con la cual se obtiene una firma a partir del mensaje que de un lado, es mucho más pequeña que el mensaje original y de otro lado es muy difícil encontrar otro mensaje que tenga la misma firma.
Un mensaje m puede autenticarse cifrado con la clave privada d a una información adicional {firma DA(s)}, esa información adicional puede ser una cierta cantidad r(m) que sólo puede ser generada por el poseedor de la clave privada d, cualquiera que tenga la clave pública correspondiente podrá descifrar y verificar la firma, la cantidad r(m) que se propone se llama Función Resumen o compendio (HASH) y debe cumplir algunos requisitos:
• r(m) es de longitud fija independientemente de la longitud de m.
• Dado m es fácil calcular r(m).
• Dado r(m) es un problema intratable recuperar m.
• Dado m es un problema intratable obtener un m" tal que r(m) = r(m") y a este requisito habría que añadir otro relacionado con la posibilidad de que aleatoriamente pueda encontrarse un m".
• Debe ser difícil encontrar 2 mensajes aleatorios, m y m", tales que r(m)=r(m"), lo cual provoca que este requisito condicione la longitud de la firma como se verá seguidamente.
Uso de las funciones HASH en criptografía
• Una de las aplicaciones más interesantes de la actual criptografía es la posibilidad real de añadir en un mensaje una firma digital: La autenticación completa.
• Todo esto comienza en el año 1976 cuando Diffie y Hellman presentan un modelo de cifrado asimétrico con clave pública, con los antiguos sistemas de cifra de clave simétrica esto era inviable o bien muy complejo.
• No obstante dado que los sistemas de clave pública son muy lentos en vez de firmar digitalmente el mensaje completo, en un sistema criptográfico se incluirá como firma digital una operación de cifra con la clave privada del emisor sobre un resumen o hash de dicho mensaje representado por sólo una centena de bits.
Seguridad asociada a una función HASH
Suponiendo que hemos creado una función HASH de forma tal que el resumen es sólo de 4 bits, independientemente del tamaño de dicho mensaje de entrada y nos surge la pregunta:
¿Cuál es la probabilidad de que dos mensajes distintos tengan igual función HASH?
Si esta probabilidad fuese muy baja (en este caso 1/16: HASH desde 0000 hasta 1111) y podría darse el siguiente caso: Alguien modifica nuestro mensaje firmado y envía ese mensaje falso con la firma del primero ya que en ambos casos son los mismos 4 bits.
Mensaje 1: "Rechazamos el contrato por no interesarnos nada" HASH: 1101.
Mensaje 2: "Firma todo lo que te pongan porque nos interesa" HASH: 1101.
Observe que ambos mensajes tienen 47 caracteres, así podríamos crear una gran cantidad de mensajes diferentes que digan cosas distintas incluso con igual número de caracteres, ¡Hasta que los dos HASH coincidan!, y por este motivo para que las funciones HASH sean interesantes en criptografía deben cumplir un conjunto de propiedades, ellas son:
h(M)
...