- •1) Основные понятия криптографии
- •2) Докомпьютерная криптология – основные шифры
- •3)Требования к криптосистемам
- •5)Перестановки
- •Простая перестановка
- •Одиночная перестановка по ключу
- •Двойная перестановка
- •6)Системы подстановок
- •7)Гаммирование
- •8)Датчики псч
- •9)Симметричные методы шифрования. Система des и её свойства. Основные понятия
- •10) AesRijndael
- •11) Стандарт шифрования данных гост 28147-89
- •12)Системы с открытым ключом Особенности системы[править | править вики-текст] Применение[править | править вики-текст]
- •Преимущества[править | править вики-текст]
- •Недостатки[править | править вики-текст]
- •13)Алгоритм rsa
- •14)Шифр Эль-Гамаля
- •15) Криптосистемы на основе эллиптических уравнений
- •16) Электронная подпись
- •17) Электронная подпись на основе алгоритма rsa
- •18)Цифровая сигнатура
- •19)Управление ключами
- •20)Генерация ключей
- •22) Распределение ключей.
- •23)Проблемы и перспективы криптографических систем включают себя следующие 3 вопроса. Ничего другого найти внятно не смог))
- •24)Шифрование больших сообщений и потоков данных
- •25)Использование блуждающих ключей
- •26)Шифрование, кодирование и сжатие информации
- •Ключевые термины
- •27) Реализация криптографических методов:
13)Алгоритм rsa
Рассмотрим математические факты, положенные в основу этого алгоритма.
Теорема 1. (Малая теорема Ферма)
Если Р - простое число, то хр-1 сравнимо с х(моdp) (это значит, что эти два числа при делении на этот модуль имеют один и тот де остаток). Для любого х и хр сравнимо с х(мodp).
Функция Эйлера
Теорема 2.
Если n=p*q, где р и q - отличные друг от друга простые числа, то
Пимер
Теорема 3
Если , где р и q - отличные друг от друга простые числа и х простое относительно p и q, то
Если, где , и е- простое число, относительно Фи(n), то отображение хRxe(modn) является взаимно однозначным на Zn.
Именно на этих математических фактах основан алгоритм RSA.
Пользователь i выбирает пару простых различных чисел pi и qi и рассчитывает пару простых чисел ( ei, di), которые являются простыми относительно
Приведем справочную таблицу публичных корней
Пользователь I зашифровывает текст при передаче пользователю g, применяя к n отображение Edi,ni. Пользователь g производит дешифрование n, применяет отображение E ei,in. Чтобы найти инверсиюEdi,in по отношению Eei,in, необходимо знание множителей ni= pi*qi. На сегодняшний день для осуществления наиболее известных алгоритмов такого разложения необходимо время, которое выходит за пределы современных технологических возможностей.
В реальных системах алгоритм RSA реализуется следующим образом:
Каждый пользователь выбирает два больших простых числа, например р и q, и на основании вышеописанного алгоритма выбирает еще два числа е и d. n устанавливается в результате унижения р и q. (e,n) образует открытый ключ, а (d,n) закрытый, или наоборот. Открытый ключ публикуется и доступен каждому желающему, закрытый зашифровываются по указанному алгоритму. После шифрования текст невозможно расшифровать с помощью открытого ключа, но получатель текста без труда может расшифровать полученное сообщение.
Практическая реализация RSA . В настоящее время алгоритм RSA применяется и как самостоятельная криптосистема, и в виде встроенного средства популярных приложений. Наиболее важная проблема практической реализации алгоритма - это генерация больших простых чисел. То есть решение задачи в лоб - генерация большого простого, нечетного числа n и проверка его делимости на множители от 3 и выше, в случае неудачи необходимо взять число n +2 и повторить проверку. Но если в алгоритме RSA использовать не простые, а составные числа, то его криптостойкость резко падает. Возможно использовать почти простые числа, те числа, вероятность которых, что они простые, стремится к единице. Еще одна проблема алгоритма RSA - ключи какой длины необходимо использовать. Для практической реализации алгоритма необходимо знать оценки трудоемкости разложения простых чисел различной длины, которые выполнены Шроппелем.
В 1995 году удалось практически реализовать раскрытие шифра RSA для 500 знатного ключа, для чего в сети интернет был задействован 1600 компьютеров. Создатели алгоритма RSA рекомендуют использовать следующие размеры моd n
1. 768 Бит для частных
2. 1024 бит для коммерческой информации
3. 2048 бит для особо секретной информации
3 й аспект реализации RSA - вычислительный, так как приходится использовать аппарат длиной арифметики.
Если используется , то по открытому к в квадрате, по закрытому - к в кубе, а для генерации новых ключей - к в четвертой. По сравнению с алгоритмом dES RSA требует в 1000 и в десятки тысяч раз больше времени. Например криптографический пакет RSA DS на компьютере Пентиум 90 осуществляет шифрование со скоростью 21,6 КБ/сек для 512 битого ключам со скоростью 7,4 КБ/сек для 1024 битого ключа. Самая быстрая аппаратная реализация обеспечивает скорость в 60 раз больше