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

В математике простое число Солинаса или обобщенное простое число Мерсенна - это простое число , имеющее форму , где - многочлен низкой степени с малыми целыми коэффициентами . [1] [2] Эти простые числа позволяют выполнять алгоритмы быстрого модульного сокращения и широко используются в криптографии .

Этот класс чисел включает несколько других категорий простых чисел:

  • Простые числа Мерсенна , которые имеют форму ,
  • Простые числа Крэндалла или псевдо-Мерсенна, которые имеют форму малых нечетных чисел . [3]

Модульный алгоритм сокращения [ править ]

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

Сначала изобразите в базе :

Далее, генерировать матрицу с размерностью матрицы путем шаговый раза линейного регистра сдвига с обратными связями, определенных над многочленом : начиная с целочисленным регистра , сдвига вправо на одну позицию, инъекционные слева и добавления (покомпонентно) выходное значение раза в вектор на каждом шаге (подробнее см. [1]). Пусть будет целым числом в -м регистре на -м шаге и обратите внимание, что первая строка имеет значение . Тогда, если мы обозначим целочисленным вектором, заданным как:

,

легко проверить, что:

.

Таким образом представляет собой -битовое целое число, конгруэнтное .

Для разумного выбора (опять же, см. [1]) этот алгоритм включает только относительно небольшое количество сложений и вычитаний (и никаких делений!), Поэтому он может быть намного более эффективным, чем наивный алгоритм модульного сокращения ( ).

Примеры простых чисел Солинаса [ править ]

Четыре из рекомендуемых простых чисел в документе NIST «Рекомендуемые эллиптические кривые для использования федеральным правительством» являются простыми числами Солина:

  • п-192
  • п-224
  • п-256
  • п-384

Curve448 использует простое число Солинаса

См. Также [ править ]

Ссылки [ править ]

  1. ^ Солинас, Джером А. (1999). Обобщенные числа Мерсенна (PDF) (Технический отчет). Центр прикладных криптографических исследований Университета Ватерлоо. CORR-99-39.
  2. ^ Солинас, Джером А. (2011). «Обобщенное прайм Мерсенна». В Тилборге, фургон Хенк Калифорния; Jajodia, Sushil (ред.). Энциклопедия криптографии и безопасности . Springer США. стр.  509 -510. DOI : 10.1007 / 978-1-4419-5906-5_32 . ISBN 978-1-4419-5905-8.
  3. ^ Патент США 5159632 , Ричард Э. Crandall, «Способ и устройство для обмена открытого ключа в криптографической системе», выданного 1992-10-27, назначен NeXT Computer, Inc.