Псевдослучайная функция Наора — Рейнгольда: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
Создана новая страница
(нет различий)

Версия от 21:08, 17 ноября 2019

В 1997 году Мони Наор и Омер Рейнгольд описали эффективные конструкции для различных криптографических примитивов как для симметричного шифрования, так и для криптографии с открытым ключом. Результатом их работы является построение эффективной псевдослучайной функции. Пусть p и l простые числа, и l является делителем p−1. Возьмем элемент g, который является показателем числа l по модулю p. Тогда для каждого n+1 - мерного вектора a = (a0,a1, ..., an)∈ определена функция:

где x = x1xn - это двоичное представление целого числа x, 0 ≤ x ≤ 2n−1, с добавлением ведущих нулей, если это необходимо. Данная функция называется псевдослучайной функцией Наора – Рейнгольда.[1]

Пример

Пусть p = 7 и l = 3. Видно, что l является делителем p−1. g, показатель l по модулю p, равен 4 (т.к 43 = 64 ≡ 1 mod 7). Возьмем n = 3, a = (1, 1, 2, 1) и x = 5 (двоичное представление 5 - 101), тогда вычисляется следующим образом:

Сложность вычисления псевдослучайной функции

Вычисление псевдослучайной функции Наора – Рейнгольда может быть произведено очень эффективно. По сложности оно сравнимо с n раз умножением по модулю и одним возведением в степень по модулю . Эти операции могут быть произведены параллельно вентельными схемами ограниченной глубины, с полиномиальным количеством пороговых вентелей. Таким образом, функция Наора-Рейнгольда может быть использована в качестве основы многих криптографических схем, включая симметричное шифрование, аутентификацию и электронные подписи.

Безопасность псевдослучайной функции

Предположим, что злоумышленник видит несколько выходов функции, например, ... и хочет вычислить . Предположим для простоты, что x1 = 0, тогда, чтобы получить , злоумышленник столкнется с так называемым вычислительным предположением Диффи – Хеллмана для и , которое включает в себя проблему дискретного логарифмирования в циклических группах.

Как правило, переход от k к k + 1 изменяет битовую комбинацию , и если k + 1 не является степенью 2, можно разделить показатель степени на , для того, чтобы вычисление соответствовало бы вычислению ключа Диффи-Хеллмана между двумя сторонами. Таким образом, с проблемой взлома можно бороться работая в группах с более высокой криптографической стойкостью, которая в свою очередь определяется вычислительной сложностью задачи дискретного логарифмирования.

Пример: Предположим злоумышленник видит несколько выходов функции, например, , как в предыдущем примере, и и хочет предсказать следующий элемент последовательности этой функции, . Однако для того, чтобы предсказать исход , зная и , нужно, как было сказанно выше, решить задачу дискретного логарифмирования.

Также важно отметить, что так как пользователь ожидает получить случайные числа, поток чисел генерируемый псевдослучайной функцией должен быть непредсказуемым, более того, он должен быть неотличим от совершенно случайного набора чисел. Пусть обозначает алгоритм, который позволяет выдавать значение функции . Предположим, что предположение Диффи – Хеллмана выполняется для . Наор и Рейнгольд показывают, что для каждого вероятностного алгоритма полиномиального времени и достаточно большого n:

, где - мало.

Первая вероятность выбирается согласно выбранному набору чисел s = (p, g, a) а вторая вероятность выбирается согласно случайному распределению, полученному на p, g из , и случайному выбору функции среди множества всех функций функций.[2]. Фактически, это означает то, что поток чисел генерируемых псевдослучайной функцией с высокой долей вероятности будет неотличим от совершенно случайного набора чисел.

Линейная сложность

Одним естественным показателем того, насколько последовательность может быть полезной для криптографических целей, является размер ее линейной сложности. Линейная сложность n - элементной последовательности W(x), x = 0,1,2,…, n – 1, над кольцом – это длина l кратчайшего линейного рекуррентного соотношения W(x + l) = Al−1 W(x +l−1) + … + A0 W(x), x = 0,1,2,…, n(l - 1), где A0, …, Al−1.

В работе [3] было показано, что существуют такие > 0 и n ≥ (1+ ) , что для любого и достаточно большого l линейная сложность последовательности ,0 ≤ x ≤ 2n-1 удовлетворяет следующему неравенству:

для всех, кроме, возможно, максимум векторов a ∈ . Ограничения, использованные в данной теореме, не позволяют использовать ее для одного интересного случая, когда

Равномерность распределения

Статистическое распределение экспоненциально близко к равномерному распределению почти для всех векторов a.

Пусть расхождение множества или, другими словами, отклонение распределения значений псевдослучайной функции от равномерного распределения. Таким образом, если – это битовая длина p, тогда для всех векторов a ∈ справедливо неравенство , где:

и

Хотя это свойство, по-видимому, не имеет непосредственного криптографического значения, обратный факт, а именно неравномерное распределение,если оно истинно, будет иметь катастрофические последствия для применений этой функции.[4]

Последовательности на эллиптической кривой

Эллиптическая кривая этой функции также представляет интерес, так как ее использование помогает улучшить криптографическую стойкость соответствующей системы. Пусть p > 3 простое и пускай E - эллиптическая кривая над , тогда каждый вектор a определяет конечную последовательность в подгруппе как:

где это битовое представление .

Тогда последовательность эллиптической кривой Наора – Рейнгольда определяется как:

, где это абсцисса [5]

Если предположение Диффи – Хеллмана выполнено, то было показано, что индекса k не достаточно для вычисления за полиномиальное время.

См. также

Примечания

  1. Naor, M., Reingold, O. "Number-theoretic constructions of efficient pseudo-random functions," Proc 38th IEEE Symp. on Foundations of Comp. Sci, (1997), 458–467.
  2. Boneh, Dan. "The Decision Diffie–Hellman Problem,"ANTS-III: Proceedings of the Third International Symposium on Algorithmic Number Theory,1998,48–63.
  3. Shparlinski, Igor E. "Linear Complexity of the Naor–Reingold pseudo-random function," Inform. Process Lett, 76 (2000), 95–99.
  4. Shparlinski, Igor E. "On the uniformity of distribution of the Naor–Reingold pseudo-random function," Finite Fields and Their Applications, 7 (2001), 318–326
  5. Cruz, M., Gomez, D., Sadornil, D. "On the linear complexity of the Naor–Reingold sequence with elliptic curves," Finite Fields and Their Applications, 16 (2010), 329–333

Ссылки

  • Naor, Moni; Reingold, Omer (2004), "Number-theoretic constructions of efficient pseudo-random functions", Journal of the Association for Computing Machinery, 51: 231—262.
  • Shparlinski, Igor (2003), Cryptographic Applications of Analytic Number Theory: Complexity Lower Bounds and Pseudorandomness (first ed.), Birkhäuser Basel, ISBN 978-3-7643-6654-4
  • Goldreich, Oded (1998), Modern Cryptography, Probabilistic Proofs and Pseudorandomness (first ed.), Springer, ISBN 978-3-540-64766-9