Майже універсальний хешинг струн


9

Ось два сімейства хеш-функцій на рядках x=x0x1x2xm:

  1. Для p прайм і xiZp, ha1(x)=aiximodpдля aZp . Dietzfelbinger та ін. показано в "Поліномічні хеш-функції надійні", що xy,Pa(ha1(x)=ha1(y))m/p .

  2. Для , для a_i \ in \ mathbb {Z} _ {2 ^ {2b}} . Лемір і Касер показали в "Сильно універсальному стягуванні рядків швидко", що ця сім'я є незалежною від 2-х. Це означає, що \ forall x \ neq y, P_ \ vec {a} (h ^ 2_ \ vec {a} (x) = h ^ 2_ \ vec {a} (y)) = 2 ^ {- b}xiZ2bha=a0a1a2am+12(x)=(a0+ai+1ximod22b)÷2baiZ22bxy,Pa(ha2(x)=ha2(y))=2b

h1 використовує лише lgp біти простору і біти випадковості, тоді як h2 використовує 2bm+2b біт простору і біти випадковості. З іншого боку, h2 працює над Z22b , що швидко на фактичних комп'ютерах.

Я хотів би знати, які інші сімейства хешу майже універсальні (як h1 ), але оперують над Z2b (як h2 ), і використовують o(m) простір і випадковість.

Чи існує така хеш-сім'я? Чи можна оцінювати її членів за O(m) час?

Відповіді:


5

Так. Вегман та Картер "Нові хеш-функції та їх використання в аутентифікації та встановлення рівності" ( дзеркало ) показує схему, що відповідає заявленим вимогам (майже універсальна, над , підлінійний простір та випадковість, лінійна оцінка час), заснований на невеликій кількості хеш-функцій, виведених із сильно універсальної родини.Z2б

Іноді це називають "хешування дерева", і воно використовується в "Badger - швидкий і доказливо безпечний MAC" Boesgaard та ін .


-1

Якщо ви хочете чогось швидкого і що ви можете використовувати на практиці, ви можете переглянути криптографічну літературу. Наприклад, poly1305 і UMAC швидкі, і є багато інших. Оскільки 2-універсальні хеші корисні для криптографії, криптографи вивчали багато конструкцій та виявили надзвичайно ефективні.

Poly1305 працює як ваш перший тип хешу (називається хеш-кодом оцінки полінома ), працюючи за модулем . Схема показує розумні хитрощі, щоб зробити цей пробіг дуже швидко на сучасному комп’ютері. Кількість випадкових випадків невелика: 128 біт.2130-5

Якщо ви хочете зменшити кількість випадкових випадків і не так сильно дбаєте про практичність, ви можете подивитися наступний дослідний документ:

  • Hashing та автентифікація на основі LFSR. Гюго Кравчик. CRYPTO 1994.

Кравчик описує схему , щоб зменшити кількість випадковості в основному, дозволяючи бути й рядком матриці Теплиці. Однак схема Кравчика працює над , а не арифметичним модулем .аiiГЖ(2б)2б


1
Я ціную ваші посилання, але ця відповідь не стосується питання.
jbapple
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.