- •Содержание
- •Введение
- •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
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА
Детерминированный тест, основанный на Теореме Димитко 185
Следовательно, p2 ≥ (F +1)2 > (R +1)(F +1)> FR +1 = n , т.е. p > n ,
что невозможно. Теорема доказана.
Если R >1, |
то, поскольку |
n = FR +1>1, неравенство |
1 < R < F |
выполняется при |
F > n . |
Поэтому предварительную |
частичную |
факторизацию числа n −1 следует проводить лишь до тех пор, пока F ≤ n .
15.2. Детерминированный тест, основанный на теореме Димитко
Рассмотрим еще один детерминированный тест, основой которого является т.н. теорема Димитко. В этой теореме вместо условия НОД(a(n−1)q −1, n)=1,
используемого в обобщенном критерии Люка, используется условие
a(n−1)q ≠1(n).
Лемма. Пусть n = qk R +1 >1, где q |
- |
простое, |
не делящее R . Если |
|
существует целое a такое, что |
an−1 =1(n) |
и |
a(n−1) q |
≠1(n), то существует |
простой делитель p числа n вида |
p = qk r +1, при некотором r = r(p). |
m
Доказательство. Пусть n = ∏pimi . Поскольку a(n−1)q ≠1(n), то не все
i=1
делители n делят a(n−1)q −1. Поэтому, в силу китайской теоремы об остатках,
существует i : an−1 =1(pimi ), но a(n−1)q ≠1(pimi ). Следовательно, порядок t
элемента a по модулю pimi делит n −1 и не делит (n −1)q . Поэтому qk |t .
Известно, что группа классов вычетов, обратимых по модулю pimi , имеет первообразный элемент (циклична). Ее порядок равен ϕ(pimi )= pimi −1(pi −1).
186 Глава 15. ПОСТРОЕНИЕ БОЛЬШИХ ПРОСТЫХ ЧИСЕЛ
Этот порядок должен делиться на t и, следовательно, на qk . Поскольку q
делит n −1, а p |
делит n, то q |
и |
p взаимно просты. Значит, qk |(p −1), т.е. |
|
i |
|
|
i |
i |
p = p = qk r +1. |
|
|
|
|
i |
|
|
|
|
Теорема (Димитко). Пусть n = qR +1 >1, где q - простое, |
R - четное и |
|||
R < 4(q +1). Если существует целое a такое, что an−1 =1(n) и |
a(n−1) q ≠1(n), |
то число n - простое.
|
m |
Доказательство. Пусть n - составное, n = ∏piai . По условию, n = qh R1 +1, |
|
|
i=1 |
где h ≥1 и |
q не делит R1 . Лемма показывает, что существует i , такое, что |
q |(pi −1). |
Таким образом, n =1(q) и pi =1(q). Запишем n в виде n = piu . |
Очевидно, u =1(q), поэтому, u =1+ Kq и pi =1+ Sq .
Заметим, что K, S ≥ 2 . Действительно, n - нечетно, поскольку R - четное число. Если K = 0, то n - простое, что по допущению неверно. Если K =1, то n - четно, т.к. u четно.
Если S = 0 , то pi =1, что противоречит допущению. Если S =1, то pi -
четно, что также невозможно. Итак, u ≥ 2q +1, pi ≥ 2q +1, следовательно, n = piu ≥ (2q +1)2 = 4q(q +1)+1 > qR +1 = n - противоречие.
Теорема Димитко позволяет строить большие доказуемо простые числа.
Пусть дано некоторое число q , о котором известно, что оно простое.
Выберем R - четное число, разрядность которого равна разрядности q . В этом случае, очевидно, R < 4(q +1).
Детерминированный тест, основанный на Теореме Димитко 187
Построим n = qR +1. Если существует целое a, такое, что an−1 =1(n) и a(n−1)q ≠1(n), то число n - простое по теореме Димитко. Разрядность n в два раза больше разрядности числа q .
Если мы в качестве q примем построенное число n, то можем построить следующее простое число, вдвое большей разрядности, чем n и т.д.
Данный подход лежит в основе алгоритма генерации простых чисел в межгосударственном стандарте на цифровую подпись ГОСТ 34.310-95, широко используемом в Украине.