Skip to content
Toni edited this page May 25, 2020 · 7 revisions

A las funciones hash también se les llama funciones resumen o funciones digest. Tiene como entrada un conjunto de elementos, que suelen ser cadenas, y los convierte en un rango de salida finito, normalmente cadenas de longitud fija. La idea básica de un valor hash es que sirva como una representación compacta de la cadena de entrada. Por esta razón se dice que estas funciones resumen datos del conjunto dominio.

Este sistema de criptografía usa algoritmos que aseguran que con la respuesta (o hash) nunca se podrá saber cuales han sido los datos insertados, lo que indica que es una función unidireccional. Sabiendo que se puede generar cualquier resumen a partir de cualquier dato nos podemos preguntar si se podrían repetir estos resúmenes (hash) y la respuesta es que teóricamente si, podría haber colisiones, ya que no es fácil tener una función hash perfecta (que consiga que no se repita la respuesta), pero esto no supone un problema, ya que si se consiguieran (con un buen algoritmo) dos hash iguales los contenidos serían totalmente distintos.

Ejemplo de codificación hash

Según un generador online de hash SHA-1 (SHA-1 es una de las funciones hash más ampliamente utilizadas en la informática, junto con MD 5 y SHA-2) el hash de la palabra "brian" es: 760e7dab2836853c63805033e514668301fa9c47. En cambio el hash SHA-1 para la palabra “brain” es 8b9248a4e0b64bbccf82e7723a3734279bf9bbc4. Como puedes ver, estas dos series son muy diferentes, a pesar de que la diferencia entre “brian” y “brain” es minúscula.

Tipos de algoritmos Hash implementados en criptoKit:

  • MD5 (es un algoritmo de reducción criptográfico de 128 bits. Su cifrado es representado típicamente como un número de 32 símbolos hexadecimales)
  • SHA1 (produce una salida resumen de 160 bits (20 bytes) de un mensaje que puede tener un tamaño máximo de 2^64 bits, y se basa en principios similares a los algoritmos de resumen de mensaje MD4 y MD5)
  • SHA-2 (es un conjunto de funciones hash criptográficas (SHA-224, SHA-256, SHA-384, SHA-512)). La moneda criptográfica Bitcoin depende en gran medida en un doble uso del SHA-256. El SHA-256 es usado para identificar los paquetes software de Debian GNU/Linux​ y en el estándar de mensaje firmado DKIM; SHA-512 es parte del sistema para identificar los vídeos guardados en el Tribunal Penal Internacional para Ruanda.​ SHA-256 y SHA-512 fueron propuestos para ser usados en DNSSEC.​ Los proveedores de Unix y Linux están adoptando SHA-2 de 256 y 512 bits para aplicarlo en las contraseñas de seguridad.
    • La SHA-256 y SHA-512 son nuevas funciones hash con palabras de tamaño 32 y 64 bits, respectivamente. Usan diferentes desplazamientos y constantes, pero su estructura son por otra parte virtualmente idéntica, diferenciándose únicamente por el número de iteraciones.
  • SHA-3 (es un subconjunto de la familia primitiva criptográfica más amplio Keccak (muy diferente a SHA1 y SHA2). Es el último miembro de la familia de estándares Secure Hash Algorithm - año 2015).

Fuentes

https://es.wikipedia.org/wiki/Funci%C3%B3n_hash

https://www.genbeta.com/desarrollo/que-son-y-para-que-sirven-los-hash-funciones-de-resumen-y-firmas-digitales

https://latam.kaspersky.com/blog/que-es-un-hash-y-como-funciona/2806/

https://es.wikipedia.org/wiki/SHA-2

https://es.wikipedia.org/wiki/SHA-3