Алгоритмы шифрования
Автор: salevko • Март 24, 2022 • Контрольная работа • 1,856 Слов (8 Страниц) • 229 Просмотры
Алгоритмы шифрования
- RSA – шифрование
А) Создание ключей:
1. Определяем два простых больших числа p и q
2. Составляем число n = p * q
3. Находим m = ф(n) = ф(p*q) = (p-1) *(q-1)
4. Выбираем число (c, m) = 1, с = rand(1<c<m)
5.Решаем: cx = 1(mod m); x = сф(m)-1(mod m)
6.Составляем ключи: открытый ключ k0= (n, c), секретный ключ kc= (n, d)
Б) Шифрование:
1. Имеется открытый текст. Переводим его в 256 🡪 10 🡪 n – системы счисления. Переводить поочерёдно
2. По формуле рассчитываем шифротекст: yi= xic (mod n); y = [y1, y2, …, yn]
3. Шифрованный текст отправляем получателю
В) Расшифровка:
1. По формуле рассчитываем открытый текст: xi= yid (mod n); x = [x1, x2, …, xn]
2. Переводим полученные данные обратно в n 🡪 10 🡪 256 – системы счисления
3. Конец
- Эль-Гамаля– шифрование
А) Создание ключей:
1. Вова создаёт простое число p и определяет первообразный корень g по mod p
2. Вова выбирает секретную часть c (1 <c <p-1) случайным образом
3. Создаёт открытую часть P= gc (mod p)
4. Открытый ключ k0= (p, g, P), секретный ключ kc= (p, g, c). Открытый отправляет другу по переписке
Б) Шифрование:
1. Имеется открытый текст. Переводим его в 256 🡪 10 🡪 p – системы счисления. Переводить поочерёдно.
2. Рассчитываем первую часть шифротекста y: yi= ge (mod p); e = rand, 1 <e <p-1; для каждого y составляем новое e
3. Рассчитываем вторую часть шифротекста z: zi= xi * Pe (mod p)
В) Расшифровка:
1. Находим открытый текст: xi= zi * yip-1-c (mod p)
2. Переводим полученные данные обратно в p 🡪 10 🡪 256 – системы счисления
3. Конец
- Диффи-Хелмана - шифрование
1. Артур и Вова передавали простое число p и первообразный корень g по mod p по каналу связи
2. Артур выбрал своё число: 1 <a <p-1
3. Вова выбрал своё число: 1 <b <p-1
4. Артур находит число: c= ga (mod p) и отправляет Вове
5. Вова находит число: d= gb (mod p) и отправляет Алисе
6. Артур с помощью числа d вычисляет: e= da (mod p)
7. Вова с помощью числа c вычисляет: f= cb (mod p)
Секретный ключ kc = e = f
- Полибия – шифрование
Для шифрования используется квадратная таблица, в которую вписаны все буквы шифруемого алфавита. Если букв больше, то можно их совмещать или добавлять ячейки с произвольными знаками. Квадрат может заполнятся символами произвольно, а не строго в алфавитном порядке. Однако такое заполнение трудно запомнить, поэтому лучше использовать ключ, в котором нет повторяющихся символов (повторения также можно игнорировать), а все остальные – вписать в таблицу в порядке возрастания. К примеру, мы используем слово-пароль PASSWORD, удалим из него повторения и впишем в таблицу, затем запишем оставшиеся значения, и получим. В этом методе для шифрования в квадрате ищут исходную букву и в качестве кода берут нижнюю от нее расположенную в том же столбце, или самую верхнюю, если искомый символ расположен в последней строке.
- Виженер – шифрование
Изначально нужно сделать квадрат Виженера, можно посмотреть в интернете. Придумайте ключевое слово короче фразы или фраз, которые вы хотите зашифровать. Запишите сообщение без пробелов. Запишите ключевое слово под сообщением, чтобы каждая буква стояла строго под соответствующей буквой сообщения. Повторяйте это слово (без пробелов) до конца сообщения. Укоротите ключевое слово, чтобы оно помещалось во фразу, если это необходимо. Перейдите к ряду первой буквы в ключевом слове в квадрате Виженера и найдите колонку с первой буквой изначального сообщения, а затем найдите точку пересечения ряда и колонки. Продолжайте делать то же самое для всех букв фразы по порядку, пока не зашифруете ее целиком. Чтобы расшифровать текст, выполните описанные выше действия в обратном порядке. Найдите ряд, обозначенный первой буквой ключевого слова. Продолжайте делать то же самое для всех букв фразы по порядку, пока не расшифруете ее целиком.
...