
- •Содержание
- •Введение
- •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
- •ЗАКЛЮЧЕНИЕ
- •ЛИТЕРАТУРА

Фальсификация ЦП Эль-Гамаля в специальном случае… 137
Непосредственно вычислить |
L |
(a)mod pr−1 |
трудно, т.к. |
величина |
||||||
|
|
|
m |
|
|
|
|
|
||
aϕ(m ) −1 быстро возрастает с ростом m = pr . |
|
|
|
|
||||||
|
|
aϕ(m) −1 |
|
|
− |
где h < pr−1 . |
|
|||
Очевидно, однако, |
что |
|
|
|
|
= h + kpr 1 , |
Поэтому |
|||
|
pr |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
aϕ(m) −1 = hpr + kp2r−1 , причем hpr < p2r−1 . |
|
|
|
|
||||||
Следовательно, |
наименьший |
|
неотрицательный |
вычет |
||||||
H = aϕ(m) −1(mod p2r−1 ) |
совпадает с числом |
hpr . |
Это позволяет проводить |
|||||||
вычисления по mod p2r−1 |
и получать h в виде |
H |
. |
|
|
|||||
|
|
|
||||||||
|
|
|
|
|
|
|
pr |
|
|
10.4. Фальсификация подписи Эль-Гамаля в специальном случае выбора первообразного элемента и характеристики поля
В качестве предварительного замечания рассмотрим вариант алгоритма Сильвера-Поллига-Хэллмана в ситуации, когда Fq =GF(p), где число p −1
не является гладким, но для некоторого делителя w числа p −1 |
гладким |
|||||||||||
является число u = (p −1) w . |
|
|
|
|
|
|
|
|
||||
Пусть |
g |
- первообразный |
элемент поля |
GF(p). Рассмотрим задачу |
||||||||
определения z из сравнения g wz ≡ yw (mod p). Обозначим gw =b . |
|
|||||||||||
Поскольку |
существует |
m: |
y = gm (p), |
то |
yw = gmw = bm (p). |
Поэтому |
||||||
исходная |
задача |
сводится |
к |
~ |
≡b |
z |
≡b |
m |
(p), |
которая |
является |
|
задаче y |
|
|
||||||||||
разрешимой. |
|
|
|
|
|
|
|
|
|
|
|
|
Заметим, что порядок элемента b равен u . Следовательно, наша задача |
||||||||||||
является |
задачей |
дискретного |
логарифмирования |
в |
мультипликативной |

138 Глава 10. АЛГОРИТМ СИЛЬВЕРА - ПОЛЛИГА - ХЭЛЛМАНА
подгруппе поля GF(p), элементы которой выражаются в виде степеней элемента b.
По условию, порядок группы u является гладким числом. Это позволяет создать таблицу R для простых делителей числа u и найти z с помощью алгоритма Сильвера-Поллига-Хэллмана.
Таким образом, если u = (p −1)w - гладкое число, то определение z из сравнения g wz ≡ yw (mod p) вычислительно реализуемо.
Как следствие докажем следующий факт.
Теорема [41]. Пусть дана схема цифровой подписи Эль-Гамаля с параметрами p , g , x , y ≡ g x (mod p) и p −1 = uw, где u - гладкое число.
Пусть, кроме g , задан примитивный элемент поля β вида β = cw и известно число t , такое, что βt = g(mod p).
Тогда для любого значения хэш-функции от сообщения h можно
построить корректную подпись |
(r,s) без знания секретного ключа x. |
|
||
Действительно, найдем z : |
yw ≡ gwz (mod p). Для заданного значения h |
|||
предложим подпись (r,s), где r = β , |
s =t(h −cwz) mod(p −1). Подставим |
|||
данные в проверочное соотношение |
для подписи, |
которое имеет |
вид |
|
gh = yr rs (mod p). |
|
|
|
|
Имеем: yr rs = yβ βs = ycwβt(h−cwz )(mod p). Заменяя |
yw на g wz , а βt |
на |
g , получим: gcwz gh−cwz = gh (p), т.е. подпись корректна.
Данное следствие позволяет сделать вывод о существовании частных случаев, когда подпись Эль-Гамаля может быть фальсифицирована.

Фальсификация ЦП Эль-Гамаля в специальном случае… 139
10.4.1. Слабые параметры в подписи Эль-Гамаля
Пусть p = 4k +1. Допустим, что параметры схемы подписи можно выбрать так, чтобы примитивный элемент g совпадал с гладким числом u :
g =u =(p −1)w.
В обозначениях предыдущего следствия, положим: β = (p −1)g = w , t = (p −3)
2. Иными словами, p −1 = gβ , u = g , w = β , c =1.
При таком выборе, β = −g−1 mod p . Элемент g−1 - первообразный, т.к.
при ord p g−1 = m < p −1, получим g−m+p−1 =1mod p , что неверно. Следовательно,
если n = ord p β < p −1, то n - нечетное число, делящее p −1.
|
Однако, n не делит p −1, т.к. |
β(p−1) 2 ≡ (− g−1 )2k = g−(p−1) 2 = −1mod p . |
|||||||||||
Следовательно, |
элемент |
β |
первообразный. |
Кроме |
того, |
||||||||
βt = β(p−1) 2β−1 ≡ −β−1 ≡ g mod p . |
|
|
|
|
|
|
|
||||||
|
Таким образом, для схемы цифровой подписи с указанными параметрами |
||||||||||||
подпись может быть подделана. Покажем, что такие схемы существуют. |
|
||||||||||||
|
Пусть теперь p = 4k +1, где k – простое и |
p ≥ 29 . Тогда можно выбрать |
|||||||||||
g = 2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Действительно, |
2(p−1) k ≠1(p). |
Далее, |
по |
критерию |
Эйлера, |
|||||||
|
(p−1) 2 |
|
2 |
|
|
|
2 |
|
(p2 −1)8 |
|
|
|
|
2 |
|
= |
|
mod p |
|
|
|
|
= (−1) |
mod p |
. Показатель в |
||
|
|
|
|
|
|||||||||
|
|
|
|
|
. Символ Лежандра |
p |
|
|
|
||||
|
|
|
p |
|
|
|
|
|
|
|
|
||
правой части нечетен: (p2 −1)8 = 2k2 + k , т.е. 2(p−1) 2 = −1mod p . |
|
||||||||||||
|
Таким образом, слабую подпись Эль-Гамаля можно получить, используя, |
||||||||||||
например, следующие параметры: |
p = 4k +1, где k – большое простое число, |

140 Глава 10. |
АЛГОРИТМ СИЛЬВЕРА - ПОЛЛИГА - ХЭЛЛМАНА |
|
|
||
g = 2 , |
p −1 = gβ , |
u = g , |
w = β , |
c =1, |
t = (p −3) 2, |
(r,s)=(β, t(h − wz)).
Здесь z удовлетворяет сравнению g wz ≡ yw (mod p), где y - открытый ключ цифровой подписи, а u используется для определения z .