stringtranslate.com

Función hash no criptográfica

Las funciones hash no criptográficas ( NCHFs [1] ) son funciones hash destinadas a aplicaciones que no necesitan los rigurosos requisitos de seguridad de las funciones hash criptográficas (por ejemplo, resistencia a preimagen ) y, por lo tanto, pueden ser más rápidas y consumir menos recursos. [2] Los ejemplos típicos de hashes no criptográficos optimizados para CPU incluyen FNV-1a y Murmur3 . [3] Algunas funciones hash no criptográficas se utilizan en aplicaciones criptográficas (generalmente en combinación con otras primitivas criptográficas); en este caso se describen como funciones hash universales . [4]

Solicitudes y requisitos

Entre los usos típicos de las funciones hash no criptográficas se encuentran los filtros bloom , las tablas hash y los bosquejos de recuento . Estas aplicaciones requieren, además de velocidad, propiedades de distribución uniforme y de avalancha . [3] La resistencia a colisiones es una característica adicional que puede ser útil contra ataques de inundación de hash ; las NCHF simples, como la verificación de redundancia cíclica (CRC), esencialmente no tienen resistencia a colisiones [5] y, por lo tanto, no se pueden usar con una entrada abierta a la manipulación por parte de un atacante.

Los NCHF se utilizan en diversos sistemas: analizadores léxicos , compiladores , bases de datos , redes de comunicación , videojuegos, servidores DNS , sistemas de archivos ... en cualquier lugar de la informática donde exista la necesidad de encontrar la información muy rápidamente (preferiblemente en el tiempo O(1) , lo que también permitirá lograr una escalabilidad perfecta ). [6]

Estébanez et al. enumere los FCNH "más importantes": [7]

Diseño

Las funciones hash no criptográficas optimizadas para software con frecuencia implican la operación de multiplicación. Dado que la multiplicación en hardware consume muchos recursos y limita la frecuencia, se han propuesto diseños más compatibles con ASIC , incluidos SipHash (que tiene el beneficio adicional de poder usar una clave secreta para la autenticación de mensajes ), NSGAhash y XORhash. Aunque técnicamente se puede utilizar criptografía ligera para las mismas aplicaciones, la latencia de sus algoritmos suele ser demasiado alta debido a una gran cantidad de rondas . [3] Sateesan et al. proponen utilizar las versiones de ronda reducida de hashes y cifrados ligeros como funciones hash no criptográficas. [2]

Muchos NCHF tienen un tamaño de resultado relativamente pequeño (por ejemplo, 64 bits para SipHash o incluso menos): un tamaño de resultado grande no aumenta el rendimiento de las aplicaciones de destino, sino que ralentiza el cálculo, ya que es necesario generar más bits. [8]

Véase también

Referencias

  1. ^ Estébanez et al. 2013.
  2. ^ ab Sateesan et al. 2023, pág. 1.
  3. ^ a b C Sateesan et al. 2023, pág. 2.
  4. ^ Mittelbach & Fischlin 2021, pág. 303.
  5. ^ Sello 2011.
  6. ^ Estébanez et al. 2013, pág. 1.
  7. ^ Estébanez et al. 2013, págs. 3–4.
  8. ^ Patgiri, Nayak y Muppalaneni 2023, págs.

Fuentes