Critptografía III: Función Hash

Un hash (también conocido como digest) se puede visualizar como una huella digital relacionada a algún dato. El hash se logra atraves de un proceso matemático de una sola vía.

Se conocen como  algoritmos sin vuelta atrás. Cumplen las siguientes condiciones:

  1. Si se conoce el texto plano, se puede construir el mensaje
  2. Si se conoce el mensaje cifrado, es imposible deducir el texto
  3. En la práctica es imposible encontrar dos textos planos distintos que al codificarlos tengan el mismo mensaje
  4. Dan un texto cifrado de tamaño fijo y pueden actuar sobre textos planos de cualquier tamaño.

Gracias a estas propiedades, las funciones hash tiene dos aplicaciones: garantizar la integridad y la identidad.

hash

En la carateristica de no vuelta atrás, se basa el sistema de contraseñas de los sistemas GNU/Linux, en el que las contraseñas se almacenan cifradas. Cuando un usuario de registra para entrar en el sistema con su usuario y contraseña, el sistema cifra la contraseña suministrada por el usuario y la compara con la que tiene almacenada asociada a ese usuario, si se correponde le dará acceso. Este sistema de almacenamiento, además, es bastante robusto, ya que si alguien llega a conseguir el texto cifrado… ¿de qué le valdría? Absolutamente de nada. Sin embargo, el sistema utiliza algo más, pues si dos contraseñas fueran iguales o conociendo el algoritmo usado se podría descifrarlo sabiendo unas cuantas contraseñas básicas y comparando hash hasta sacar unas equivalencias. Para evitar esto y cerrar completamente el cerco de seguridad de la contraseña, el sistema le añade los bit salt, que son datos al azar añadidos a la contraseña para posteriormente cifrar con el hash, es decir, lo enmascara con más datos, haciendo muy dificil saber qué parte es la contraseña real y cuales son los datos sin valor.

Otra peculiaridad que lo hace interesante es la última… indenpedientemente de la longitd del texto plano,  el texto cifrado resultate, el hash,  es siempre de igual tamaño, por lo que no se puede deducir la longitud del texto plano. Además, se puede ejecutar el hash sobre un texto plano de cualquier tamaño, y siempre dará un texto cifrado distinto; y si ese texto cifrado de descifra se lecambia algo, por menudo que sea y se vuelve a cifrar, el texto cifrado resultante será completamente distinto del inicial.

Algunos algoritmos hash: RIPEMD-16, SHA-Xmd5….

Para calcular hashes en GNU/Linux por defeto vienen instalados md5sum y el sha1sum. En Windows se puede utilizar Snap MD5 que es un todo en uno (tiene para MD5 y para SHA-1).

En clase hemos usado el Omziff v3.0.9.6

(manual en pdf de Omziff www.destroyerweb.com)

– See more at: http://www.redeszone.net/2010/11/09/criptografia-algoritmos-de-autenticacion-hash/#sthash.Vv2p9lNE.dpuf

Vídeo sobre los Funciones unidireccionales y hash realizado por el equipo de producción de intypedia (http://www.intypedia.com/).

Anuncios

2 comentarios sobre “Critptografía III: Función Hash

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s