Криптографическая защита в телекоммуникациях
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
ли N1 и N2 и аналогично осуществляется процесс выработки М блоков гаммы шифра , , ... ,. Блоки зашифрованных данных , , ... , суммируются поразрядно по модулю 2 в сумматоре СМ5 с блоками гаммы шифра, в результате получаются блоки открытых данных ,,...,, при этом может содержать меньше 64 разрядов.
Уравнение расшифрования имеет вид:
=1…M
криптосистема гаммирование матрица шифрование
2. Симметричная криптосистема DES
Задание: Сформировать ключ Кi для заданного цикла шифрования i в режиме электронная кодовая книга, если:
для варианта 18 начальный ключ К равен (33, 8, 29, 17, 19, 105, 9, 36)
Номер вариантаНомер цикла шифрования ( i )182
Ответ представить в виде последовательности десятичных чисел.
Решение:
На каждой итерации используется новое значение ключа (длиной 48 бит). Новое значение ключа вычисляется из начального ключа (рис. 2.1).
Рис. 2.1. Схема алгоритма вычисления ключей
Ключ представляет собой 64-битовый блок с 8 битами контроля по четности, расположенными в позициях 8, 16, 24, 32, 40, 48, 56, 64.
Начальный ключ К равен (33, 8, 29, 17, 19, 105, 9, 36). Переводим его в двоичный вид и представляем в виде таблицы 1.
Таблица 1
123456781(33)001000019101112131415162(8)0000100017181920212223243(29)0001110125262728293031324(17)0001000133343536373839405(19)0001001141424344454647486(105)0110100149505152535455567(9)0000100157585960616263648(36)00100100
Для удаления контрольных бит и подготовки ключа к работе используется функция первоначальной подготовки ключа (табл. 2). Делим 56-битовый ключ на две 28-битовые половинки. Перестановка ключа.
Таблица 2Функция G57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124
Таблица 2 разделена на две части. Результат преобразования разбивается на две половины и , по 28 бит каждая. Первые четыре строки матрицы определяют, как выбираются биты последовательности (первым битом будет бит 57 ключа шифра, затем бит 49 и т.д., а последними битами - биты 44 и 36 ключа). Следующие четыре строки матрицы определяют, как выбираются биты последовательности (т.е. последовательность будет состоять из бит 63, 55, 47,...,12, 4 ключа шифра). Функция G для нашего варианта представлена в таблице 3
Таблица 3Функция G00000000001000001010000100010001000010000100011001101100
Как видно из табл. 2, для генерации последовательностей и не используются биты 8, 16, 24, 32, 40, 48, 56 и 64 ключа шифра. Эти биты не влияют на шифрование и могут служить для других целей (например, для контроля по четности). Таким образом, в действительности ключ шифра является 56-битовым. После определения и определяются и , . Для этого применяются операции циклического сдвига влево на один или два бита в зависимости от номера шага итерации, как показано в табл. 4.
Таблица 4
Таблица сдвигов для вычисления ключаИтерация12345678910111213141516 Сдвиг влево1122222212222221
Операции сдвига выполняются для последовательностей и независимо.
Сдвигаем при 2-ом цикле:
Таблица 5(со сдвигом)
Функция G00000000100000101000010001000100001000010001100110110000
Ключ , определяемый на каждом шаге итерации, есть результат выбора конкретных бит из 56-битовой последовательности и их перестановки. Другими словами, ключ
где функция определяется матрицей, завершающей обработку ключа (табл. 6). После сдвига выбираются 48 из 56 битов. Поскольку при этом не только выбирается подмножество битов, но и изменяется их порядок. Данная операция называется сжимающей перестановкой. В её результате появляется набор из 48 битов. Сжимающая перестановка.
Таблица 6
Функция H1417112415328156211023192242681672720132415231374755304051453348444939563453464250362932
Как следует из табл. 6, первым битом ключа будет 14-й бит последовательности , вторым - 17-й бит, 47-м битом ключа будет 29-й бит , а 48-м битом - 32-й бит . Результат заносим в табл. 7
Таблица 7
Ключ К1000001001101010000000010010101000000000000000010
Таблица 8
000001001101010000000011010101000000000000000010
К2(4, 212, 3, 84, 0, 2)
3.Асимметричая криптосистема RSA
Сгенерировать ключи, открытый К0 и секретный Кс, ключи, для шифрования и расшифрования, зашифровать сообщение М и расшифровать его. Убедиться , что ключи сгенерированы правильно.
Исходные данные: простые числа Р и Q, сообщение М.
Вариант 18:
P=13;
Q=29;
M=3.
Значение модуля:
Функция Эйлера:;
;
Если выбрать и - взаимно простые числа, т.е. , тогда
,
,
.
То есть для нахождения обратной величины необходимо вычислить . Эта задача решается в ходе вычисления в соответствии с алгоритмом Евклида. Дополнительно на каждом шаге вычисляются координаты двух векторов:
, .
Алгоритм вычисления имеет следующий вид
1.Начальные установки:
, т.е. , , . При этом , т.е. ,
, т.е. , , . При этом .
2.Проверяем, выполняется ли , если да, то алгоритм заканчивается.
3.Делим на ( на ) и определяем:
и значения векторов: ; .
4.Вернуться к шагу 2.
На каждом шаге при расчетах используются