1648 битовые ключи раз
Цикл шифрования основан на принципах подстановки и перестановки и реализуется 16 раз следующим образом:
1) блок в 64 бита разбивается на две половины по 32 бита в каждой;
2) правая половина дополняется до 48 бит с использованием специальной программы-расширителя;
3) из общего ключа шифрования длиной 56 бит выбирается случайным образом 48 бит
4) коды бит расширенной правой половины складываются по модулю 2 с кодами бит ключа;
5) из полученной последовательности с помощью специальной программыпреобразователя выделяется 32 бит
6) левая половина текста заменяется на правую, а правая — на левую, сложенную с правой, полученной на предыдущей итерации, по модулю 2.
В России действует свой аналогичный алгоритм шифрования, основанный на ГОСТ 28147-89. Принцип шифрования во многом похож на алгоритм DES хотя ключи шифрования и функции преобразования отличаются. Данный алгоритм используется в военной и дипломатической связи, в коммерческой сфере его применение ограничено, т.к. система Windows, да и другие операционные системы, естественно, используют американские алгоритмы.
В системах шифрования с двумя ключами (иногда называемыми системами шифрования с открытым ключом) для шифрования и расшифровки данных используется различные ключи. Первый ключ (все равно какой — ключ шифрования или ключ расшифровки) является открытым и может быть использован всеми абонентами сети. Второй ключ является секретным и может быть известен только абоненту, создавшему его. Ключи необходимо подбирать так, чтобы один не мог быть определен из другого.
Одним из наиболее распространенных двухключевых методов шифрования является метод RSA (назван по фамилиям его изобретателей — Rivest, Shamir, Aldeman). Метод основан на решении задачи поиска делителей простых целых чисел.
Процесс кодирования методом RSA состоит из двух основных этапов: генерация ключей и собственно шифрование.
Этап генерации ключей состоит из следующих шагов:
Выбор двух простых числа р и q.
Вычисление модуля шифрования: п = р • q.
Вычисление произведения s = (р — 1) • (q — 1)
Выбор числа Ц которое будет взаимно простым с
Вычисляют число е, обратное к числу d по умножению в поле по модулю
Пары чисел (е, п) и (d, п) и будут использоваться в качестве ключей. Один из ключей делается секретным, а другой — открытым и помещается в общедоступный справочник, утверждаемый юридически. Значения чисел р и q стираются.
Процесс шифрования состоит из следующих шагов:
1. Разбиение текста на блоки, каждый из которых может быть представлен в виде двоичного числа Л“ длиной, равной наибольшему значению Т, для которого выполняется неравенство:
2. Для шифрования текста необходимо выбрать нужный ключ (е, п) и вычислить числа
А. = М.е modn
Расшифровка с помощью секретного ключа состоит из следующих шагов: 1 Произвести вычисления по формуле
2. Преобразовать полученную последовательность чисел 1'Vi в исходный текст.
Рассмотрим упрощенный вариант реализации алгоритма, когда в качестве блоков используются коды букв.
Пусть дано два числа р — 7, q 13. Необходимо выполнить процедуру генерации ключей для алгоритма RSA и зашифровать с помощью полученных ключей слово БЕЗОПАСНОСТЬ.
Необходимо выполнить следующие действия:
1. Вычислить модуль шифрования п:
2. Вычислить произведение
3. Выбрать число Ц которое будет взаимно простым с Одним из таких чисел будет 5 (хотя можно взять любое другое число). Найти такое число несложно, одним из способов является простой последовательный перебор:
72 : 2
72 : 5 — нацело не делится, следовательно, d= 5.
4. Выбрать число е, которое будет взаимно обратным с d по умножению в поле по модулю е • s)mods = (е • d)mod((p — 1) • (q — 1
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.