Криптографическая защита в телекоммуникациях
Белорусский государственный университет
информатики и радиоэлектроники
Факультет Заочного вечернего и дистанционного обучения
Кафедра сетей и устройств телекоммуникаций
Контрольная работа
По дисциплине
Криптографическая защита в ТК
Минск 2010
Содержание
1. Симметричная криптосистема ГОСТ 28147-89
. Симметричная криптосистема DES
. Асимметричая криптосистема RSA
. Поточная система шифрования
Список литературы
1. Симметричная криптосистема ГОСТ 28147-89
Описать работу алгоритма шифрования ГОСТ 28147-89: режим гаммирования
Зашифрование открытых данных в режиме гаммирования
Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, имеет вид, указанный на рис.1.1.
Открытые данные, разбитые на 64-разрядные блоки зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СМ5 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита, т.е.
где М - определяется объемом шифруемых данных.
- i-й 64-разрядный блок, i=1÷M, число двоичных разрядов в блоке может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока отбрасывается.
В КЗУ вводятся 256 бит ключа. В накопители N1, N2 вводится 64-разрядная двоичная последовательность (синхропосылка) S = (S1, S2,...,S64), являющаяся исходным заполнением этих накопителей для последующей выработки M блоков гаммы шифра. Синхропосылка вводится в N1 и N2 так, что значение S1 вводится в 1 -й разряд N1, значение S2 вводится во 2-й разряд N2 и т.д., значение S32 вводится в 32-й разряд N1 ; значение S33 вводится в 1-й разряд N2, значение S34 вводится во 2-й разряд N2 и т.д., значение S64 вводится в 32-й разряд N2.
Исходное заполнение накопителей N1 и N2 (синхропосылка S) зашифровывается в режиме простой замены. Результат зашифрования A(S) = (Y0, Z0) переписывается в 32-разрядные накопители N3 и N4, так, что заполнение N1 переписывается в N3, а заполнение N2 переписывается в N4.
Заполнение накопителя N4 суммируется по модулю (232- 1) в сумматоре СM4 с 32-разрядной константой С1 из накопителя N6, результат записывается в N4. Заполнение накопителя N3 суммируется по модулю 232 в сумматоре СМ3 в 32-разрядной константой С2 из накопителя N5 результат записывается в N3.
Рис.1.1
Заполнение Т3 переписывается в N1, а заполнение Т4 переписывается в N2, при этом заполнение Т3, Т4 сохраняется.
Заполнение N1 и N2 зашифровывается в режиме простой. Полученное в результате зашифрования заполнение N1, N2 образует первый 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных
В результате суммирования получается 64-разрядный блок зашифрованных данных
Значение блока является результатом суммирования по модулю 2 в СМ5 значения из блока со значением 1-го разряда N1, значение блока является результатом суммирования по модулю 2 в СM5 значения из блока со значением 2-го разряда N1 и т.д.. значение блока является результатом суммирования по модулю 2 в СM5 значения из блока со значением 32-го разряда N2.
Для получения следующего 64-разрядного блока гаммы шифра заполнение N4 суммируется по модулю (232-1) в сумматоре СМ4 с константой С1 из N6, заполнение N3 суммируется по модулю 232 в сумматоре СM3 с константой С2 из N5. Новое заполнение N3 переписывается N1, а новое заполнение N4 переписывается в N2, при этом заполнение N3 и N4 сохраняется.
Заполнение N1 и N2 зашифровывается в режиме простой. Полученное в результате зашифрования заполнение N1, N2 образует второй 64-разрядный блок гаммы шифра , который суммируется поразрядно по модулю 2 в
сумматоре СM5 со вторым блоком открытых данных . Аналогично вырабатываются блоки гаммы шифра , , ... , и зашифровываются блоки открытых данных , , ... , . Если длина последнего М-го блока открытых данных меньше 64 бит, то из последнего М-го блока гаммы шифра для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.
В канал связи или память ЭВМ передаются синхропосылка S и блоки зашифрованных данных , ,... , .
Уравнение зашифрования имеет вид:
i=1…M
где' - означает суммирование 32-разрядных заполнений по модулю (232 -1);
- поразрядное суммирование по модулю 2 двух заполнений;
Yi - содержимое накопителя N3 после зашифрования i-го блока открытых данных ;
Zi - cодержимое накопителя N4 после зашифрования i-го блока открытых данных ;
(Y0,Z0) = A(S).
Расшифрование зашифрованных данных в режиме гаммирования
При расшифровании криптосхема имеет тот же вид, что и при зашифровании (рис.З). В КЗУ вводятся 256 бит ключа, с помощью которого осуществлялось зашифрование данных ,,…,. Синхропосылка S вводится в накопители 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.
На каждом шаге при расчетах используются
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Контрольная работа
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ