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

Симметричная криптосистема, шифрование открытых данных в режиме гаммирования. Уравнение расшифрования и его значение. Формирование ключа в режиме "электронная кодовая книга" и перевод его в двоичный вид. Удаление контрольных бит и определение матрицы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.