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

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

Постановка править

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

 

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

Пример править

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

 

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

Вычислительная сложность править

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

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

Применение править

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

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

Безопасность править

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

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

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

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

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

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

 

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

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

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

пусть   — расхождение[англ.] множества   или, другими словами, отклонение распределения значений псевдослучайной функции от равномерного распределения. Было показано, что если   — это битовая длина  , тогда для всех векторов    справедливо неравенство  , где[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.