3.2. Нахождение больших простых чисел
Конечно же, большие простые числа можно строить сравнительно быстро. При этом можно обеспечить их случайное распределение в заданном диапазоне величин. В противном случае теряла бы всякий практический смысл система шифрования RSA. Наиболее эффективным средством построения простых чисел является несколько модифицированная малая теорема Ферма.
Теорема
2. Пусть
 - нечётные
натуральные
числа,
- нечётные
натуральные
числа,  ,
причем для
каждого простого
делителя
,
причем для
каждого простого
делителя  числа
числа  существует
целое число
существует
целое число
 такое, что
такое, что
 .	(10)
.	(10)
Тогда каждый
простой делитель
 числа
числа  удовлетворяет
сравнению
удовлетворяет
сравнению
 .
.
Доказательство.
Пусть  - простой делитель
числа
- простой делитель
числа  ,
a
,
a  - некоторый
делитель
- некоторый
делитель  .
Из условий (10)
следует, что
в поле вычетов
.
Из условий (10)
следует, что
в поле вычетов
 справедливы
соотношения
справедливы
соотношения
                     
 .               (11)
.               (11)
Обозначим
буквой  порядок элемента
порядок элемента
 в мультипликативной
группе поля
в мультипликативной
группе поля
 .
Первые два из
соотношений
(11) означают, что
.
Первые два из
соотношений
(11) означают, что
 входит в разложение
на простые
множители числа
входит в разложение
на простые
множители числа
 в степени такой
же, как и в разложение
в степени такой
же, как и в разложение
 ,
а последнее
- что
,
а последнее
- что  делится на
делится на  .
Таким образом,
каждый простой
делитель числа
.
Таким образом,
каждый простой
делитель числа
 входит в разложение
входит в разложение
 в степени не
меньшей, чем
в
в степени не
меньшей, чем
в  ,
так что
,
так что  делится на
делится на  .
Кроме того,
.
Кроме того,  четно. Теорема
2 доказана.
четно. Теорема
2 доказана.
Следствие.
Если выполнены
условия теоремы
2 и  ,
то
,
то  - простое число.
- простое число.
Действительно,
пусть  равняется
произведению
не менее двух
простых чисел.
Каждое из них,
согласно утверждению
теоремы 2, не
меньше, чем
равняется
произведению
не менее двух
простых чисел.
Каждое из них,
согласно утверждению
теоремы 2, не
меньше, чем  .
Но тогда
.
Но тогда  .
Противоречие
и доказывает
следствие.
.
Противоречие
и доказывает
следствие.
Покажем
теперь, как с
помощью последнего
утверждения,
имея большое
простое число
 ,
можно построить
существенно
большее простое
число
,
можно построить
существенно
большее простое
число  .
Выберем для
этого случайным
образом чётное
число
.
Выберем для
этого случайным
образом чётное
число  на промежутке
на промежутке
 и положим
и положим  .
Затем проверим
число
.
Затем проверим
число  на отсутствие
малых простых
делителей,
разделив его
на малые простые
числа; испытаем
на отсутствие
малых простых
делителей,
разделив его
на малые простые
числа; испытаем
 некоторое
количество
раз с помощью
алгоритма 5.
Если при этом
выяснится, что
некоторое
количество
раз с помощью
алгоритма 5.
Если при этом
выяснится, что
 - составное
число, следует
выбрать новое
значение
- составное
число, следует
выбрать новое
значение  и опять повторить
вычисления.
Так следует
делать до тех
пор, пока не
будет найдено
число
и опять повторить
вычисления.
Так следует
делать до тех
пор, пока не
будет найдено
число  ,
выдержавшее
испытания
алгоритмом
5 достаточно
много раз. В
этом случае
появляется
надежда на то,
что
,
выдержавшее
испытания
алгоритмом
5 достаточно
много раз. В
этом случае
появляется
надежда на то,
что  - простое число,
и следует попытаться
доказать простоту
с помощью тестов
теоремы 2.
- простое число,
и следует попытаться
доказать простоту
с помощью тестов
теоремы 2.
Для этого
можно случайным
образом выбирать
число  ,
и проверять
для него выполнимость
соотношений
,
и проверять
для него выполнимость
соотношений
                   
 .              (12)
.              (12)
Если при
выбранном  эти соотношения
выполняются,
то, согласно
следствию
из теоремы 2,
можно утверждать,
что число
эти соотношения
выполняются,
то, согласно
следствию
из теоремы 2,
можно утверждать,
что число  простое. Если
же эти условия
нарушаются,
нужно выбрать
другое значение
простое. Если
же эти условия
нарушаются,
нужно выбрать
другое значение
 и повторять
эти операции
до тех пор, пока
такое число
не будет обнаружено.
и повторять
эти операции
до тех пор, пока
такое число
не будет обнаружено.
Предположим,
что построенное
число  действительно
является простым.
Зададимся
вопросом, сколь
долго придётся
перебирать
числа
действительно
является простым.
Зададимся
вопросом, сколь
долго придётся
перебирать
числа  ,
пока не будет
найдено такое,
для которого
будут выполнены
условия (12). Заметим,
что для простого
числа
,
пока не будет
найдено такое,
для которого
будут выполнены
условия (12). Заметим,
что для простого
числа  первое условие
(12), согласно малой
теореме Ферма,
будет выполняться
всегда. Те же
числа
первое условие
(12), согласно малой
теореме Ферма,
будет выполняться
всегда. Те же
числа  ,
для которых
нарушается
второе условие
(12), удовлетворяют
сравнению
,
для которых
нарушается
второе условие
(12), удовлетворяют
сравнению  .
Как известно,
уравнение
.
Как известно,
уравнение  в поле вычетов
в поле вычетов
 имеет не более
имеет не более
 решений. Одно
из них
решений. Одно
из них  .
Поэтому на
промежутке
.
Поэтому на
промежутке
 имеется не
более
имеется не
более  чисел, для которых
не выполняются
условия (12). Это
означает, что,
выбирая случайным
образом числа
чисел, для которых
не выполняются
условия (12). Это
означает, что,
выбирая случайным
образом числа
 на промежутке
на промежутке
 ,
при простом
,
при простом
 можно с вероятностью
большей, чем
можно с вероятностью
большей, чем
 ,
найти число
,
найти число
 ,
для которого
будут выполнены
условия теоремы
2, и тем доказать,
что
,
для которого
будут выполнены
условия теоремы
2, и тем доказать,
что  действительно
является простым
числом.
действительно
является простым
числом.
Заметим,
что построенное
таким способом
простое число
 будет удовлетворять
неравенству
будет удовлетворять
неравенству
 ,
т. е. будет записываться
вдвое большим
количеством
цифр, чем исходное
простое число
,
т. е. будет записываться
вдвое большим
количеством
цифр, чем исходное
простое число
 .
Заменив теперь
число
.
Заменив теперь
число  на найденное
простое число
на найденное
простое число
 и повторив с
этим новым
и повторив с
этим новым  все указанные
выше действия,
можно построить
еще большее
простое число.
Начав с какого-нибудь
простого числа,
скажем, записанного
10 десятичными
цифрами (простоту
его можно проверить,
например, делением
на маленькие
табличные
простые числа),
и повторив
указанную
процедуру
достаточное
число раз. можно
построить
простые числа
нужной величины.
все указанные
выше действия,
можно построить
еще большее
простое число.
Начав с какого-нибудь
простого числа,
скажем, записанного
10 десятичными
цифрами (простоту
его можно проверить,
например, делением
на маленькие
табличные
простые числа),
и повторив
указанную
процедуру
достаточное
число раз. можно
построить
простые числа
нужной величины.
Обсудим
теперь некоторые
теоретические
вопросы, возникающие
в связи с нахождением
числа  ,
удовлетворяющего
неравенствам
,
удовлетворяющего
неравенствам
 ,
и такого, что
,
и такого, что
 - простое число.
Прежде всего,
согласно теореме
Дирихле, доказанной
еще в 1839 г., прогрессия
- простое число.
Прежде всего,
согласно теореме
Дирихле, доказанной
еще в 1839 г., прогрессия
 ,
,
 содержит бесконечное
количество
простых чисел.
Нас интересуют
простые числа,
лежащие недалеко
от начала прогрессии.
Опенка наименьшего
простого числа
в арифметической
прогрессии
была получена
в 1944 г. Ю. В. Линником.
Соответствующая
теорема утверждает,
что наименьшее
простое число
в арифметической
прогрессии
содержит бесконечное
количество
простых чисел.
Нас интересуют
простые числа,
лежащие недалеко
от начала прогрессии.
Опенка наименьшего
простого числа
в арифметической
прогрессии
была получена
в 1944 г. Ю. В. Линником.
Соответствующая
теорема утверждает,
что наименьшее
простое число
в арифметической
прогрессии
 не превосходит
не превосходит
 ,
где
,
где  - некоторая
достаточно
большая абсолютная
постоянная.
- некоторая
достаточно
большая абсолютная
постоянная. 
Таким
образом, в настоящее
время никаких
теоретических
гарантий для
существования
простого числа
 не существует.
Тем не менее
опыт вычислений
на ЭВМ показывает,
что простые
числа в арифметической
прогрессии
встречаются
достаточно
близко к её
началу. Упомянем
в этой связи
гипотезу о
существовании
бесконечного
количества
простых чисел
не существует.
Тем не менее
опыт вычислений
на ЭВМ показывает,
что простые
числа в арифметической
прогрессии
встречаются
достаточно
близко к её
началу. Упомянем
в этой связи
гипотезу о
существовании
бесконечного
количества
простых чисел
 с условием, что
число
с условием, что
число  также простое,
т. е. простым
является уже
первый член
прогрессии.
также простое,
т. е. простым
является уже
первый член
прогрессии.
Очень важен
в связи с описываемым
методом построения
простых чисел
также вопрос
о расстоянии
между соседними
простыми числами
в арифметической
прогрессии.
Ведь убедившись,
что при некотором
 число
число  составное,
можно следующее
значение
составное,
можно следующее
значение  взять равным
взять равным
 и действовать
так далее, пока
не будет найдено
простое число
и действовать
так далее, пока
не будет найдено
простое число
 .
И если расстояние
между соседними
простыми числами
в прогрессии
велико, нет
надежды быстро
построить
нужное число
.
И если расстояние
между соседними
простыми числами
в прогрессии
велико, нет
надежды быстро
построить
нужное число
 .
Перебор чисел
.
Перебор чисел
 до того момента,
как мы наткнемся
на простое
число
до того момента,
как мы наткнемся
на простое
число  окажется слишком
долгим. В более
простом вопросе
о расстоянии
между соседними
простыми числами
окажется слишком
долгим. В более
простом вопросе
о расстоянии
между соседними
простыми числами
 и
и  в натуральном
ряде доказано
лишь, что
в натуральном
ряде доказано
лишь, что  ,
что, конечно,
не очень хорошо
для наших целей.
Вместе с тем
существует
так называемая
гипотеза Крамера
(1936 г.), что
,
что, конечно,
не очень хорошо
для наших целей.
Вместе с тем
существует
так называемая
гипотеза Крамера
(1936 г.), что  ,
дающая вполне
приемлемую
опенку. Примерно
такой же результат
следует и из
расширенной
гипотезы Римана.
Вычисления
на ЭВМ показывают,
что простые
числа в арифметических
прогрессиях
расположены
достаточно
плотно.
,
дающая вполне
приемлемую
опенку. Примерно
такой же результат
следует и из
расширенной
гипотезы Римана.
Вычисления
на ЭВМ показывают,
что простые
числа в арифметических
прогрессиях
расположены
достаточно
плотно.
В качестве
итога обсуждения
в этом пункте
подчеркнём
следующее: если
принять на
веру, что наименьшее
простое число,
а также расстояние
между соседними
простыми числами
в прогрессии
 при
при  оцениваются
величиной
оцениваются
величиной  ,
то описанная
схема построения
больших простых
чисел имеет
полиномиальную
опенку сложности.
Кроме того,
несмотря на
отсутствие
теоретических
опенок времени
работы алгоритмов,
отыскивающих
простые числа
в арифметических
прогрессиях
со сравнительно
большой разностью,
на практике
эти алгоритмы
работают вполне
удовлетворительно.
На обычном
персональном
компьютере
без особых
затрат времени
строятся таким
способом простые
числа порядка
,
то описанная
схема построения
больших простых
чисел имеет
полиномиальную
опенку сложности.
Кроме того,
несмотря на
отсутствие
теоретических
опенок времени
работы алгоритмов,
отыскивающих
простые числа
в арифметических
прогрессиях
со сравнительно
большой разностью,
на практике
эти алгоритмы
работают вполне
удовлетворительно.
На обычном
персональном
компьютере
без особых
затрат времени
строятся таким
способом простые
числа порядка
 .
.
Конечно, способ конструирования простых чисел для использования в схеме RSA должен быть массовым, а сами простые числа должны быть в каком-то смысле хорошо распределёнными. Это вносит ряд дополнительных осложнений в работу алгоритмов.
Наконец,
отметим, что
существуют
методы построения
больших простых
чисел, использующие
не только простые
делители  ,
но и делители
чисел
,
но и делители
чисел  .
В основе их
лежит использование
последовательностей
целых чисел,
удовлетворяющих
линейным рекуррентным
уравнениям
различных
порядков. Отметим,
что последовательность
.
В основе их
лежит использование
последовательностей
целых чисел,
удовлетворяющих
линейным рекуррентным
уравнениям
различных
порядков. Отметим,
что последовательность
 ,
члены которой
присутствуют
в формулировке
малой теоремы
Ферма, составляет
решение рекуррентного
уравнения
первого порядка
,
члены которой
присутствуют
в формулировке
малой теоремы
Ферма, составляет
решение рекуррентного
уравнения
первого порядка
 .
.
... в тайне. Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифрование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату. Криптографические системы с открытым ключом используют так называемые необратимые или ...
... . Так как система с открытыми ключами позволяет распределять ключи и в симметричных системах, можно объединить в системе передачи защищенной информации асимметричный и симметричный алгоритмы шифрования. С помощью первого рассылать ключи, вторым же - собственно шифровать передаваемую информацию Обмен информацией можно осуществлять следующим образом: · получатель вычисляет открытый и ...
... схема устройства для аппаратного шифрования информации, которая соответствует приведенным выше требованиям, изображена на рисунке 1.9. Рис. 1.9 – Структурная схема устройства аппаратного шифрования 2. РАЗРАБОТКА СХЕМОТЕХНИЧЕСКОЙ РЕАЛИЗАЦИИ АППАРАТНОГО ШИФРАТОРА 2.1 Выбор элементной базы для шифратора Согласно техническому заданию, элементная база для аппаратного шифратора должна ...
... не к ключам!) и поэтому может зашифровывать и дешифровывать любую информацию; 2.7 Выводы по разделу 2. Подводя итоги вышесказанного, можно уверенно заявить, что криптографическими системами защиты называються совокупность различных методов и средств, благодаря которым исходная информация кодируеться, передаеться и расшифровываеться. Существуют различные криптографические системы защиты, ...
0 комментариев