Использование современных симметрических (DES), и асимметрических (RSA) алгоритмов шифрования
Содержание
Постановка задачи
Теоретический материал
Исходные данные
Скриншоты работы программы
Выводы
Постановка задачи
1. Реализовать алгоритм DES и 4 режима шифрования. Шифрование реализовать для любой длины сообщения и любой длины ключа до 56 бит включительно.
2. Зашифровать сообщения длиной 1 МБ, 10 МБ, 20 МБ и ключом 5,6,7 байт. Для каждого режима, длины сообщения и ключа замерять время и скорость зашифрования
3. В режимах шифрования DESOFB и CFB размер блока шифрования брать равным порядковому номеру в списке группы
4. Реализовать алгоритм RSA. Сгенерировать 3 пары открытый/закрытый ключей. Брать файлы размером 20 Кб, 50 Кб, 100 Кб, 500 Кб, 1 МБ.
5. Каждый файл шифровать с 3 парами ключей. Посчитать время зашифрования/расшифрования и среднюю скорость шифрования/расшифрования для каждой пары ключей и каждого файла.
6. Программа должна предусматривать сохранение зашифрованного и расшифрованного файла на диск, а также вывод на экран скорости и времени шифрования.
Примечание.
1. Исходный текст брать произвольный, используя символы из Алфавита (Алфавит брать из Таблицы 1, согласно Вашего варианта)
2. Ваш вариант =(Номер в списке группы) mod 23
3. Буквам поставить в соотвествие числа [0..мощность_алфавита-1 ] (например букве а->0,б->1, в->2 итд.)
Таблица 1.
№ п/п | A | B | Алфавит |
| 15 | 2000 | 5000 | Цифры, спецсимвол(@) и строчные буквы русского алфавита |
Шифр RSA
Алгоритм RSA предложили в 1978 г. три автора: Р.Райвест (Rivest), А.Шамир (Shamir) и А.Адлеман (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов. Алгоритм RSA стал первым полноценным алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи.
Надежность алгоритма основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов.
В криптосистеме RSA открытый ключ КA , секретный ключ КB , сообщение М и криптограмма С принадлежат множеству целых чисел
ZN ={0,1,2,...,N-1} (1)
где N - модуль:
N = P*Q . (2)
Здесь Р и Q - случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят в секрете.
Множество ZN с операциями сложения и умножения по модулю N образует арифметику по модулю N .
Открытый ключ КA выбирают случайным образом так, чтобы выполнялись условия:
(3)
, (4)
где - функция Эйлера, указывающая количество положительных целых чисел в интервале от 1 до N , которые взаимно просты сN .
Условие (4) означает, что открытый ключ КA и функция Эйлера должны быть взаимно простыми.
Далее, используя расширенный алгоритм Евклида, вычисляют секретный ключ K B , такой, что
KB * К A = 1 ( mod( ) (5)
или
Это можно осуществить, так как получатель В знает пару простых чисел (P,Q) и может легко найти . Заметим, что K B и N должны быть взаимно простыми.
Открытый ключ К A используют для шифрования данных, а секретный ключ K B -для расшифрования.
Преобразование шифрования определяет криптограмму С через пару (открытый ключ КA , сообщение М ) в соответствии со следующей формулой:
(6)
Обращение функции , т.е. определение значения М по известным значениям С , К A и N , практически не осуществимо при N > 2512 .
Однако обратную задачу, т.е. задачу расшифрования криптограммы С , можно решить, используя пару (секретный ключ K B , криптограмма С ) по следующей формуле:
(7)
Процесс расшифрования можно записать так:
DB (ЕА (М)) = М . (8)
Подставляя в (8) значения (6) и (7), получаем:
Или
(9)
Величина играет важную роль в теореме Эйлера, которая утверждает, что если НОД (х,N)=1 , то
или в несколько более общей форме
(10)
Сопоставляя выражения (9) и (10), получаем
или, ч
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.