Hash de cadena casi universal en

9

Aquí hay dos familias de funciones hash en las cadenas X=X0 0X1X2...Xmetro :

  1. pagsXyoZpagsa Z px y , P a ( h 1 a ( x ) = h 1 a ( y ) ) m / phuna1(X)=unayoXyomodificaciónpagsunaZpagsXy,PAGSuna(huna1(X)=huna1(y))metro/ /pags

  2. Para , para . Lemire y Kaser mostraron en "El hashing de cadenas fuertemente universal es rápido" que esta familia es independiente de 2. Esto implica que h 2 un = un 0 a 1 un 2 ... un m + 1 ( x ) = ( un 0 + Σ un i + 1 x i mod 2 2 b ) ÷ 2 b una iZ 2 2 bx y , PXyoZ2siha=a0a1a2am+12(x)=(a0+ai+1ximod22b)÷2baiZ22bxy,Pa(ha2(x)=ha2(y))=2b

h1 usa solo bits de espacio y bits de aleatoriedad, mientras que usa bits de espacio y bits de aleatoriedad. Por otro lado, h ^ 2 opera sobre \ mathbb {Z} _ {2 ^ {2b}} , que es rápido en las computadoras reales.lgph22bm+2bh2Z22b

Me gustaría saber qué otras familias de hash son casi universales (como ), pero operan sobre (como ), y usan el espacio y aleatoriedadh1Z2bh2o(m)

¿Existe tal familia hash? ¿Pueden sus miembros ser evaluados en tiempo?O(m)

jbapple
fuente

Respuestas:

5

Si. Las "Nuevas funciones hash de Wegman y Carter y su uso en la autenticación y la igualdad de conjunto" ( espejo ) muestran un esquema que cumple con los requisitos establecidos (casi universal, sobre , espacio sublineal y aleatoriedad, tiempo de evaluación lineal) basado en un pequeño número de funciones hash extraídas de una familia fuertemente universal.Z2b

Esto a veces se llama "hashing de árbol", y Boesgaard et al . Lo utilizan en "Badger - Un MAC rápido y probablemente seguro" .

jbapple
fuente
-1

Si desea algo rápido y que puede usar en la práctica, puede consultar la literatura criptográfica. Por ejemplo, poly1305 y UMAC son rápidos, y hay muchos otros. Debido a que los hashes 2-universales son útiles para la criptografía, los criptógrafos han estudiado muchas construcciones y han encontrado algunas que son extremadamente eficientes.

Poly1305 funciona como su primer tipo de hash (llamado hash de evaluación polinomial ), funciona módulo . El esquema muestra trucos inteligentes para que esto funcione muy rápido en una computadora moderna. La cantidad de aleatoriedad es pequeña: 128 bits.21305

Si desea reducir la cantidad de aleatoriedad y no le importa tanto la practicidad, puede consultar el siguiente trabajo de investigación:

  • Hashing y autenticación basados ​​en LFSR. Hugo Krawczyk. CRYPTO 1994.

Krawczyk describe un esquema para reducir la cantidad de aleatoriedad básicamente al permitir que ser el i ésimo fila de una matriz de Toeplitz. Sin embargo, el esquema Krawczyk funciona sobre G F ( 2 b ) , no sobre el módulo aritmético 2 b .aiiGF(2b)2si

DW
fuente
1
Agradezco sus referencias, pero esta respuesta no aborda la pregunta.
jbapple