Изменения

Перейти к: навигация, поиск
Нет описания правки
=={{Определение|definition==<tex> H_{n, k} = \{ h | h: 2^n \to 2^k \}</tex> называется '''семейством универсальных попарно независимых хеш-функций''', если для <tex> \forall x_1, x_2 \in 2^n, x_1 \ne x_2</tex> и <tex> \forall y_1, y_2 \in 2^k</tex> и равномерной выборки функции <tex> h \in H_{n, k} </tex> будет выполнено <tex>P(h(x_1) = y_1 \land h(x_2) = y_2) = \frac{1}{2^{2k}}</tex>}}
=={{Лемма|statement==Для любого <tex>n \in N </tex> существует <tex>H_{n, n}</tex>|proof= Рассмотрим функцию <tex> h_{a, b} = ((ax+b)\ mod\ p)\ mod\ 2^n</tex> для простого <tex>p \in (2^n; 2^{n+1}]</tex>, любых <tex>a, b \in \mathbb{Z}_p</tex>, <tex>a \ne 0</tex>
===Доказательство===Функция Для <tex>h_{a, r=(ax_1+b} )\in H_{n, n}mod\ p</tex>, где и <tex> h_{a, b} s= (axax_2+b)</tex> в поле <tex> \mathbb{F}_{2n}</tex> для любых <tex>a, b mod\in Np</tex>
<tex> P(r =r_1 \land s =Теорема=s_1)=Для любых <tex>n, k \in Nfrac{1}{p^2}</tex> существует , где <tex>H_{nr_1, k}s_1 \in [0; p)</tex>.
===Доказательство===Раз <tex>p \in (2^n; 2^{n+1}]</tex>, то можно записать следующую оценку:
<tex>\frac{1}{p^2} \left(\frac{p}{2^n} \right)^2 \leqslant P(r\ mod\ 2^n = y_1 \land s\ mod\ 2^n=y_2) \leqslant \frac{1}{p^2} \left( \frac{p}{2^n}+1 \right)^2 </tex> <tex> P(h(x_1)=y_1 \land h(x_2)=y_2) = \frac{1}{2^{2n}}</tex> <tex>h_{a, b} \in H_{n, n}</tex>}}  {{Теорема|statement=Для любых <tex>n, k \in N</tex> существует <tex>H_{n, k}</tex>|proof=Построим <tex>H_{n, k}</tex> следующим образом:
При <tex>n=k</tex> существование <tex>H_{n, k}</tex> следует из леммы.
При <tex>n < > k </tex> получим переменную <tex> x' </tex> обрезав первые <tex>n-k</tex> бит переменной <tex>x</tex>. Тогда для переменной <tex>x'</tex> существует <tex>H_{nk, nk}</tex>, а для <tex>x</tex> - соответственно <tex>H_{n, k}</tex>. При <tex>n < k </tex> Сперва получим <tex>H_{k, k}</tex>. <tex>H_{n, k}</tex> можно получить отбросив у значений хеш-функций из <tex>H_{k, k}</tex> первые <tex>n-k</tex> бит.}} == См. также ==*[[Универсальное семейство хеш-функций]]== Источники ==*[https://ru.wikipedia.org/wiki/%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%85%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 Wikipedia - Универсальное хеширование]
При <tex>n > k </tex> получим <tex>H_{k, k}</tex>. <tex>H_{n, k}</tex> можно получить, обрезав значение хеш-функции из <tex>H_{k, k}</tex>, на первые <tex>n-k</tex> бит.[[Категория: Хеширование]]
48
правок

Навигация