String hashing hampir universal dalam

9

Berikut adalah dua keluarga dari fungsi hash pada string x=x0x1x2...xm :

  1. halxsayaZhalhSebuah1(x)=SebuahsayaxsayamodhalSebuahZhalxy,PSebuah(hSebuah1(x)=hSebuah1(y))m/hal

  2. Untuk , untuk a_i \ in \ mathbb {Z} _ {2 ^ {2b}} . Lemire dan Kaser menunjukkan dalam "Hashing string yang sangat universal cepat" bahwa keluarga ini 2-independen. Ini menyiratkan bahwa \ forall x \ neq y, P_ \ vec {a} (h ^ 2_ \ vec {a} (x) = h ^ 2_ \ vec {a} (y)) = 2 ^ {- b} h 2 a = sebuah 0 a 1 a 2 ... a m + 1 ( x ) = ( a 0 + Σ a i + 1 x i mod 2 2 b ) ÷ 2 b a iZ 2 2 bx y , PxsayaZ2bha=a0Sebuah1Sebuah2...Sebuahm+12(x)=(Sebuah0+Sebuahsaya+1xsayamod22b)÷2bSebuahsayaZ22bxy,Pa(ha2(x)=ha2(y))=2b

h1 hanya menggunakan lgp bit ruang dan bit keacakan, sedangkan h2 menggunakan 2bm+2b bit ruang dan bit keacakan. Di sisi lain, h2 beroperasi lebih dari Z22b , yang cepat di komputer yang sebenarnya.

Saya ingin tahu apa keluarga hash lain yang hampir universal (seperti h1 ), tetapi beroperasi lebih dari Z2b (seperti h2 ), dan menggunakan ruang o(m) dan keserampangan.

Apakah keluarga hash seperti itu ada? Bisakah anggotanya dievaluasi dalam waktu O(m) ?

jbapple
sumber

Jawaban:

5

Iya. Wegman dan Carter "Fungsi hash baru dan penggunaannya dalam otentikasi dan set kesetaraan" ( mirror ) menunjukkan skema yang memenuhi persyaratan yang dinyatakan (hampir universal, lebih dari , ruang sublinear dan keacakan, evaluasi linear waktu) berdasarkan sejumlah kecil fungsi hash yang diambil dari keluarga yang sangat universal.Z2b

Ini kadang-kadang disebut "tree hashing", dan digunakan dalam "Badger - A Fast dan Terbukti Aman MAC" oleh Boesgaard et al .

jbapple
sumber
-1

Jika Anda menginginkan sesuatu yang cepat dan dapat Anda gunakan dalam praktik, Anda mungkin melihat literatur kriptografi. Misalnya, poly1305 dan UMAC cepat, dan ada banyak lainnya. Karena hash 2-universal berguna untuk kriptografi, kriptografi telah mempelajari banyak konstruksi dan menemukan konstruksi yang sangat efisien.

Poly1305 bekerja seperti tipe hash pertama Anda (disebut hash evaluasi polinomial ), yang bekerja modulo . Skema ini menunjukkan trik pintar untuk membuat ini berjalan sangat cepat di komputer modern. Jumlah keacakan kecil: 128 bit.2130-5

Jika Anda ingin mengurangi jumlah keacakan dan tidak terlalu peduli tentang kepraktisan, Anda dapat melihat makalah penelitian berikut:

  • Hashing dan Otentikasi berbasis LFSR. Hugo Krawczyk. CRYPTO 1994.

Krawczyk menjelaskan skema untuk mengurangi jumlah keacakan pada dasarnya dengan membiarkan menjadi baris ke- dari sebuah matriks Toeplitz. Namun, skema Krawczyk bekerja lebih dari , bukan modulo .SebuahsayasayaGF(2b)2b

DW
sumber
1
Saya menghargai referensi Anda, tetapi jawaban ini tidak menjawab pertanyaan.
jbapple