Изменения

Перейти к: навигация, поиск

Универсальное семейство хеш-функций

1711 байт добавлено, 00:09, 11 июня 2013
Нет описания правки
<tex>y \equiv (al+b)</tex> <tex>mod</tex> <tex>p</tex> <tex>mod</tex> <tex>m</tex>
что можно записать в таком видеВыразим отсюда <tex>a</tex> и <tex>b</tex>. Вычтя из первого уравнения второе, получим:
<tex>x \equiv ak+b+im- y = a(k - l)</tex> <tex>mod</tex> <tex>\pmod p</tex> <tex>mod</tex> <tex>m</tex>
Теперь сначала первое домножим на <tex>y \equiv al+b+jml</tex> , и второе на <tex>\pmod pk</tex>,. Вычитаем:
где <tex> 0 \le i, j lx - ky = b(l - k)< \frac{/tex> <tex>mod</tex> <tex>p}{</tex> <tex>mod</tex> <tex>m} </tex>.
Стоит отметить, что эту систему считаем верной если '''при каких-либо''' <tex>i</tex> и <tex>j</tex> входящие в неё равенства будут верными.Теперь запишем это иначе:
Выразим отсюда <tex>x - y \equiv a(k - l)+im</tex> и <tex>b\pmod p</tex>. Вычтя из первого уравнения второе получим
<tex>x lx - y ky \equiv ab(l - k - l)+jm</tex> <tex>mod</tex> <tex>p</tex> <tex>\pmod mp</tex>,
Теперь сначала первое домножим на где <texdpi = "135">l</tex>0 \le i, и второе на j <tex>k\lfloor \frac{p}{m} \rfloor </tex>; вычитая получим.
Стоит отметить, что эти равенства мы считаем выполненными, если при данных <tex>lx - ky \equiv a, b(l - k), x</tex> и <tex>mody</tex> и '''каких-либо''' <tex>pi</tex> и <tex>\pmod mj</tex>они будут верными.
<tex>k \ne l</tex>, <tex>p</tex> {{---}} простое, тогда
 
<tex>a \equiv (k - l)^{-1}(x - y - im)</tex> <tex>\pmod p</tex>
 
<tex>b \equiv (l - k)^{-1}(lx - ky - jm)</tex> <tex>\pmod p</tex>
 
Теперь заметим, что <tex>a</tex> принимает <tex>p</tex> различных значений, а <tex>i</tex> {{---}} <tex dpi = "130">\lfloor \frac{p}{m} \rfloor</tex> значений. Понятно, что для заданных <tex>x, y</tex> и <tex>a</tex> с вероятностью лишь <tex dpi = "130"> \frac{1}{m} </tex> найдётся <tex>i</tex>, обращающий равенство в тождество; аналогично и со вторым равенством.
 
Остаётся подытожить наши выкладки.
 
<tex>P( [x \equiv (ak+b)</tex> <tex>mod</tex> <tex>p</tex> <tex>mod</tex> <tex>m]</tex> <tex>\wedge</tex> <tex>[y \equiv (al+b)</tex> <tex>mod</tex> <tex>p</tex> <tex>mod</tex> <tex>m])</tex>
<tex>=</tex>
 
<tex>=</tex>
<tex>P( [a \equiv (k - l)^{-1}(x - y - im)</tex> <tex>\pmod p]</tex> <tex>\wedge</tex> <tex>[a \equiv (k - l)^{-1}(x - y - im)</tex> <tex>\pmod p])</tex>
<tex>=</tex>
 
<tex>=</tex>
<tex>P( a \equiv (k - l)^{-1}(x - y - im)</tex> <tex>\pmod p)</tex> <tex>\cdot</tex> <tex>P(a \equiv (k - l)^{-1}(x - y - im)</tex> <tex>\pmod p)</tex>
<tex>=</tex>
 
<tex>=</tex>
<tex dpi = "130">\frac{1}{m} \cdot \frac{1}{m} = \frac{1}{m^2}</tex>
 
Переход к третьей строчке объясняется тем, что события, объединённые знаком <tex>\wedge</tex>, независимы.
}}
308
правок

Навигация