Помощь в написании студенческих работ
Антистрессовый сервис

Алгоритм построения сильно простого числа

РефератПомощь в написанииУзнать стоимостьмоей работы

Во многих приложениях возникает необходимость строить простые числа с дополнительными условиями. Дадим следующее определение. Нижняя граница для числа s определяется исходя из криптографических требований к конкретной системе защиты информации. В 1979 году Хью Вильямс (Hugh Williams) и Бренд Шмидт (Brend Schmid) предложили алгоритм, вариант которого мы приведем далее. Если r > y/q, то мы можем… Читать ещё >

Алгоритм построения сильно простого числа (реферат, курсовая, диплом, контрольная)

Во многих приложениях возникает необходимость строить простые числа с дополнительными условиями. Дадим следующее определение.

Определение 13.1. Мы будем называть нечетное простое число р сильно простым, если найдутся нечетные простые числа q, s и г такие, что

что равносильно равенствам.

что равносильно равенствам.

для некоторых четных чисел г, j. а.

для некоторых четных чисел г, j. а.

Как следует из ряда изложенных нами методов компрометации схемы RSA, см. раздел 10.1.1, произведение сильно простых чисел должно образовывать модуль схемы RSA.

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

В 1979 году Хью Вильямс (Hugh Williams) и Бренд Шмидт (Brend Schmid) предложили[1] алгоритм, вариант которого мы приведем далее.

Предположим, что мы построили два простых числа г, s и хотим построить оставшиеся два простых числа р и q так, чтобы выполнялись сравнения (13.9). Для этого зафиксируем целое число а ^ 1, определим наименьшее положительное целое число х такое, что х = -(mods), и будем искать простое число q в арифметической прогрессии.

Алгоритм построения сильно простого числа.

используя для этого алгоритм, аналогичный алгоритму 13.4.

Тогда, если число р = Ъщ + 1 будет простым, то оно же будет и сильно простым — это вытекает из сравнения.

Алгоритм построения сильно простого числа.

Если r > y/q, то мы можем воспользоваться теоремой Лемера для доказательства простоты как числа q, так и числа р.

Если а — 1, то простое число р удовлетворяет равенству р = 2q + I. Простые числа р и г/, удовлетворяющие этому равенству, называются простыми-близнецами, и встречаются достаточно редко. Поэтому при практических вычислениях необходимо выбирать а достаточно большим.

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

Алгоритм построения сильно простого числа.

для некоторых целых A, D таких, что D > А + 2а. Поскольку для выполнения условий теоремы Лсмсра нам необходимо выполнение условия q > у/p, мы получаем оценку на величину а сверху, а именно Алгоритм построения сильно простого числа.

Теперь зафиксируем некоторое значение а, обозначим.

Алгоритм построения сильно простого числа.

и зафиксируем оценки на величину г. Для выполнимости условий теоремы Лемера положим.

Алгоритм построения сильно простого числа.

тогда должно выполняться 5= г ^ га для некоторого действительного параметра а > 1.

Поскольку Яа ^ Я = {Is + x) r + 1 ^ яв, Для некоторого I € N, то мы получаем неравенство, которое задет ограничения сверху и снизу на размер перебираемого параметра I:

Алгоритм построения сильно простого числа.

Исходя из того что перебираемый интервал не должен быть пустым, мы получим оценку сверху на параметр а. Действительно, указанный интервал не пуст при а < < В~^а ? При практических вычислениях мы можем использовать значение, а = ^ .

Исходя из неравенства (13.11), получаем оценки для I

Алгоритм построения сильно простого числа.

а также оценку на s сверху. Поскольку в силу построения выполнено «>х>0и!^1, то мы получаем неравенство.

Алгоритм построения сильно простого числа.

откуда следует неравенство s < larjJ > которое мы будем использовать для верхней оценки s. Для нижней оценки будем использовать величину5 |" у/sa'.

Таким образом, для построения строго простого числа р такого, что А < р < В, и простых чисел q, r, s, участвующих в определении 13.1, необходимо выполнить следующую последовательность действий.

1. По заданным значениям А, В выбрать случайным образом четную величину а из интервала 1 < а < |Ц=.

'Нижняя граница для числа s определяется исходя из криптографических требований к конкретной системе защиты информации.

  • 2. Вычислить величины ца, Чв, определяемые равенствами
  • (13.10), величину, а = ~1 и величину гА =
  • 3. Используя алгоритм 13.4, построить простые число г, s, удовлетворяющие неравенствам
Алгоритм построения сильно простого числа.
  • 4. Определить х = — (mod .s).
  • 5. Перебирая целые значения I в интервале (13.12), вычислить простые числа
Алгоритм построения сильно простого числа.

Для доказательства простоты чисел р, q достаточно использовать теорему Лемера.

Мы предлагаем читателю самостоятельно, основываясь на алгоритме 13.4, разработать детальное описание алгоритма построения сильно простого числа.

  • [1] См. Williams Н.С. and Schmid В. Some remarks cocerning the MIT public-keycryptosystem // BIT. — Vol. 19. — 1979. -pp. 525−538.
Показать весь текст
Заполнить форму текущей работой