Криптографическая защита в телекоммуникациях
Симметричная криптосистема, шифрование открытых данных в режиме гаммирования. Уравнение расшифрования и его значение. Формирование ключа в режиме "электронная кодовая книга" и перевод его в двоичный вид. Удаление контрольных бит и определение матрицы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 21.10.2011 |
Размер файла | 418,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Белорусский государственный университет
информатики и радиоэлектроники
Факультет Заочного вечернего и дистанционного обучения
Кафедра сетей и устройств телекоммуникаций
Контрольная работа
По дисциплине
“Криптографическая защита в ТК”
Минск 2010
Содержание
1. Симметричная криптосистема ГОСТ 28147-89
2. Симметричная криптосистема DES
3. Асимметричая криптосистема RSA
4. Поточная система шифрования
Список литературы
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 разрядов.
Уравнение расшифрования имеет вид:
i=1…M
криптосистема гаммирование матрица шифрование
2. Симметричная криптосистема DES
Задание: Сформировать ключ Кi для заданного цикла шифрования i в режиме электронная кодовая книга, если:
для варианта 18 начальный ключ К равен (33, 8, 29, 17, 19, 105, 9, 36)
Номер варианта |
Номер цикла шифрования ( i ) |
|
18 |
2 |
Ответ представить в виде последовательности десятичных чисел.
Решение:
На каждой итерации используется новое значение ключа (длиной 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
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||
1(33) |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
||
2(8) |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
||
3(29) |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
|
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
||
4(17) |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
|
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
||
5(19) |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
|
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
||
6(105) |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
|
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
||
7(9) |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
|
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
||
8(36) |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
Для удаления контрольных бит и подготовки ключа к работе используется функция первоначальной подготовки ключа (табл. 2). Делим 56-битовый ключ на две 28-битовые половинки. Перестановка ключа.
Таблица 2 |
||||||||
Функция G |
||||||||
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 |
Таблица 2 разделена на две части. Результат преобразова-ния разбивается на две половины и , по 28 бит каждая. Первые четыре строки матрицы определяют, как выбираются биты последовательности (первым битом будет бит 57 ключа шифра, затем бит 49 и т.д., а последними битами _ биты 44 и 36 ключа). Следующие четыре строки матрицы определяют, как выбираются биты последовательности (т.е. последователь-ность будет состоять из бит 63, 55, 47,...,12, 4 ключа шифра). Функция G для нашего варианта представлена в таблице 3
Таблица 3 |
||||||||
Функция G |
||||||||
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, для генерации последовательностей и не используются биты 8, 16, 24, 32, 40, 48, 56 и 64 ключа шифра. Эти биты не влияют на шифрование и могут служить для других целей (например, для контроля по четности). Таким образом, в действительности ключ шифра является 56_битовым. После определения и определяются и , . Для этого применяются операции циклического сдвига влево на один или два бита в зависимости от номера шага итерации, как показано в табл. 4.
Таблица 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 |
Операции сдвига выполняются для последовательностей и независимо.
Сдвигаем при 2-ом цикле:
Таблица 5(со сдвигом)
Функция G |
||||||||
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 |
0 |
0 |
Ключ , определяемый на каждом шаге итерации, есть результат выбора конкретных бит из 56_битовой последователь-ности и их перестановки. Другими словами, ключ
где функция определяется матрицей, завершающей обработку ключа (табл. 6). После сдвига выбираются 48 из 56 битов. Поскольку при этом не только выбирается подмножество битов, но и изменяется их порядок. Данная операция называется сжимающей перестановкой. В её результате появляется набор из 48 битов. Сжимающая перестановка.
Таблица 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, первым битом ключа будет 14_й бит последовательности , вторым _ 17_й бит, 47_м битом клю-ча будет 29_й бит , а 48_м битом _ 32_й бит . Результат заносим в табл. 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 |
Таблица 8
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 |
К2(4, 212, 3, 84, 0, 2)
3.Асимметричая криптосистема RSA
Сгенерировать ключи, открытый К0 и секретный Кс, ключи, для шифрования и расшифрования, зашифровать сообщение М и расшифровать его. Убедиться , что ключи сгенерированы правильно.
Исходные данные: простые числа Р и Q, сообщение М.
Вариант 18:
P=13;
Q=29;
M=3.
Значение модуля:
Функция Эйлера:;
;
Если выбрать и _ взаимно простые числа, т.е. , тогда
,
,
.
То есть для нахождения обратной величины необходимо вычислить . Эта задача решается в ходе вычисления в соответствии с алгоритмом Евклида. Дополнительно на каждом шаге вычисляются координаты двух векторов:
, .
Алгоритм вычисления имеет следующий вид
1. Начальные установки:
, т.е. , , . При этом , т.е. ,
, т.е. , , . При этом .
2. Проверяем, выполняется ли , если да, то алгоритм заканчивается.
3. Делим на ( на ) и определяем:
и значения векторов: ; .
4. Вернуться к шагу 2.
На каждом шаге при расчетах используютсяРазмещено на Allbest.ru результаты предыдущего:
, , .
При вычисления заканчиваются , где значение , полученное на последнем шаге.
Результат вычислений
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 |
Значение секретного ключа:
;
Шифрование числа M=3:
Расшифровка числа M:
4. Поточная система шифрования
Сгенерировать псевдослучайную последовательность чисел с помощью линейного конгруэнтного генератора, если его параметры равны:
Х0=5, а=2, с=9, N=72 (18 вариант);
Сгенерировать 8 десятичных чисел, перевести их в двоичный вид*, зашифровать поточным способом сообщение М=(33, 8, 29, 17, 19, 105, 9, 36)*. Ответ представить в виде последовательности десятичных чисел*.
*При переводе последовательности десятичных чисел в двоичный код использовать восьмибитовое представление десятичного числа, считать, что правое десятичное число соответствует младшим разрядам двоичного числа.
Например, (2,….., 7) 00000010…….. 00000111.
Линейный конгруэнтный метод -- один из алгоритмов генерации псевдослучайных чисел. Применяется в простых случаях и не обладает криптографической стойкостью. Входит в стандартные библиотеки различных компиляторов.
Этот алгоритм заключается в итеративном применении следующей формулы:
где a > 0, c > 0, N > 0 -- некоторые целочисленные константы. Получаемая последовательность зависит от выбора стартового числа X0 и при разных его значениях получаются различные последовательности случайных чисел. В то же время, многие свойства последовательности Xj определяются выбором коэффициентов в формуле и не зависят от выбора стартового числа. Ясно, что последовательность чисел, генерируемая таким алгоритмом, периодична с периодом, не превышающим N. При этом длина периода равна N тогда и только тогда, когда:
1. НОД (c, m) = 1 (то есть c и m взаимно просты);
2. a - 1 кратно p для всех простых p -- делителей N;
3. a - 1 кратно 4, если N кратно 4.
Статистические свойства получаемой последовательности случайных чисел полностью определяются выбором констант a и c при заданной разрядности e. Для этих констант выписаны условия, гарантирующие удовлетворительное качество получаемых случайных чисел.
Простейшая реализация поточного шифра изображена на рисунке.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис 4.1 Режим гаммирования для поточных шифров
Генератор гаммы выдаёт ключевой поток (гамму): .
Поток битов открытого текста: .
Гамма шифра и поток битов открытого текста подвергаются операции XOR. Так получается поток битов шифротекста: , где
.
Расшифрование производится операцией XOR между той же самой гаммой и зашифрованным текстом: .
Очевидно, что если последовательность битов гаммы не имеет периода и выбирается случайно, то взломать шифр невозможно. Но у данного режима шифрования есть и отрицательные особенности. Так ключи, сравнимые по длине с передаваемыми сообщениями, трудно использовать на практике. Поэтому обычно применяют ключ меньшей длины (например, 128 бит). С помощью него генерируется псевдослучайная гаммирующая последовательность ( она должна удовлетворять постулатам Голомба). Естественно, псевдослучайность гаммы может быть использована при атаке на поточный шифр.
Xt=(19,47,31,71,7,23,55,47).
переводим полученную последовательность в двоичный вид и получим K
00010011.00101111.00011111.01000111.00000111.00010111.00110111.00101111
переводим сообщение М в двоичный вид
00100001.00001000.00011101.00010001.00010011.01101001.00001001.00100100
Шифруем, выполняя действие побитово: C = KM
С:
00110010.00100111.00000010.01010110.00010100.01111110.00111110.00001011
переводим шифротекст в десятичный вид
С(50, 39, 2, 86, 20, 126, 62, 11)
Список литературы
1. ГОСТ 28147-89.
2. Харин Ю.С., Берник В.И., Матвеев Г.В., Агиевич С.В. Основы криптологии. Мн. Новое знание, 2003г.
3. Криптогафическая защита информации в телекоммуникационных системах: Учебно-методическое пособие для студ. спец. «Сети телекоммуникаций» и «Защита информации в телекоммуникациях» всех форм обуч.: В 2 ч. Ч.1/ В.Ф. Голиков, А.В. Курилович. - Мн.: БГУИР, 2006. - 55 с.: ил.
4. Романец Ю.В. Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. М. Радио и связь, 1999 г.
Размещено на Allbest.ru
Подобные документы
Методы шифрования данных. Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования. Визуальное представление, схема приемника и передатчика. Расшифровывание зашифрованных данных в режиме гаммирования. Стойкость и возможности обхождения шифра.
реферат [823,8 K], добавлен 26.12.2011Перевод исходного текста и первого подключа в двоичную последовательность. Логическое сложение с исключением. Открытый и закрытый ключи в алгоритме шифрования RSA. Шифрование и расшифрование. Электронная цифровая подпись. Применение функции хеширования.
контрольная работа [21,9 K], добавлен 28.03.2012Функциональное и эксплуатационное назначение данного изделия. Требования к составу и параметрам технических средств. Описание алгоритма ГОСТ 28147-89 в режиме гаммирования. Технико-экономические показатели разработки. Интерфейс программного продукта.
курсовая работа [1,7 M], добавлен 27.02.2015Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования.
контрольная работа [56,5 K], добавлен 26.09.2012Характеристика ГОСТ Р 34.10-2001 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи". Его обозначения, отличия от старого стандарта. Алгоритм формирования цифровой подписи.
курсовая работа [253,5 K], добавлен 16.08.2012Традиционные симметричные криптосистемы. Основные понятия и определения. Методы шифрования. Метод перестановок на основе маршрутов Гамильтона. Асимметричная криптосистема RSA. Расширенный алгоритм Евклида. Алгоритмы электронной цифровой подписи Гамаля.
курсовая работа [235,6 K], добавлен 06.01.2017Типы ограничений, поддерживающие целостность в реляционной модели данных. Определение значения поля первичного ключа с помощью генератора. Добавление, изменение и удаление записей в таблицу базы данных "Библиотека" на языке программирования SQL.
лабораторная работа [30,5 K], добавлен 10.10.2012Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI.
курсовая работа [812,6 K], добавлен 27.03.2012Возможные каналы утечки информации. Особенности и организация технических средств защиты от нее. Основные методы обеспечения безопасности: абонентское и пакетное шифрование, криптографическая аутентификация абонентов, электронная цифровая подпись.
курсовая работа [897,9 K], добавлен 27.04.2013Проектирование базы данных "Общежитие" в СУБД Microsoft Access. Создание запросов, состоящих из комбинаций разных типов данных. Создание форм и полей таблицы в режиме конструктора. Ввод и просмотр данных в режиме таблицы, создание связей между ними.
курсовая работа [4,3 M], добавлен 24.06.2019