Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие КЗИ учебное пособие.docx
Скачиваний:
130
Добавлен:
08.05.2019
Размер:
1.34 Mб
Скачать

7.1.3. Атаки на асимметричные криптосистемы

Атаки на криптосистемы, основанные на сложности задачи факторизации.

Очевидное направление криптоанализа систем шифрования и цифровой подписи, основанных на сложности решения задачи факторизации – разработка переспективных методов факторизации целых чисел.

Наиболее известные методы факторизации целых чисел.

Методы факторизации с экспоненциальной сложностью:

  1. Метод пробных делений.

  2. Алгоритм Ферма.

  3. (p - 1) – метод Полларда.

  4. δ-метод Полларда.

  5. Метод Шермана-Лемана.

  6. Алгоритм Ленстры.

  7. Алгоритм Полларда-Штрассена.

  8. (p + 1) – метод Уильямса.

  9. Метод Шэнкса.

Практическая значимость данных алгоритмов, как правило невелика. Наибольшие успехи в решении задачи факторизации достигнуты с помощью субэкспоненциальных методов:

  1. Метод Диксона.

  2. Алгоритм Бриллхарта-Моррисона.

  3. Метод квадратичного решета QS (quadratic sieve) предложен К. Померансом в 1981 году эффективен для чисел n < 10110.

  4. Методы Шнорра-Ленстры и Ленстры-Померанса (активно на практике не использовались).

  5. Обобщенный метод решета числового поля GNFS (General number field sieve) на сегодняшний день лучший по показателям из официально опубликованных методов факторизации предложен в 1990 году.

  6. Алгоритм Ленстры для факторизации с помощью эллиптических кривых (аналогичен (p - 1) – методу Полларда, но применяются вычисления в группе точек эллиптической кривой).

Таблица 14. Рекорды факторизации на примере системы RSA

Число

Дата

Сложность, MIPS-лет

Алгоритм

RSA-100

Апрель 1991

7

QS

RSA-110

Апрель 1992

75

QS

RSA-120

Июнь

1993

830

QS

RSA-129

Апрель 1994

5000

QS

Окончание табл. 14

RSA-130

Апрель 1996

500

GNFS

RSA-140

Февраль 1999

2000

GNFS

RSA-155

Август 1999

8000

GNFS

Последнее достижение – факторизация числа RSA-155, потребовавшая:

- использования 160 рабочих станций SGI и Sun (175-400 МГц);

- 8 процессоров SGI Origin 2000 (250 МГц);

- 120 персональных компьютеров Pentium II (300-450 МГц);

- 4 кластеров Digital\Compaq (500 МГц);

- 9 недель для настройки параметров GNFS;

- 5.2 месяца для сбора вспомогательных пар чисел;

- 3.2 Гб оперативной памяти, 224 часа вычислений на Cray C916 для обработки матрицы размером 6699191×6711336 c 417132631 ненулевыми элементами.

Возможные атаки на систему RSA.

  1. Факторизация модуля n = p · q.

  2. Решение сравнения для конкретного y - нахождение корня степени e из y по модулю p. (задача не менее сложная, чем задача факторизации).

  3. Метод повторного шифрования – сводится к поиску ключа d для дешифрования на основе того, что существует такое натуральное число m, что . Производится последовательное повторное зашифрование сообщения y: до тех пор, пока не получим опять значения y: , решением будет: x = ym-1.(Метод эффективен при неправильном подборе параметров RSA.)

  4. Метод факторизации модуля системы на основе дискредитированного ключа d. (Нельзя использовать одинаковый модуль для многопользовательских систем, при потере хотя бы одного ключа – вскрывается вся система.) Кроме того, знание хотя бы одного секретного ключа многопользовательской системы с единым модулем позволяет найти любой другой секретный ключ даже без факторизации n.

  5. Определение секретного ключа d простым перебором (при малом d.)

  6. Определение секретного ключа d с использованием непрерывных дробей, по теореме Винера (при .)

  7. Бесключевое чтение циркулярных сообщений на общей открытой экспоненте e и трех взаимно простых модулях n1, n2, n3 посредством решения системы из трех сравнений.

Атаки на криптосистемы, основанные на сложности задачи дискретного логарифмирования.

Очевидное направление криптоанализа систем шифрования и цифровой подписи, основанных на сложности решения задачи дискретного логарифмирования – разработка переспективных методов дискретного логарифмирования.

Наиболее известные методы дискретного логарифмирования:

  1. Алгоритм согласования.

  2. Алгоритм Полига-Хеллмана.

  3. δ-метод Полларда для дискретного логарифмирования.

  4. Дискретное логарифмирование в простых полях (алгоритмы Адлемана, COS.)

  5. Дискретное логарифмирование в полях Галуа (алгоритмы index-calculus, Эль-Гамаля, Копперсмита).

  6. Алгоритмы решета числового поля для дискретного логарифмирования.

Рекорды дискретного логарифмирования: логарифмирование по простому модулю (алгоритм COS с гауссовыми целыми). Сложность 60 MIPS-лет для нахождения соотношений и около трех недель – решение системы линейных уравнений.

Криптоанализ рюкзачных систем.

Доказано, что существует алгоритм полиномиальной сложности получения открытого текста по шифртексту на основе так называемой «косозубой функции». Алгоритм известен под названием LLL (Ленстры-Ленстры-Ловаша).