stringtranslate.com

Función hash no criptográfica

Las funciones hash no criptográficas ( NCHF [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 la 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 , Murmur3 . [3]

Aplicaciones y requisitos

Entre los usos típicos de las funciones hash no criptográficas se encuentran los filtros de floración , las tablas hash y los bocetos de conteo . Estas aplicaciones requieren, además de velocidad, distribución uniforme y propiedades de avalancha . [3] La resistencia a colisiones es una característica adicional que puede ser útil contra ataques de inundación de hash ; Los NCHF simples, como la verificación de redundancia cíclica (CRC), esencialmente no tienen resistencia a la colisión [4] y, por lo tanto, no pueden usarse 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 sea necesario encontrar la información muy rápidamente (preferiblemente en el tiempo O(1) , lo que también conseguir una escalabilidad perfecta ). [5]

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

Diseño

Las funciones hash no criptográficas optimizadas para software frecuentemente implican la operación de multiplicación. Dado que en el hardware la multiplicación consume muchos recursos y limita la frecuencia, se propusieron diseños más amigables con ASIC , incluido SipHash (que tiene el beneficio adicional de poder usar una clave secreta para la autenticación de mensajes ), NSGAhash y XORhash. Aunque técnicamente la criptografía ligera se puede utilizar para las mismas aplicaciones, la latencia de sus algoritmos suele ser demasiado alta debido a la gran cantidad de rondas . [3] Sateesan et al. proponemos utilizar las versiones de ronda reducida de los cifrados y hashes 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, pero ralentiza el cálculo, ya que es necesario generar más bits. [7]

Ver 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. ^ Sello 2011.
  5. ^ Estébanez et al. 2013, pág. 1.
  6. ^ Estébanez et al. 2013, págs. 3–4.
  7. ^ Patgiri, Nayak y Muppalaneni 2023, págs.

Fuentes