Ésta es una lista de funciones hash , que incluye comprobaciones de redundancia cíclica , funciones de suma de comprobación y funciones hash criptográficas .
Comprobaciones de redundancia cíclica
Nombre | Largo | Tipo |
---|---|---|
cksum (Unix) | 32 bits | CRC con longitud adjunta |
CRC-16 | 16 bits | CRC |
CRC-32 | 32 bits | CRC |
CRC-32 MPEG-2 | 32 bits | CRC |
CRC-64 | 64 bits | CRC |
Adler-32 a menudo se confunde con un CRC, pero no lo es, es una suma de comprobación .
Sumas de comprobación
Nombre | Largo | Tipo |
---|---|---|
Suma de comprobación BSD (Unix) | 16 bits | suma con rotación circular |
Suma de comprobación SYSV (Unix) | 16 bits | suma con rotación circular |
sum8 | 8 bits | suma |
sum16 | 16 bits | suma |
sum24 | 24 bits | suma |
sum32 | 32 bits | suma |
fletcher-4 | 4 bits | suma |
fletcher-8 | 8 bits | suma |
fletcher-16 | 16 bits | suma |
fletcher-32 | 32 bits | suma |
Adler-32 | 32 bits | suma |
xor8 | 8 bits | suma |
Algoritmo de Luhn | 1 dígito decimal | suma |
Algoritmo de Verhoeff | 1 dígito decimal | suma |
Algoritmo Damm | 1 dígito decimal | Operación cuasigrupo |
Familias de funciones hash universales
Nombre | Largo | Tipo |
---|---|---|
Huella dactilar de Rabin | variable | multiplicar |
hash de tabulación | variable | XOR |
función hash unidireccional universal | ||
Hash de Zobrist | variable | XOR |
Funciones hash no criptográficas
Nombre | Largo | Tipo |
---|---|---|
Hash de Pearson | 8 bits (o más) | XOR / mesa |
SuperFastHash de Paul Hsieh [1] | 32 bits | |
Buzhash | variable | XOR / mesa |
Función hash Fowler – Noll – Vo (FNV Hash) | 32, 64, 128, 256, 512 o 1024 bits | xor / producto o producto / XOR |
Función hash de Jenkins | 32 o 64 bits | XOR / adición |
Bernstein de hash 's djb2 [2] | 32 o 64 bits | shift / add o mult / add o shift / add / xor o mult / xor |
PJW hash / Elf Hash | 32 o 64 bits | agregar, cambiar, xor |
MurmurHash | 32, 64 o 128 bits | producto / rotación |
Hash rápido [3] | 32, 64 bits | operaciones xorshift |
SpookyHash | 32, 64 o 128 bits | ver la función hash de Jenkins |
CityHash [4] | 32, 64, 128 o 256 bits | |
FarmHash [5] | 32, 64 o 128 bits | |
MetroHash [6] | 64 o 128 bits | |
hash numérico (nhash) [7] | variable | division / modulo |
xxHash [8] | 32, 64, 128 bits | producto / rotación |
t1ha (hash positivo rápido) [9] | 64 y 128 bits | producto / rotación / XOR / agregar |
pHash [10] | fijo o variable | ver hash perceptual |
dhash [11] | 128 bits | ver hash perceptual |
SDBM [2] [12] | 32 o 64 bits | mult / add o shift / add también se usa en GNU AWK |
Funciones hash criptográficas con clave
Nombre | Longitud de la etiqueta | Tipo |
---|---|---|
BLAKE2 | arbitrario | función hash con clave (prefijo-MAC) |
BLAKE3 | arbitrario | función hash con clave (IV suministrada) |
HMAC | ||
KMAC | arbitrario | basado en Keccak |
MD6 | 512 bits | Árbol Merkle NLFSR |
MAC de una tecla (OMAC; CMAC) | ||
PMAC (criptografía) | ||
Poli1305-AES | 128 bits | basado en nonce |
SipHash | 32, 64 o 128 bits | PRF no resistente a colisiones |
HighwayHash [13] | 64, 128 o 256 bits | PRF no resistente a colisiones |
UMAC | ||
VMAC |
Funciones hash criptográficas sin clave
Nombre | Largo | Tipo |
---|---|---|
BLAKE-256 | 256 bits | Estructura de HAIFA [14] |
BLAKE-512 | 512 bits | Estructura de HAIFA [14] |
BLAKE2s | hasta 256 bits | Estructura de HAIFA [14] |
BLAKE2b | hasta 512 bits | Estructura de HAIFA [14] |
BLAKE2X | arbitrario | Estructura HAIFA, [14] diseño de funciones de salida extensible (XOF) [15] |
BLAKE3 | arbitrario | Árbol Merkle |
ECOH | 224 a 512 bits | picadillo |
FSB | 160 a 512 bits | picadillo |
GOST | 256 bits | picadillo |
Grøstl | hasta 512 bits | picadillo |
HAS-160 | 160 bits | picadillo |
HAVAL | 128 a 256 bits | picadillo |
J H | 224 a 512 bits | picadillo |
LSH [16] | 256 a 512 bits | construcción Merkle-Damgård de tubo ancho |
MD2 | 128 bits | picadillo |
MD4 | 128 bits | picadillo |
MD5 | 128 bits | Construcción Merkle – Damgård |
MD6 | hasta 512 bits | Merkle tree NLFSR (también es una función hash con clave) |
RadioGatún | arbitrario | función de destrozo ideal |
RIPEMD | 128 bits | picadillo |
RIPEMD-128 | 128 bits | picadillo |
RIPEMD-160 | 160 bits | picadillo |
RIPEMD-320 | 320 bits | picadillo |
SHA-1 | 160 bits | Construcción Merkle – Damgård |
SHA-224 | 224 bits | Construcción Merkle – Damgård |
SHA-256 | 256 bits | Construcción Merkle – Damgård |
SHA-384 | 384 bits | Construcción Merkle – Damgård |
SHA-512 | 512 bits | Construcción Merkle – Damgård |
SHA-3 (subconjunto de Keccak) | arbitrario | función de esponja |
Madeja | arbitrario | Iteración de bloque único |
Snefru | 128 o 256 bits | picadillo |
Hash espectral | 512 bits | construcción Merkle-Damgård de tubo ancho |
Streebog | 256 o 512 bits | Construcción Merkle – Damgård |
SWIFFT | 512 bits | picadillo |
Tigre | 192 bits | Construcción Merkle – Damgård |
Torbellino | 512 bits | picadillo |
Ver también
- Resumen de seguridad de la función hash
- Algoritmos hash seguros
- Competencia de la función hash del NIST
- Funciones de derivación clave (categoría)
Referencias
- ^ "Funciones hash" . www.azillionmonkeys.com . Consultado el 10 de junio de 2015 .
- ^ a b "Funciones hash" . www.cse.yorku.ca . Consultado el 16 de junio de 2020 .
- ^ Zilong Tan. "hash rápido en Github" .
- ^ cityhash en GitHub
- ^ farmhash en GitHub
- ^ MetroHash en GitHub
- ^ Código Perl en la mitad superior de la página, texto en inglés en la mitad inferior
- ^ xxHash en GitHub
- ^ Leonid Yuriev. "t1ha en Github" .
- ^ "pHash.org: hogar de pHash, la biblioteca de hash perceptual de código abierto" . pHash.org . Consultado el 16 de junio de 2020 .
- ^ "dhash" . PyPI . 2017-08-23 . Consultado el 16 de junio de 2020 .
- ^ "código fuente SDBM original" . repositorio espejo github . Consultado el 30 de octubre de 2020 .
- ^ highwayhash en GitHub
- ^ a b c d e Eli Biham y Orr Dunkelman (20 de julio de 2007). "Un marco para funciones iterativas de hash - HAIFA" . Cite journal requiere
|journal=
( ayuda ) - ^ Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn y Christian Winnerlein (3 de diciembre de 2016). "BLAKE2X" (PDF) . Cite journal requiere
|journal=
( ayuda )CS1 maint: varios nombres: lista de autores ( enlace ) - ^ Kim, Dong-Chan; Hong, Deukjo; Lee, Jung-Keun; Kim y Woo-Hwan; Kwon, Daesung (2016). "LSH: una nueva familia de funciones de hash seguro y rápido" (PDF) . Archivado desde el original (PDF) el 8 de octubre de 2018. Cite journal requiere
|journal=
( ayuda )