Función hash criptográfica

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Se llaman funciones hash criptográficas a aquellas funciones hash que se utilizan en el área de la criptografía. Este tipo de funciones se caracterizan por cumplir propiedades que las hacen idóneas para su uso en sistemas que confían en la criptografía para dotarse de seguridad. Estas propiedades las hacen resistentes frente ataques maliciosos que intentan romper esa seguridad.

Propiedades[1] [2] [editar]

Establecer que propiedades tiene que cumplir una función hash criptográfica es difícil ya que son usadas en aplicaciones criptográficas muy diversas, y que por tanto requieren propiedades diferentes. Sin embargo en general podemos decir que es necesario que sean deterministas (un mensaje siempre tiene el mismo valor hash) y de bajo coste (para que sean utilizables en la práctica). Además normalmente se suele requerir que sean uniformes y con efecto avalancha con el objetivo de que sea imposible predecir cualquier valor hash a partir de otros valores hash capturados.

Para determinar las propiedades requeridas para asegurar la seguridad es necesario saber cual es el objetivo principal de la función. Podemos distinguir dos tipos de funciones: las que tienen como objetivo principal verificar la integridad, a las que se llaman Códigos de detección de modificaciones, y las que tienen como objetivo principal la autenticación del origen del mensaje, a las que se llaman Códigos de autenticación de mensajes.[3] Estos nombres no son muy correctos ya que estas funciones no son códigos y además ambos tipos permiten la autenticación de mensajes. Sin embargo son los más ampliamente aceptados.

Código de detección de modificaciones[editar]

Véase también: Código de detección de modificaciones

El objetivo de estas funciones es poder detectar si un mensaje ha sido modificado o no. Por tanto permiten la verificación de la integridad del mensaje. Su funcionamiento consiste en calcular el valor hash del mensaje y que este sirva como prueba para una posible verificación de si el mensaje ha sido modificado. A las funciones hash diseñadas con este objetivo se las llama Códigos de detección de modificaciones o MDC ( siglas del inglés Modification Detection Codes)

Para cumplir su objetivo la función hash tiene que cumplir propiedades que la haga resistente frente ataques de adversarios maliciosos cuyo objetivo es que la función no cumpla su cometido. Según la propiedad que se estime necesaria que cumpla se puede decir que hay dos tipos de Códigos de detección de modificaciones:

  • Las que requieren que la función hash sea OWHF. Por tanto es difícil encontrar un mensaje que tenga un valor hash pre-especificado.
  • Las que requieren que la función hash sea CRHF. Por tanto es difícil encontrar dos mensajes con el mismo valor hash.

Código de autenticación de mensajes[editar]

Véase también: Código de autenticación de mensajes

El objetivo de estas funciones es permitir comprobar, sin usar ningún mecanismo adicional, la autenticidad del origen de un mensaje asegurando además la integridad de dicho mensaje. Debido a esta funcionalidad se las llama Códigos de Autenticación de Mensajes o MAC (siglas del inglés Message Authentication Codes).

Las MAC son funciones hash con clave, la cual mantienen en secreto tanto el que se quiere autenticar como el que verifica la autenticación. Para que sea resistente frente ataques es necesario que la función comprima y que sea resistente a la computación de nuevos valores hash.

Véase también[editar]

Referencias[editar]

  1. A. J. Menezes et all, "Handbook of Applied Cryptography", CRC Press 2011
  2. Maike Massierer,"Provably Secure Cryptographic Hash Function",School of Mathematics,The University of New South Wales.2006
  3. Bart Preenel,"Cryptographic Primitives for Information Authentication - State of the Art". Katholieke Universiteit Leuven