Cifrado hash

Cifrado Hash
Introducción:
 Anteriormente hemos visto cifrados simétricos y asimétricos, pero este es algo diferente y se puede usas de diferente manera así que se va a realizar un estudio.

Desarrollo:
Una función hash es método para generar claves o llaves que representen de manera unívoca a un documento o conjunto de datos. Es una operación matemática que se realiza sobre este conjunto de datos de cualquier longitud, y su salida es una huella digital, de tamaño fijo e independiente de la dimensión del documento original. El contenido es ilegible.

Requisitos que deben cumplir las funciones hash:

  • Imposibilidad de obtener el texto original a partir de la huella digital.
  • Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma huella digital (aunque como hemos visto anteriormente es posible que este requisito no se cumpla).
  • Poder transformar un texto de longitud variable en una huella de tamaño fijo (como el SHA-1 que es de 160bits).
  • Facilidad de empleo e implementación.


Estas funciones no tienen el mismo propósito que la criptografía simétrica y asimétrica, tiene varios cometidos, entre ellos está asegurar que no se ha modificado un archivo en una transmisión, hacer ilegible una contraseña o firmar digitalmente un documento.
En definitiva, las funciones hash se encargan de representar de forma compacta un archivo o conjunto de datos que normalmente es de mayor tamaño que el hash independientemente del propósito de su uso.

Los más comunes son:

  • MD5: Es un algoritmo hash de 128 bits representado como un número de 32 dígitos hexadecimales. A pesar de su amplia difusión actual, se detectó una sucesión de problemas de seguridad que plantea una serie de dudas acerca de su uso futuro. Longitud de clave: 128 bits.
  •  
  • SHA: Es un conjunto de funciones de hash de cifrado. Existen varias versiones renovadas, la primera, la SHA-0 y la más reciente, la SHA-3.
  • A partir de la versión SHA-2 están formados por diversas funciones como SHA-224, SHA-256, SHA-384 y SHA-512 la cual ha sido la más utilizada para la protección de datos y de información.
  • SHA0- Longitud de clave: 128 bits.
  • SHA1- Longitud de clave: 160 bits.
  • SHA2- Longitud de clave: Variable, 224, 256, 384 y 512 bits.
  •  
  • SHA3 (Keccak): Los algoritmos SHA son descendientes de MD5. SHA3 es una evolución del algoritmo SHA2, aunque se le ha añadido un sistema de cifrado llamado “esponja”, lo que lo diferencia totalmente de la familia SHA. Este sistema se creó por miedo a que la familia SHA, muy extendida, sufriera alguna vulnerabilidad.
  • El sistema esponja mezcla 576 bits de entrada en un estado interno de 1600 bits en cada iteración, y luego se permuta absorbiendo los próximos 576 bits. Al final, 512 bits de la 1600 son expulsados como el hash final. Longitud de clave: 1024 bits, solo eficaces 512 bits.
  •  
  • TIGER: Es una función de hash para plataformas de 64 bits. El tamaño de la función es de 192 bits, aunque hay versiones de 128 y 169 bits de la misma, llamadas Tiger/128 y Tiger/160, que devuelven versiones truncadas de la versión Tiger/192. Longitud de clave: 192 bits.
  •  
  • GOST: Es un algoritmo hash y cifrado por bloques de origen ruso que usa claves de 256 bits. Longitud de clave: 256 bits.
  •  
  • WHIRLPOOL: Es una función hash desarrollada después del algoritmo de cifrado por bloques Square y está basado en una modificación AES. Devuelve un hash de 512 bits (64 bytes) que se representan como 128 caracteres hexadecimales. Longitud de clave: 512 bits.
  •  
  • RIPEMD: Es un algoritmo hash de 128, 256 y 320 bits. Es un algoritmo basado en MD4, y es similar en seguridad y funcionamiento a SHA-1.
  • Las versiones de 256 y 320 bits solamente disminuyen la posibilidad de colisiones hash accidentales y no tienen niveles más altos de seguridad con respecto a RIPEMD-128 y RIPEMD-160. Los hashes de 160 bits se representan como números en hexadecimal 40 dígitos. Longitud de clave: 128, 256 y 320 bits.


Otro uso que tiene esta función es la de garantizar la integridad de los datos y es algo que habréis visto muchas veces, por ejemplo en algunas webs que proporcionan descargas de archivos grandes, por ejemplos software, dando junto a su vez el resumen del archivo y la función usada.

Conclusiones:
Para el cifrado de las páginas que se van a utilizar en los días comunes se puede decir que el cifrado hash es uno de los más importantes porque te permite hacer muchas cosas diferentes al simétrico y asimétrico, por lo tanto es uno de los que más se usan.
Referencias
DEVNULL (2011) ALGORITMOS DE CIFRADO II
Recuperado el 19/11/17, de
https://elbinario.net/2016/04/11/algoritmos-de-cifrado-ii/
PEDRO GUTIÉRREZ(2013) Tipos de criptografía: simétrica, asimétrica e hibrida
Recuperado el 19/11/17, de
https://www.genbetadev.com/seguridad-informatica/tipos-de-criptografia-simetrica-asimetrica-e-hibrida
Sergio de Luz(2010) Criptografía : Algoritmos de autenticación (hash)
Recuperado el 19/11/17, de
https://www.redeszone.net/2010/11/09/criptografia-algoritmos-de-autenticacion-hash/


Comentarios