- •Содержание
- •Введение
- •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
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА
(n-1) - и (n+1) - Критерии Люка 171
кратно m и выполнялось равенство |
a(n−1) q =1(n), что |
невозможно. |
|
Следовательно, для q = q , получим: qmi |m. Пусть Q = Q(q)= qmi . |
|||
i |
i |
|
i |
Рассмотрим число вида b(q)= am Q (n) |
. Порядок этого числа по модулю n |
||
равен Q(q). Таким |
образом, для разных |
q порядки чисел |
b(q) взаимно |
просты и равны qimi .
k
Следовательно, порядок числа b =∏b(q) равен ∏qimi = n −1.
q |
i=1 |
13.2.4. Понятие о последовательностях Люка. (n+1) - критерий Люка
Тестирование с помощью теста Ферма можно рассматривать как поиск и анализ членов последовательностей вида fn−1(a)= an−1 −1, делящихся на n.
Аналогичный подход может быть реализован для других видов последовательностей, в частности, рекуррентных. Рассмотрим общую идею
(n +1)- критерия Люка, в котором для тестирования чисел на простоту используется знание простых делителей числа (n +1).
Пусть n >1 - нечетное число, с которым целые числа p и q связаны условием: D = p2 − 4q - квадратичный невычет по модулю n.
Построим две рекуррентные последовательности вычетов по модулю n, которые называются последовательностями Люка, ассоциированными с p и q:
U0 = 0, U1 =1, Uk +2 = pUk +1 − qUk ;
V0 = 2, V1 = p , Vk +2 = pVk +1 − qVk , k ≥0.
Существуют различные соотношения, позволяющие быстро вычислять элементы последовательностей Люка с большими номерами.
Например, U2k =UkVk , V2k =Vk2 − 2qk .
172 Глава 13. ТЕСТ ФЕРМА ПРОВЕРКИ ЧИСЕЛ НА ПРОСТОТУ
Оказывается, для этих последовательностей можно сформулировать утверждения, аналогичные малой теореме Ферма.
Например, последовательность {Uk } обладает следующим свойством:
если n - простое, то Un+1(p,q)= 0(n). Аналогия с условием Ферма fn−1(a)= 0(n) очевидна.
Так называемый (n +1)- критерий |
Люка |
проверки |
чисел |
на |
простоту |
|||||
формулируется следующим образом. |
|
|
|
|
|
|
||||
Теорема. |
Пусть |
n >1 – нечетное |
число. |
Если |
для любого |
простого |
||||
делителя r |
числа |
n +1 существуют |
такие простые |
числа |
p |
и q , что |
||||
D = p2 − 4q |
- |
квадратичный |
невычет по |
модулю |
n и |
такие, что |
||||
Un+1(p,q)= 0(n), |
U(n+1) r (p,q)≠ 0(n), то n– простое. |
|
|
|
|
|||||
Данная теорема играет роль, аналогичную (n −1)- критерию Люка. |
||||||||||
13.3. (P+1) – метод факторизации Вильямса |
|
|
|
|
||||||
Пусть n - составное число и |
p - его неизвестный простой делитель. На |
основе последовательностей Люка можно построить метод факторизации числа
n, аналогичный |
(p −1) |
- методу Полларда, |
если известно, |
что число |
p +1 |
|||
является гладким [49]. |
|
|
|
|
|
|||
Это |
связано |
с |
рядом свойств |
последовательности |
Люка |
|||
U1(P,Q),U2 (P,Q),K, |
ассоциированной |
с |
числами |
P и Q , |
где |
|||
D = P2 − 4Q ≠ 0(n). |
|
|
|
|
|
|||
Прежде всего, |
последовательность Люка сохраняет свойство делимости: |
|||||||
если a |b, |
то |
Ua |Ub . |
Более того, следующие свойства показывают, что |
|||||
делители числа |
Ub ограничивают возможные значения индекса b. |
|
(p+1) – Метод факторизации Вильямса 173
Допустим, M |Ub . Не исключено, что число M делит также один или несколько элементов последовательности Люка с номерами, меньшими b.
Пусть ω =ω(M ) - наименьший такой номер. Назовем ω рангом
появления M в последовательности Люка. Оказывается, если M |Ub , то ω|b.
Далее. Если p - простое, причем НОД(p,2DQ)=1, то p |UΦ(p ), где Φ(p)
|
|
|
|
выражается через символ Лежандра: Φ(p) |
= p − |
D |
. |
|
|||
|
|
|
|
|
p |
|
|
В случае, когда D является квадратичным невычетом, Φ(p)= p +1 и |
|||
ω(p)|(p +1). Иными словами, делители |
(p +1) |
могут оказаться индексами |
элементов последовательности Люка, которые делятся на p .
Таким образом, как и в (p −1) - методе Полларда, полагая число (p +1)
гладким по отношению к некоторой фактор-базе, можно пытаться строить числа k , делящиеся на ω(p), например, кратные (p +1).
В этом случае |
p |Uk , следовательно, |
при |
Uk ≠ 0(n) можно |
найти |
||||
нетривиальный делитель n1 числа n в виде n1 =НОД(Uk ,n). |
|
|||||||
Если Uk = 0(n), |
то необходимо |
повторить |
вычисления для |
новых |
||||
|
|
D |
|
|
|
|
|
|
|
|
|
= −1 |
. |
|
|
||
|
|
|
|
|||||
значений P ,Q , для которых значение |
p |
|
|
|
|
|
||
|
|
|
|
|
|
|
|