Криптографическая защита в телекоммуникациях

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

ли 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.

 

На каждом шаге при расчетах используются