Hash
Este artículo es parte del glosario de términos de la wiki, a través del cual se ofrecen definiciones cortas y simplificadas de una serie de conceptos que de momento no ameritan artículos más extensos o desarrollados.
Una función hash es una función matemática que toma cualquier texto o cualquier tipo de datos y lo convierte en una secuencia de números enteros. Estas funciones matemáticas tienen ciertas propiedades que le confieren cualidades ideales en criptografía.
- Irreversibilidad: a partir del hash no se puede derivar matemáticamente el texto.
- Resistente a colisiones: un mismo hash no puede generarse a partir de dos textos distintos.
- Longitud fija: independientemente de la longitud de entrada en el texto, la salida de la función siempre tendrá la misma longitud.
Un ejemplo de un hash con la función sha3_256 aplicado a la cadena de caracteres “AldeaWiki” genera como resultado:
SHA3-256('AldeaWiki') = '8fdb565bff1a6bb257e8fe17c9f7257b80dddb79e39201eb68b607487f79733a'
No existe una forma eficiente de encontrar el mensaje “AldeaWiki” a partir del hash recién generado.
Las funciones hash son utilizadas en diversas aplicaciones hoy en día como:
- Checksums: aplicando hash a un archivo se puede verificar su integridad y confirmar que el archivo no ha sido cambiado o vulnerado ya que el hash cambiaría.
- Guardar contraseñas en bases de datos tradicionales.
- Generar IDs únicos: algunas direcciones utilizadas en blockchains son hashes.
Algoritmos más conocidos de hash:[editar | editar código]
- Familia SHA-2: basados en el concepto criptográfico Merkle-Damgard
- SHA-256
- SHA-512
- Familia SHA-3: basados en el concepto criptográfico Sponge construction
- SHA3-256
- SHA3-512
- Keccak-256
- BLAKE2 / BLAKE2s / BLAKE2b
- 160-bit
- 224-bit
- 256-bit
- 384-bit
- 512-bit
- RIPEMD-160
- 160-bit
- 128-bit
- 256-bit
- 320-bit
En criptografía moderna existen muchos más algoritmos y combinaciones.