
- •Содержание
- •Введение
- •1.1. Общая система секретной связи (по К. Шеннону)
- •1.1.1. Основные криптографические термины
- •1.1.2. Модель системы секретной связи К.Шеннона
- •1.2. Подходы к оценке надежности реальных криптосистем
- •1.2.2. Метод сведения к общей алгоритмической проблеме
- •Глава 2. ОБЩИЕ АЛГОРИТМИЧЕСКИЕ ПРОБЛЕМЫ АНАЛИЗА ОСНОВНЫХ ТИПОВ ШИФРОВ
- •2.1. Элементарные шифры
- •2.2. Основные типы шифров
- •2.2.1 Потоковые шифры. Последовательность выбора шифрпреобразований
- •2.2.2. Качество гаммы
- •2.2.3. Периодичность гаммы
- •2.2.4. Блочные шифры
- •2.2.5. Алгоритмические проблемы, связанные со стойкостью основных типов шифров
- •Глава 3. ТЕСТИРОВАНИЕ УЗЛОВ КРИПТОСХЕМ КАК МЕТОД КОМПРОМЕТАЦИИ ШИФРОВ
- •3.1. Компрометация шифров
- •3.2. Задача тестирования линейной рекуррентной составляющей криптоузла
- •3.3. Задача восстановления параметров искаженной линейной рекурренты
- •3.3.1. Представление элементов рекурренты через элементы начального заполнения
- •3.3.2. Производные соотношения
- •3.3.4. Качественная характеристика задачи восстановления параметров линейной искаженной рекурренты
- •Глава 4. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА БУЛЕВЫХ ФУНКЦИЙ
- •4.1. Нелинейность булевой функции
- •4.2. Критерии распространения и корреляционная иммунность
- •4.3. Устойчивые булевы отображения
- •Глава 5. ОСОБЕННОСТИ ПРИМЕНЕНИЯ АЛГОРИТМА ГОСТ 28147-89
- •5.1. Криптоэквивалентная схема алгоритма ГОСТ 28147-89
- •5.2. Влияние блока подстановки на последовательности выходов итераций
- •5.2.1 Расшифрование в режиме простой замены
- •5.2.2. Возможность ослабления шифра за счет структуры сеансового ключа
- •5.3. Замечания о режимах шифрования и имитовставки
- •Глава 6. ВЫБОР ДОЛГОВРЕМЕННОГО КЛЮЧА АЛГОРИТМА ГОСТ 28147-89
- •6.1. Область сильных ключей
- •6.1.1. Достаточность условия равновероятности псевдогаммы для выбора сильного блока подстановки
- •6.2. Контроль долговременного ключа алгоритма ГОСТ 28147-89
- •6.2.1. Угроза внедрения слабых параметров
- •6.2.2. Подход к выявлению слабых долговременных ключей
- •6.2.3. Свойства теста
- •6.2.4. Тестирование долговременного ключа
- •Глава 7. ЭЛЕМЕНТЫ ТЕОРИИ СРАВНЕНИЙ
- •7.1.1. Расширенный алгоритм Эвклида
- •7.2. Модульная арифметика
- •7.2.1. Функция Эйлера и малая теорема Ферма
- •7.3. Сравнения первой степени от одного неизвестного
- •7.3.1. Китайская теорема об остатках
- •7.3.2. Степенные сравнения по простому модулю
- •Глава 8. ВЫЧИСЛЕНИЕ КВАДРАТНОГО КОРНЯ В ПРОСТОМ ПОЛЕ
- •8.1.1. Символ Лежандра
- •8.1.2. Символ Якоби
- •8.2. Алгоритм нахождения квадратного корня в простом поле
- •9.1. Построение криптосистемы RSA. Идея цифровой подписи
- •9.2. Смешанные криптосистемы. Протокол Диффи-Хэллмана ключевого обмена
- •9.3. Цифровая подпись Эль-Гамаля
- •9.3.1. Криптосистема Эль-Гамаля
- •9.3.2. Механизм цифровой подписи Эль-Гамаля
- •9.3.3. Ослабление подписи Эль-Гамаля вследствие некорректной реализации схемы
- •9.3.4. Варианты цифровой подписи типа Эль-Гамаля
- •10.1 Обозначения и постановка задачи
- •10.2. Построение корней из единицы в поле
- •10.3. Алгоритм дискретного логарифмирования
- •10.3.1. Пример вычисления дискретного логарифма
- •10.4. Фальсификация подписи Эль-Гамаля в специальном случае выбора первообразного элемента и характеристики поля
- •10.4.1. Слабые параметры в подписи Эль-Гамаля
- •Глава 11. МЕТОДЫ ФАКТОРИЗАЦИИ ПОЛЛАРДА
- •11.2.1. Оценка вероятности выбора критической пары
- •11.2.2. Оптимизация выбора критической пары
- •Глава 12. НЕКОТОРЫЕ СЛУЧАИ ОСЛАБЛЕНИЯ КРИПТОСИСТЕМЫ RSA
- •12.1. Атаки на RSA, не использующие факторизацию модуля
- •12.2. Атаки на RSA, использующие факторизацию модуля
- •12.2.1. Алгоритм факторизации Диксона
- •Глава 13. ТЕСТ ФЕРМА ПРОВЕРКИ ЧИСЕЛ НА ПРОСТОТУ
- •13.1. Решето Эратосфена и критерий Вильсона
- •13.2. Тест на основе малой теоремы Ферма
- •13.2.1. Основные свойства псевдопростых чисел
- •13.2.2. Свойства чисел Кармайкла
- •13.2.3. (n-1) - критерий Люка
- •13.2.3. Понятие о последовательностях Люка. (n+1) - критерий Люка
- •Глава 14. ТЕСТЫ СОЛОВЕЯ-ШТРАССЕНА И РАБИНА-МИЛЛЕРА ПРОВЕРКИ ЧИСЕЛ НА ПРОСТОТУ
- •14.1. Тест Соловея-Штрассена
- •14.1.1. Эйлеровы псевдопростые числа
- •14.2. Тест Рабина-Миллера
- •14.2.1. Сильно псевдопростые числа
- •Глава 15. ПОСТРОЕНИЕ БОЛЬШИХ ПРОСТЫХ ЧИСЕЛ
- •15.1. Детерминированный тест, основанный на обобщенном критерии Люка
- •15.1.1. Теорема Поклингтона
- •15.1.2. Обобщение критерия Люка
- •15.2. Детерминированный тест, основанный на теореме Димитко
- •Глава 16. ВЫБОР ПАРАМЕТРОВ КРИПТОСИСТЕМЫ RSA
- •16.1. Общие требования к выбору параметров
- •16.2. Метод Гордона построения сильно простых чисел
- •16.3. Пример построения сильно простого числа
- •Глава 17. ОБЩИЕ СВЕДЕНИЯ ОБ ИНОСТРАННЫХ КРИПТОСРЕДСТВАХ
- •17.1. Аппаратные криптосредства
- •17.2. Основные принципы построения систем управления ключами
- •17.2.1. Ключевые системы потоковых шифров
- •17.3. Блочные шифры в смешанных криптосистемах
- •17.3.2. Смешанная криптосистема на основе алгоритмов RSA и IDEA
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

182 Глава 15. ПОСТРОЕНИЕ БОЛЬШИХ ПРОСТЫХ ЧИСЕЛ
В отличие от вероятностных тестов, рассмотрим теперь такие способы проверки чисел на простоту, при применении которых можно утверждать, что проверяемые числа действительно являются простыми. Эти способы применяются для построения псевдослучайных простых чисел [16].
Общая схема в данном случае такова: выбирается псевдослучайное число, которое тестируется на простоту. Сам тест состоит в построении членов некоторой последовательности, которые связаны с тестируемым числом и имеют особенности, если тестируемое число – простое.
Поскольку аналогичные особенности могут возникать и при тестировании некоторых составных чисел, то требуется ряд дополнительных условий, которые являются достаточными, чтобы доказать простоту тестируемого числа. Подобные процедуры называются алгоритмами построения доказуемо простых чисел.
Заметим, что указанный подход предполагает, что при выборе большого случайного числа существует возможность организовать в его окрестности успешный поиск простых чисел. Данная возможность обеспечивается, например, т.н. теоремой Дирихле о простых числах в арифметической прогрессии.
Эта теорема утверждает, что в арифметической прогрессии вида
n= 0,1,2K, где (a,b)=1, существует бесконечно много простых чисел.
15.1.Детерминированный тест, основанный на обобщенном критерии Люка
Основой для перехода от вероятностных тестов к ряду детерминированных тестов служит (n −1)-критерий Люка.
Напомним, что в соответствии с этим критерием натуральное число n является простым в том и только в том случае, если существует натуральное число a, обеспечивающее выполнение следующих условий для любого

Детерминированный тест, основанный на обобщенном критерии Люка 183
нетривиального делителя q числа n −1: an−1 =1(n), q ||(n −1)
a(n−1)q ≠1(n).
Ранее мы показали, что в критерии Люка можно заменить a на однако требование полной факторизации числа n −1 осталось.
Рассмотрим теперь ряд математических утверждений, которые можно применить для обоснования более оптимальных детерминированных тестов на простоту, основанных на знании не всех, а части простых делителей числа n −1.
Прежде всего, нам понадобится т.н. теорема Поклингтона о виде простых делителей некоторых целых чисел.
15.1.1. Теорема Поклингтона
Теорема (Поклингтон). Пусть n = qk R +1 >1, где q - простое, не делящее
R и p - произвольный простой делитель n. Если существует целое a такое, что an−1 =1(n) и НОД(a(n−1)q −1, n)=1, то каждый простой делитель p числа n
имеет вид p = qk r +1, при некотором r = r(p).
Замечание. Условие НОД(a(n−1)q −1, n)=1 эквивалентно условию p ||n
a(n−1) q ≠1(p). Последнее выражение удобнее при доказательстве теоремы, |
но, |
|
в отличие от первого, не может быть проверено без знания |
p . |
|
Доказательство. Пусть p - простой делитель n. |
Тогда an-1=1(p) |
и |
a (n −1)q ≠ 1(p ). Если m - порядок числа a по модулю p, то n-1=md, где d -
целое. Допустим, q делит d. В этом случае (n-1)/q=m(d/q), где (d/q) - целое,
следовательно, a(n−1)q =1(p), что невозможно. Поскольку n-1=md=qkR, то m
делится на qk. Однако m обязано делить число p-1. Следовательно, p=qkr+1 при некотором r=r(p).

184 Глава 15. ПОСТРОЕНИЕ БОЛЬШИХ ПРОСТЫХ ЧИСЕЛ
15.1.2. Обобщение критерия Люка
Теорема Поклингтона позволяет обобщить критерий Люка на ситуацию, когда число n-1 факторизовано не полностью, скажем, n-1=FR, где простые сомножители F известны.
Теорема. Пусть n = FR +1>1, где 0<R<F. Если для любого простого делителя q числа F существует целое a = a(q), такое, что an−1 =1(n) и НОД(a(n−1)q −1, n)=1, то число n - простое.
Проведем доказательство от противного. Пусть n составное, тогда
существует его простой делитель p , такой, что p ≤ n . Зафиксируем q ||F .
Пусть k максимальное число с условием qk | F , k ≥1. Аналогично, пусть
qh - максимальная степень, делящая FR . |
|
|
|||
Из условия теоремы следует, |
что an−1 =1(p) |
и a(n−1) q ≠1(p). Пусть m - |
|||
порядок числа a по модулю p , |
и n −1 = qh R . |
Как и при доказательстве |
|||
|
|
|
1 |
|
|
теоремы Поклингтона, |
получим, что число qh делит m. Следовательно, число |
||||
Q(q)= qk делит m. |
|
|
|
|
|
Рассмотрим |
число |
b =b(q) |
вида b = am Q (p). |
Очевидно, Q =Q(q) - |
|
порядок числа |
b по |
модулю |
p . Кроме того, |
для делителей q1 ≠ q2 |
факторизованной части F числа Q(q1 ) и Q(q2 ) взаимно просты.
Построим для каждого q ||F число b(q). Произведение всех таких чисел обозначим через B. Поскольку порядок числа B по модулю p равен наименьшему общему кратному чисел Q(q), то он равен F . Но порядок любого элемента по модулю p делит p −1, поэтому F ≤ p −1.