- •Введение
- •Угрозы безопасности информационных систем
- •Классификация угроз безопасности
- •Общая характеристика уязвимостей информационной системы персональных данных
- •Общая характеристика уязвимостей прикладного программного обеспечения
- •Общая характеристика угроз непосредственного доступа в операционную среду информационной системы
- •Общая характеристика угроз безопасности, реализуемых с использованием протоколов межсетевого взаимодействия
- •Криптография
- •Общие сведения
- •Подстановки
- •Метод перестановки
- •Одноразовые блокноты
- •Основные принципы криптографии
- •Алгоритмы с симметричным криптографическим ключом
- •Тройное шифрование с помощью des
- •Улучшенный стандарт шифрования aes
- •Режим шифрованной обратной связи
- •Режим группового шифра
- •Режим счетчика
- •Криптоанализ
- •Алгоритмы с открытым ключом
- •2.15. Алгоритм rsa
- •2.16. Криптоанализ алгоритма rsa
- •2.17. Другие алгоритмы с открытым ключом
- •2.18. Цифровые подписи.
- •2.19. Подписи с открытым ключом
- •2.20. Профили сообщений
- •2.23. Управление открытыми ключами
- •2.24. Сертификаты
- •2.26. Инфраструктуры систем с открытыми ключами
- •2.27. Каталоги
- •2.28. Аннулирование
- •2.31. Брандмауэры
- •2.32. Виртуальные частные сети
- •2.33. Безопасность в беспроводных сетях
- •2.34. Безопасность в сетях 802.11
- •2.35. Безопасность в системах Bluetooth
- •2.36. Протоколы аутентификации
- •Заключение
- •Библиографический список
- •Оглавление
- •3 94026 Воронеж, Московский просп., 14
2.16. Криптоанализ алгоритма rsa
Факторизация N приведет к вскрытию алгоритма RSA. Не было доказано, что нет полиномиального по затратам времени решения задачи нахождения простых факторов большого числа (то есть возможно, что в будущем будет найден алгоритм, который факторизует N достаточно быстро для вскрытия RSA). Однако, несмотря на постоянное продвижение в алгоритмах факторизации, ни один из них не удовлетворяет критерию полиномиальности по времени, что сделало бы проблему RSA разрешимой.
Группе учёных из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось успешно вычислить данные, зашифрованные при помощи криптографического ключа стандарта RSA длиной 768 бит. По словам исследователей, после их работы в качестве надежной системы шифрования можно рассматривать только RSA-ключи длиной 1024 бита и более. Причём от шифрования ключом длиной в 1024 бит стоит отказаться в ближайшие три-четыре года.
Как следует из описания работы, вычисление значений ключа осуществлялось общим методом решета числового поля.
На первый шаг (выбор пары полиномов степени 6 и 1) было потрачено около полугода вычислений на 80 процессорах, что составило около 3 % времени, потраченного на главный этап алгоритма (просеивание), который выполнялся на сотнях компьютеров в течение почти двух лет. Если интерполировать это время на работу одного процессора AMD Opteron 2.2ГГц с 2Гб памяти, то получилось бы порядка 1500 лет. Обработка данных после просеивания для следующего ресурсоёмкого шага (линейной алгебры) потребовалось несколько недель на малом количестве процессоров. Заключительный шаг после нахождения нетривиальных решений ОСЛУ занял не более 12 часов.
Решение ОСЛУ проводилось с помощью метода Видемана на нескольких раздельных кластерах и длилось чуть менее 4 месяцев. При этом размер разреженной матрицы составил 192 796 550х192 795 550 при наличии 27 795 115 920 ненулевых элементов (то есть в среднем 144 ненулевых элементов на строку). Для хранения матрицы на жёстком диске понадобилось около 105 гигабайт. В то же время понадобилось около 5 терабайт сжатых данных для построения данной матрицы.
В итоге группе удалось вычислить 232-цифровой ключ, открывающий доступ к зашифрованным данным.
Исследователи уверены, что используя их метод факторизации, взломать 1024-битный RSA-ключ будет возможно в течение следующих десяти лет.
Зная разложение модуля на произведение двух простых чисел, противник может легко найти секретную экспоненту и тем самым взломать RSA. Однако на сегодняшний день самый быстрый алгоритм факторизации — решето обобщённого числового поля (General Number Field Sieve), не позволяет разложить большое целое за приемлемое время.
С помощью квантового компьютера, если он будет построен, можно будет взломать RSA, так как квантовый алгоритм Шора позволяет осуществить факторизацию больших чисел за достаточно короткое время. Разложив модуль n на простые множители (это можно сделать за время , используя O(log n) логических Q-битов), можно будет вычислить секретный показатель d.
Важно отметить, что не было доказано, что безопасность RSA целиком зависит от проблемы нахождения простых факторов большого числа. Однако все другие способы нахождения D по заданному E оказались эквивалентны по затратам задаче факторизации N. Есть вероятность, что будет найден алгоритм для нахождения E-того корня по модулю N более простым путем, чем факторизация N. Тем не менее, до сих пор не был найден такой алгоритм и RSA выдержал огромное число попыток вскрытия.