Эта статья входит в число добротных статей

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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Псевдослучайная функция Наора — Рейнгольда — псевдослучайная функция[en], введённая в 1997 году Мони Наором[en] и Омером Рейнгольдом[en] для построения различных криптографических примитивов в симметричном шифровании и криптографии с открытым ключом[1]. Отличительными особенностями данной псевдослучайной функции являются низкая вычислительная сложность[⇨] и высокая криптографическая стойкость[⇨]. Данные свойства вместе с тем фактом, что распределение значений данной функции близко к равномерному[⇨], позволяют использовать ее в качестве основы для многих криптографических схем[⇨].

Постановка[править | править код]

В криптографии под семейством псевдослучайных функций понимают набор функций (которые могут быть эффективно вычислены за полиномиальное время), обладающих следующим свойством: злоумышленник не может эффективно найти какое-либо существенное различие между поведением функции из данного семейства и истинной случайной функции[2]. Пусть  — это -битное простое число,  — простое число, являющееся делителем , а , — некоторый элемент с мультипликативным порядком по модулю . Тогда функция Наора — Рейнгольда определяется некоторым -мерным вектором над полем и равна:

где  — это двоичное представление целого числа , с добавлением ведущих нулей, если это необходимо[3].

Пример[править | править код]

Пусть и . В качестве с мультипликативным порядком можно выбрать . Тогда при , и функция вычисляется как

Так как двоичное представление числа  — это .

Вычислительная сложность[править | править код]

Построение псевдослучайной функции Наора — Рейнгольда требует умножений по модулю и одно возведение в степень по модулю , которое может быть сделано за умножений по этому модулю[1][4].

Для схемной сложности[en] данной функции было показано, что существует такой полином , что для любого , может быть реализована схемой из пороговых элементов глубины и размера, не превышающего . Это означает, что функции Наора — Рейнгольда принадлежит классу TC0[en] в терминах булевых схем[en][1].

Применение[править | править код]

Псевдослучайная функция Наора — Рейнгольда может быть использована в качестве основы многих криптографических схем, включая симметричное шифрование, аутентификацию и электронные подписи[5][2].

Также было показано, что данная функция может быть использована в[6]:

Безопасность[править | править код]

Псевдослучайная функция Наора — Рейнгольда имеет высокую криптографическую стойкость. Пусть злоумышленнику известны значения функции в нескольких точках: и ему необходимо вычислить . Если , то чтобы получить , злоумышленнику необходимо решить задачу Диффи — Хеллмана[en] для и . Но по предположению о сложности Диффи — Хеллмана[en] не существует эффективного алгоритма, способного решить данную задачу[1].

Поток чисел, генерируемый псевдослучайной функцией, также должен быть непредсказуемым, то есть, он должен быть неотличим от совершенно случайного набора чисел. Пусть обозначает алгоритм, имеющий доступ к оракулу, который вычисляет . Предположим, что предположение Диффи — Хеллмана[en] выполняется для . Тогда для любого вероятностного полиномиального алгоритма и достаточно большого выполнено[7]:

, где  — пренебрежимо мало.

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

Линейная сложность[править | править код]

Одним из естественных показателей того, насколько последовательность может быть полезной для криптографических целей, является её линейная сложность. Линейная сложность -элементной последовательности , над кольцом  — это длина кратчайшего линейного рекуррентного соотношения , где [3][8]. Для функции Наора — Рейнгольда было показано, что существуют такие и , что для любого и достаточно большого линейная сложность последовательности , , удовлетворяет следующему неравенству[3]:

для всех, кроме не более чем векторов .

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

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

пусть  — расхождение[en] множества или, другими словами, отклонение распределения значений псевдослучайной функции от равномерного распределения. Было показано, что если  — это битовая длина , тогда для всех векторов справедливо неравенство , где[9]:

и .

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

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

Анализ этой функции на эллиптической кривой позволяет улучшить криптографическую стойкость соответствующей системы. Пусть  — простое число и  — эллиптическая кривая над . Тогда любой вектор определяет конечную последовательность в циклической группе , где  — битовое представление , , — некоторый элемент на с мультипликативным порядком , а  — это операция возведения элемента в степень относительно групповой операции в абелевой группе -рациональных точек эллиптической кривой[10]. В таких обозначениях последовательность Наора — Рейнгольда на эллиптической кривой определяется как , где  обозначает абсциссу точки [8].

Если предположение Диффи — Хеллмана выполнено, то индекса не достаточно для вычисления за полиномиальное время. Для эллиптической кривой Наора — Рейнгольда было показано, что существуют такие и , что для любого и достаточно большого линейная сложность последовательности удовлетворяет следующему неравенству[8]:

для всех, кроме не более чем векторов .

См. также[править | править код]

Примечания[править | править код]

  1. 1 2 3 4 Moni Naor, Omer Reingold. Number-theoretic constructions of efficient pseudo-random functions // Journal of the ACM. — 2004-03-01. — Т. 51, вып. 2. — С. 231–262. — ISSN 0004-5411. — doi:10.1145/972639.972643.
  2. 1 2 Thierry Mefenza Nountu. Pseudo-random generators and pseudo-random functions : cryptanalysis and complexity measures (англ.). — 2017-11-28. Архивировано 28 ноября 2019 года.
  3. 1 2 3 Igor E. Shparlinski. Linear complexity of the Naor–Reingold pseudo-random function // Information Processing Letters. — 2000-12. — Т. 76, вып. 3. — С. 95–99. — ISSN 0020-0190. — doi:10.1016/s0020-0190(00)00133-2.
  4. Ernest F. Brickell, Daniel M. Gordon, Kevin S. McCurley, David B. Wilson. Fast Exponentiation with Precomputation (англ.) // Advances in Cryptology — EUROCRYPT’ 92 / Rainer A. Rueppel. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1993. — Vol. 658. — P. 200–207. — ISBN 978-3-540-56413-3. — doi:10.1007/3-540-47555-9_18.
  5. Aggelos Kiayias, Stavros Papadopoulos, Nikos Triandopoulos, Thomas Zacharias. Delegatable pseudorandom functions and applications // Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security - CCS '13. — New York, New York, USA: ACM Press, 2013. — ISBN 978-1-4503-2477-9. — doi:10.1145/2508859.2516668.
  6. Oded Goldreich, Shafi Goldwasser, Silvio Micali. On the Cryptographic Applications of Random Functions (Extended Abstract) (англ.) // Advances in Cryptology / George Robert Blakley, David Chaum. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1985. — Vol. 196. — P. 276–288. — ISBN 978-3-540-15658-1. — doi:10.1007/3-540-39568-7_22.
  7. Algorithmic number theory : third international symposium, ANTS-III, Portland, Oregon, USA, June 21-25, 1998 : proceedings. — Berlin: Springer, 1998. — x, 640 pages с. — ISBN 3-540-64657-4, 978-3-540-64657-0.
  8. 1 2 3 Marcos Cruz, Domingo Gómez, Daniel Sadornil. On the linear complexity of the Naor–Reingold sequence with elliptic curves // Finite Fields and Their Applications. — 2010-09. — Т. 16, вып. 5. — С. 329–333. — ISSN 1071-5797. — doi:10.1016/j.ffa.2010.05.005.
  9. 1 2 Igor E. Shparlinski. On the Uniformity of Distribution of the Naor–Reingold Pseudo-Random Function // Finite Fields and Their Applications. — 2001-04. — Т. 7, вып. 2. — С. 318–326. — ISSN 1071-5797. — doi:10.1006/ffta.2000.0291.
  10. Igor E. Shparlinski, Joseph H. Silverman. On the Linear Complexity of the Naor–Reingold Pseudo-random Function from Elliptic Curves (англ.) // Designs, Codes and Cryptography. — 2001-12-01. — Vol. 24, iss. 3. — P. 279–289. — ISSN 1573-7586. — doi:10.1023/A:1011223204345.