Размещено на http://www.allbest.ru/ Белорусский государственный университет информатики и радиоэлектроники Факультет Заочного вечернего и дистанционного обучения Кафедра сетей и устройств телекоммуникаций Контрольная работа По дисциплине “Криптографическая защита в ТК” Минск 2010 Размещено на http://www.allbest.ru/ Содержание 1. Симметричная криптосистема ГОСТ 28147-89 2. Симметричная криптосистема DES 3. Асимметричая криптосистема RSA 4. Поточная система шифрования Список литературы Размещено на http://www.allbest.ru/ 1. Симметричная криптосистема ГОСТ 28147-89 Описать работу алгоритма шифрования ГОСТ 28147-89: режим гаммирования Зашифрование открытых данных в режиме гаммирования Криптосхема, реализующая алгоритм зашифрования в режиме 64-разрядные блоки гаммирования, имеет вид, указанный на рис.1.1. Открытые TO(1) , TO( 2) ,..., TO( M 1) , TO( M ) данные, разбитые на зашифровываются в режиме гаммирования путем пораз- рядного суммирования по модулю 2 в сумматоре СМ5 с гаммой шифра Гш, которая вырабатывается блоками по 64 бита, т.е. (1) ( 2) ( М 1) (М ) Г Ш (Г Ш , ГШ ,..., Г Ш , ГШ ) где М — определяется объемом шифруемых данных. (i ) ГШ - i-й 64-разрядный блок, i=1÷M, число двоичных разрядов в блоке T0( M ) может быть меньше 64, при этом неиспользованная для зашифрования (M ) часть гаммы шифра из блока Г Ш отбрасывается. В КЗУ вводятся 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) = Размещено на http://www.allbest.ru/ (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 Размещено на http://www.allbest.ru/ Заполнение Т3 переписывается в N1, а заполнение Т4 переписывается в N2, при этом заполнение Т3, Т4 сохраняется. Заполнение N1 и N2 зашифровывается в режиме простой. Полученное в результате зашифрования заполнение N1, N2 образует первый 64-разрядный (1) блок гаммы шифра Г Ш , который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных (1) (1) T0(1) (t1(1) , t 2(1) ,..., t63 , t64 ) В результате суммирования получается 64-разрядный блок зашифрованных данных (1) (1) TШ(1) ( 1(1) , 2(1) ,..., 63 , 64 ) (1) (1) Значение 1 блока TШ является результатом суммирования по модулю (1) (1) (1) 2 в СМ5 значения t1 из блока T0 со значением 1-го разряда N1, значение 2 (1) блока TШ является результатом суммирования по модулю 2 в СM5 значения (1) (1) t 2(1) из блока T0 со значением 2-го разряда N и т.д.. значение 64 блока TШ(1) 1 (1) является результатом суммирования по модулю 2 в СM5 значения t 64 из (1) блока T0 со значением 32-го разряда N2. ( 2) Для получения следующего 64-разрядного блока гаммы шифра Г Ш заполнение N4 суммируется по модулю (232—1) в сумматоре СМ4 с константой С1 из N6, заполнение N3 суммируется по модулю 232 в сумматоре СM3 с константой С2 из N5. Новое заполнение N3 переписывается N1, а новое заполнение N4 переписывается в N2, при этом заполнение N3 и N4 сохраняется. Размещено на http://www.allbest.ru/ Заполнение N1 и N2 зашифровывается в режиме простой. Полученное в результате зашифрования заполнение N1, N2 образует второй 64-разрядный ( 2) блок гаммы шифра Г Ш , который суммируется поразрядно по модулю 2 в ( 2) сумматоре СM5 со вторым блоком открытых данных T0 . Аналогично ( 3) ( 4) (M ) вырабатываются блоки гаммы шифра Г Ш , Г Ш , ... , Г Ш и зашифровываются ( 3) ( 4) (M ) блоки открытых данных T0 , T0 , ... , T0 . Если длина последнего М-го (M ) блока открытых данных T0 меньше 64 бит, то из последнего М-го блока (M ) гаммы шифра Г Ш для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются. В канал связи или память ЭВМ передаются синхропосылка S и блоки (1) ( 2) (M ) зашифрованных данных T Ш , TШ ,... , TШ . Уравнение зашифрования имеет вид: i T Ш(i ) A(Yi 1 C 2 , Z i 1 ' C1 ) T0i Г Ш T0i i=1…M где ' - означает суммирование 32-разрядных заполнений по модулю (232 -1); — поразрядное суммирование по модулю 2 двух заполнений; Yi — содержимое накопителя N3 после зашифрования i-го блока (i ) открытых данных T0 ; Zi - cодержимое накопителя N4 после зашифрования i-го блока (i ) открытых данных T0 ; (Y0,Z0) = A(S). Расшифрование зашифрованных данных в режиме гаммирования Размещено на http://www.allbest.ru/ При расшифровании криптосхема имеет тот же вид, что и при зашифровании (рис.З). В КЗУ вводятся 256 бит ключа, с помощью которого (1) ( 2) (M ) осуществлялось зашифрование данных T0 , T0 ,…, T0 . Синхропосылка S вводится в накопители N1 и N2 и аналогично осуществляется процесс (1) ( 2) (M ) выработки М блоков гаммы шифра Г Ш , Г Ш , ... , Г Ш . Блоки зашифрованных (1) ( 2) (М ) данных T Ш , TШ , ... , TШ суммируются поразрядно по модулю 2 в сумматоре СМ5 с блоками гаммы шифра, в результате получаются блоки открытых (1) ( 2) (М ) (М ) данных T0 , T0 ,..., T0 , при этом T0 может содержать меньше 64 разрядов. Уравнение расшифрования имеет вид: i T0(i ) A(Yi 1 C 2 , Z i 1 ' C1 ) TШi Г Ш TШi i=1…M криптосистема гаммирование матрица шифрование Размещено на http://www.allbest.ru/ 2. Симметричная криптосистема DES Задание: Сформировать ключ Кi для заданного цикла шифрования i в режиме электронная кодовая книга, если: для варианта 18 начальный ключ К равен (33, 8, 29, 17, 19, 105, 9, 36) Номер Номер варианта шифрования ( i ) 18 2 цикла Ответ представить в виде последовательности десятичных чисел. Решение: На каждой итерации используется новое значение ключа K i (длиной 48 бит). Новое значение ключа K i вычисляется из начального ключа K (рис. 2.1). Рис. 2.1. Схема алгоритма вычисления ключей K i Ключ K представляет собой 64-битовый блок с 8 битами контроля по четности, расположенными в позициях 8, 16, 24, 32, 40, 48, 56, 64. Размещено на http://www.allbest.ru/ Начальный ключ К равен (33, 8, 29, 17, 19, 105, 9, 36). Переводим его в двоичный вид и представляем в виде таблицы 1. Таблица 1 1(33) 2(8) 3(29) 4(17) 5(19) 6(105) 7(9) 8(36) 1 2 3 4 5 6 7 8 0 0 1 0 0 0 0 1 9 10 11 12 13 14 15 16 0 0 0 0 1 0 0 0 17 18 19 20 21 22 23 24 0 0 0 1 1 1 0 1 25 26 27 28 29 30 31 32 0 0 0 1 0 0 0 1 33 34 35 36 37 38 39 40 0 0 0 1 0 0 1 1 41 42 43 44 45 46 47 48 0 1 1 0 1 0 0 1 49 50 51 52 53 54 55 56 0 0 0 0 1 0 0 1 57 58 59 60 61 62 63 64 0 0 1 0 0 1 0 0 Для удаления контрольных бит и подготовки ключа к работе используется функция G первоначальной подготовки ключа (табл. 2). Делим 56-битовый ключ на две 28-битовые половинки. Перестановка ключа. Таблица 2 Функция G С0 D0 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Размещено на http://www.allbest.ru/ Таблица 2 разделена на две части. Результат преобразования G K разбивается на две половины C 0 и D 0 , по 28 бит каждая. Первые четыре строки матрицы G определяют, как выбираются биты последовательности C (первым битом C 0 будет бит 57 ключа шифра, затем бит 49 и т.д., а последними битами - биты 44 и 36 ключа). Следующие четыре строки матрицы G определяют, как выбираются биты последовательности D 0 (т.е. последовательность D 0 будет состоять из бит 63, 55, 47,...,12, 4 ключа шифра). Функция G для нашего варианта представлена в таблице 3 Таблица 3 Функция G С0 D0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 Как видно из табл. 2, для генерации последовательностей C 0 и D 0 не используются биты 8, 16, 24, 32, 40, 48, 56 и 64 ключа шифра. Эти биты не влияют на шифрование и могут служить для других целей (например, для контроля по четности). Таким образом, в действительности ключ шифра является 56-битовым. После определения C 0 и D 0 определяются Ci и D i , i 1,2, ,16 . Для этого применяются операции циклического сдвига влево на один или два бита в зависимости от номера шага итерации, как показано в табл. 4. Размещено на http://www.allbest.ru/ Таблица 4 Таблица сдвигов для вычисления ключа Итерация 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Сдвиг влево 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Операции сдвига выполняются для последовательностей Ci и D i независимо. Сдвигаем при 2-ом цикле: Таблица 5(со сдвигом) Функция G 0 0 0 0 0 0 0 С1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 D1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 0 0 Ключ K i , определяемый на каждом шаге итерации, есть результат выбора конкретных бит из 56-битовой последовательности Ci D i и их перестановки. Другими словами, ключ K i H Ci Di где функция H определяется матрицей, завершающей обработку ключа (табл. 6). После сдвига выбираются 48 из 56 битов. Поскольку при этом не только выбирается подмножество битов, но и изменяется их порядок. Данная операция называется сжимающей перестановкой. В её результате появляется набор из 48 битов. Сжимающая перестановка. Размещено на http://www.allbest.ru/ Таблица 6 Функция H 14 17 11 24 1 5 3 28 15 6 21 10 23 19 22 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 Как следует из табл. 6, первым битом ключа K i будет 14-й бит последовательности Ci D i , вторым - 17-й бит, 47-м битом ключа K i будет 29-й бит Ci D i , а 48-м битом - 32-й бит Ci D i . Результат заносим в табл. 7 Таблица 7 Ключ К1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Таблица 8 К2(4, 212, 3, 84, 0, 2) Размещено на http://www.allbest.ru/ 3.Асимметричая криптосистема RSA Сгенерировать ключи, открытый К0 и секретный Кс, ключи, для шифрования и расшифрования, зашифровать сообщение М и расшифровать его. Убедиться , что ключи сгенерированы правильно. Исходные данные: простые числа Р и Q, сообщение М. Вариант 18: P=13; Q=29; M=3. Значение модуля: n P Q 13 29 377; Функция Эйлера: (n) ( P 1) (Q 1) 12 28 336 ; ÍÎÄ ( K 0 , (n)) 1; 1 K 0 (n); K 0 7; K C K 01 mod (n) 7 1 mod 336 ; Если выбрать b n и a, n - взаимно простые числа, т.е. a, n 1, тогда a u1 n u 2 1 , a u1 n u 2 mod n a u1 mod n 1 , a mod n u 1 1 mod n . Размещено на http://www.allbest.ru/ То есть для нахождения обратной величины необходимо вычислить u1 mod n . Эта задача решается в ходе вычисления Í Î Ä a, n в соответствии с алгоритмом Евклида. Дополнительно на каждом шаге вычисляются координаты двух векторов: u=(u1 , u 2 , u 3 ) , v (v1 , v2 , v3 ) . Алгоритм вычисления u 1 имеет следующий вид 1. Начальные установки: u 0 =(0,1, n) , т.е. u1 0 , u 2 1 , u 3 n . При этом a 0 b 1 n , т.е. b n , v0 (1,0, a) , т.е. v1 1, v2 0 , v3 a . При этом a 1 n 0 a . 2. Проверяем, выполняется ли u 3 1, если да, то алгоритм заканчивается. 3. Делим n на a ( u 3 на v3 ) и определяем: u q1 3 v3 и значения векторов: u1 v0 ; v1 u 0 q1 v0 . 4. Вернуться к шагу 2. На каждом шаге при расчетах используютсяРазмещено на Allbest.ru результаты предыдущего: u qi 3 v3 i 1 , u i vi-1 , vi u i -1 qi vi -1 . Размещено на http://www.allbest.ru/ При u 3 1 вычисления заканчиваются a mod n u 1 значение u 1 , полученное на последнем шаге. Результат вычислений q u1 u2 u3 v1 v2 v3 0 1 377 1 0 7 53 1 0 7 -53 1 6 1 -53 1 6 54 -1 1 54 -1 1 Значение секретного ключа: K C K 01 mod (n) 7 1 mod( 336) 48 ; Шифрование числа M=3: C (M K0 ) mod( n) 37 mod 377 2187 mod 377 302 Расшифровка числа M: M (C KC ) mod( n) 302 48 mod 377 3 1 mod n , где u 1 Размещено на http://www.allbest.ru/ 4. Поточная система шифрования Сгенерировать псевдослучайную последовательность чисел с помощью линейного конгруэнтного генератора, если его параметры равны: Х0=5, а=2, с=9, N=72 (18 вариант); Сгенерировать 8 десятичных чисел, перевести их в двоичный вид*, зашифровать поточным способом сообщение М=(33, 8, 29, 17, 19, 105, 9, 36)*. Ответ представить в виде последовательности десятичных чисел*. *При переводе последовательности десятичных чисел в двоичный код использовать восьмибитовое представление десятичного числа, считать, что правое десятичное число соответствует младшим разрядам двоичного числа. Например, (2,….., 7) 00000010…….. 00000111. Линейный конгруэнтный метод — один из алгоритмов генерации псевдослучайных чисел. Применяется в простых случаях и не обладает криптографической стойкостью. Входит в стандартные библиотеки различных компиляторов. Этот алгоритм заключается в итеративном применении следующей формулы: X K 1 (a X K 1 C) mod N ; где a > 0, c > 0, N > 0 — некоторые целочисленные константы. Получаемая последовательность зависит от выбора стартового числа X0 и при разных его значениях получаются различные последовательности случайных чисел. В то же время, многие свойства последовательности Xj определяются выбором коэффициентов в формуле и не зависят от выбора стартового числа. Ясно, что последовательность чисел, генерируемая таким алгоритмом, периодична с периодом, не превышающим N. При этом длина периода равна N тогда и только тогда, когда: 1. НОД (c, m) = 1 (то есть c и m взаимно просты); Размещено на http://www.allbest.ru/ 2. a - 1 кратно p для всех простых p — делителей N; 3. a - 1 кратно 4, если N кратно 4. Статистические свойства получаемой последовательности случайных чисел полностью определяются выбором констант a и c при заданной разрядности e. Для этих констант выписаны условия, гарантирующие удовлетворительное качество получаемых случайных чисел. X 1 (a X 0 C ) mod N (2 5 9) mod 72 19; X 2 (a X1 C) mod N (2 19 9) mod 72 47; X 3 (a X 2 C ) mod N (2 47 9) mod 72 31; X 4 (a X 3 C ) mod N (2 31 9) mod 72 71; X 5 (a X 4 C ) mod N (2 71 9) mod 72 7; X 6 (a X 5 C ) mod N (2 7 9) mod 72 23; X 7 (a X 6 C ) mod N (2 23 9) mod 72 55; X 8 (a X 7 C ) mod N (2 55 9) mod 72 47; Простейшая реализация поточного шифра изображена на рисунке. Размещено на http://www.allbest.ru/ Генератор гаммы Открытый текст Генератор гаммы Открытый текст Шифротекст Зашифрование Расшифрование Рис 4.1 Режим гаммирования для поточных шифров Генератор гаммы выдаёт ключевой поток (гамму): Поток битов открытого текста: . . Гамма шифра и поток битов открытого текста подвергаются операции XOR. Так получается поток битов шифротекста: , где . Расшифрование производится операцией XOR между той же самой гаммой и зашифрованным текстом: . Очевидно, что если последовательность битов гаммы не имеет периода и выбирается случайно, то взломать шифр невозможно. Но у данного режима шифрования есть и отрицательные особенности. Так ключи, сравнимые по длине с передаваемыми сообщениями, трудно использовать на практике. Поэтому обычно применяют ключ меньшей длины (например, 128 бит). С помощью него генерируется псевдослучайная гаммирующая последовательность ( она должна удовлетворять постулатам Голомба). Размещено на http://www.allbest.ru/ Естественно, псевдослучайность гаммы может быть использована при атаке на поточный шифр. Xt=(19,47,31,71,7,23,55,47). переводим полученную последовательность в двоичный вид и получим K 00010011.00101111.00011111.01000111.00000111.00010111.00110111.00 101111 переводим сообщение М в двоичный вид 00100001.00001000.00011101.00010001.00010011.01101001.00001001.00 100100 Шифруем, выполняя действие побитово: C = K M С: 00110010.00100111.00000010.01010110.00010100.01111110.00111110.00 001011 переводим шифротекст в десятичный вид С(50, 39, 2, 86, 20, 126, 62, 11) Размещено на http://www.allbest.ru/ Список литературы 1. ГОСТ 28147-89. 2. Харин Ю.С., Берник В.И., Матвеев Г.В., Агиевич С.В. Основы криптологии. Мн. Новое знание, 2003г. 3. Криптогафическая защита информации в телекоммуникационных системах: Учебно-методическое пособие для студ. спец. «Сети телекоммуникаций» и «Защита информации в телекоммуникациях» всех форм обуч.: В 2 ч. Ч.1/ В.Ф. Голиков, А.В. Курилович. – Мн.: БГУИР, 2006. – 55 с.: ил. 4. Романец Ю.В. Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. М. Радио и связь, 1999 г. Размещено на Allbest.ru