Hash di stringa quasi universale in


9

Ecco due famiglie di funzioni hash sulle stringhe :x=x0x1x2xm

  1. Per prime e , per a \ in \ mathbb {Z} _p . Dietzfelbinger et al. mostrato in "Le funzioni di hash polinomiale sono affidabili" che \ forall x \ neq y, P_a (h ^ 1_a (x) = h ^ 1_a (y)) \ leq m / p .x iZ p h 1 a ( x ) = a i x i mod ppxiZpha1(x)=aiximodpx y , P a ( h 1 a ( x ) = h 1 a ( y ) ) m / paZpXy,Pun'(hun'1(X)=hun'1(y))m/p

  2. Per XioZ2B , hun'=un'0un'1un'2...un'm+12(X)=(un'0+Σun'io+1Xiomod22B)÷2B per un'ioZ22B . Lemire e Kaser hanno mostrato in "L'hash della stringa fortemente universale è veloce" che questa famiglia è indipendente dal 2. Ciò implica che Xy,Pun'(hun'2(X)=hun'2(y))=2-B

h1 utilizza solo lgp bit di spazio e bit di casualità, mentre h2 usa 2Bm+2B bit di spazio e bit di casualità. D'altra parte, h2 opera su Z22B , che è veloce sui computer reali.

Mi piacerebbe sapere quali altre famiglie di hash sono quasi universali (come h1 ), ma operano su Z2B (come h2 ) e uso o(m) spazio e casualità.

Esiste una tale famiglia di hashish? I suoi membri possono essere valutati in O(m) tempo?

Risposte:


5

Sì. Le "Nuove funzioni hash e il loro uso nell'autenticazione e nell'uguaglianza impostata" di Wegman e Carter ( mirror ) mostrano uno schema che soddisfa i requisiti dichiarati (quasi universale, over , spazio e casualità sublineari, valutazione lineare tempo) basato su un piccolo numero di funzioni hash tratte da una famiglia fortemente universale.Z2B

Questo a volte viene chiamato "hashing dell'albero", ed è usato in "Badger - A MAC veloce e sicuro" di Boesgaard et al .


-1

Se vuoi qualcosa di veloce e che puoi usare in pratica, potresti guardare la letteratura crittografica. Per esempio, poly1305 e UMAC sono veloci, e ci sono molti altri. Poiché gli hash 2-universali sono utili per la crittografia, i crittografi hanno studiato molte costruzioni e ne hanno trovate estremamente efficienti.

Poly1305 funziona come il tuo primo tipo di hash (chiamato hash di valutazione polinomiale ), funzionante modulo . Lo schema mostra trucchi intelligenti per farlo funzionare molto velocemente su un computer moderno. La quantità di casualità è piccola: 128 bit.2130-5

Se vuoi ridurre il livello di casualità e non ti interessa molto della praticità, potresti guardare il seguente documento di ricerca:

  • Hashing e autenticazione basati su LFSR. Hugo Krawczyk. CRYPTO 1994.

Krawczyk descrive un sistema per ridurre la quantità di casualità fondamentalmente lasciando la esima riga di una matrice Toeplitz. Tuttavia, lo schema di Krawczyk funziona su , non sul modulo aritmetico .un'ioiosolF(2B)2B


1
Apprezzo i tuoi riferimenti, ma questa risposta non risponde alla domanda.
jbapple,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.