Псевдослучайная функция Наора — Рейнгольда
Псевдослучайная функция Наора — Рейнгольда — псевдослучайная функция[en], введённая в 1997 году Мони Наором[en] и Омером Рейнгольдом[en] для построения различных криптографических примитивов в симметричном шифровании и криптографии с открытым ключом[1]. Отличительными особенностями данной псевдослучайной функции являются низкая вычислительная сложность[⇨] и высокая криптографическая стойкость[⇨]. Данные свойства вместе с тем фактом, что распределение значений данной функции близко к равномерному[⇨], позволяют использовать ее в качестве основы для многих криптографических схем[⇨].
ПостановкаПравить
В криптографии под семейством псевдослучайных функций понимают набор функций (которые могут быть эффективно вычислены за полиномиальное время), обладающих следующим свойством: злоумышленник не может эффективно найти какое-либо существенное различие между поведением функции из данного семейства и истинной случайной функции[2]. Пусть — это -битное простое число, — простое число, являющееся делителем , а , — некоторый элемент с мультипликативным порядком по модулю . Тогда функция Наора — Рейнгольда определяется некоторым -мерным вектором над полем и равна:
где — это двоичное представление целого числа , с добавлением ведущих нулей, если это необходимо[3].
ПримерПравить
Пусть и . В качестве с мультипликативным порядком можно выбрать . Тогда при , и функция вычисляется как
Так как двоичное представление числа — это .
Вычислительная сложностьПравить
Построение псевдослучайной функции Наора — Рейнгольда требует умножений по модулю и одно возведение в степень по модулю , которое может быть сделано за умножений по этому модулю[1][4].
Для схемной сложности[en] данной функции было показано, что существует такой полином , что для любого , может быть реализована схемой из пороговых элементов глубины и размера, не превышающего . Это означает, что функции Наора — Рейнгольда принадлежит классу TC0[en] в терминах булевых схем[en][1].
ПрименениеПравить
Псевдослучайная функция Наора — Рейнгольда может быть использована в качестве основы многих криптографических схем, включая симметричное шифрование, аутентификацию и электронные подписи[5][2].
Также было показано, что данная функция может быть использована в[6]:
- динамически идеальном хешировании[en]: даже если злоумышленник может изменить распределение ключей в зависимости от значений, которые функция хеширования присвоила предыдущим ключам, он не сможет умышленно вызвать коллизии.
- построении схем аутентификации на основе имитовставки, которые надёжно защищены от атак.
- выдаче статичных идентификационных номеров, которые могут быть проверены устройствами, располагающими лишь небольшим объёмом памяти.
- построении систем радиолокационного опознавания.
БезопасностьПравить
Псевдослучайная функция Наора — Рейнгольда имеет высокую криптографичекую стойкость. Пусть злоумышленнику известны значения функции в нескольких точках: и ему необходимо вычислить . Если , то чтобы получить , злоумышленнику необходимо решить задачу Диффи — Хеллмана[en] для и . Но по предположению о сложности Диффи — Хеллмана[en] не существует эффективного алгоритма, способного решить данную задачу[1].
Поток чисел, генерируемый псевдослучайной функцией, также должен быть непредсказуемым, то есть, он должен быть неотличим от совершенно случайного набора чисел. Пусть обозначает алгоритм, имеющий доступ к оракулу, который вычисляет . Предположим, что предположение Диффи — Хеллмана[en] выполняется для . Тогда для любого вероятностного полиномиального алгоритма и достаточно большого выполнено[7]:
, где — пренебрежимо мало.
Первая вероятность равна доле наборов , на которых алгоритм выдаёт единицу, а вторая получается из случайного выбора пары и функции среди множества всех функций .
Линейная сложностьПравить
Одним из естественных показателей того, насколько последовательность может быть полезной для криптографических целей, является её линейная сложность. Линейная сложность -элементной последовательности , над кольцом — это длина кратчайшего линейного рекуррентного соотношения , где [3][8]. Для функции Наора — Рейнгольда было показано, что существуют такие и , что для любого и достаточно большого линейная сложность последовательности , , удовлетворяет следующему неравенству[3]:
для всех, кроме не более чем векторов .
Равномерность распределенияПравить
Статистическое распределение экспоненциально близко к равномерному распределению почти для всех векторов :
пусть — расхождение[en] множества или, другими словами, отклонение распределения значений псевдослучайной функции от равномерного распределения. Было показано, что если — это битовая длина , тогда для всех векторов ∈ справедливо неравенство , где[9]:
- и .
Это свойство не имеет непосредственного криптографического значения, но если бы оно не было выполнено, это могло бы повлечь катастрофические последствия для применения функции[9].
Последовательности на эллиптической кривойПравить
Анализ этой функции на эллиптической кривой позволяет улучшить криптографическую стойкость соответствующей системы. Пусть — простое число и — эллиптическая кривая над . Тогда любой вектор определяет конечную последовательность в циклической группе , где — битовое представление , , — некоторый элемент на с мультипликативным порядком , а — это операция возведения элемента в степень относительно групповой операции в абелевой группе -рациональных точек эллиптической кривой[10]. В таких обозначениях последовательность Наора — Рейнгольда на эллиптической кривой определяется как , где обозначает абсциссу точки [8].
Если предположение Диффи — Хеллмана выполнено, то индекса не достаточно для вычисления за полиномиальное время. Для эллиптической кривой Наора — Рейнгольда было показано, что существуют такие и , что для любого и достаточно большого линейная сложность последовательности удовлетворяет следующему неравенству[8]:
для всех, кроме не более чем векторов .
См. такжеПравить
ПримечанияПравить
- ↑ 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.
- ↑ 1 2 Thierry Mefenza Nountu. Pseudo-random generators and pseudo-random functions : cryptanalysis and complexity measures (англ.). — 2017-11-28. Архивировано 28 ноября 2019 года.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
Эта статья входит в число добротных статей русскоязычного раздела Википедии. |