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

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    239,34 kb
  • Опубликовано:
    2011-10-21
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Белорусский государственный университет

информатики и радиоэлектроники

Факультет Заочного вечернего и дистанционного обучения

Кафедра сетей и устройств телекоммуникаций












Контрольная работа

По дисциплине

“Криптографическая защита в ТК”







Минск  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 )

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

5749413325179








1

58

50

42

34

26

18

10

2

59

51

43

35

27

19

11

3

60

52

44

36

63554739312315








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

0000000








0

0

0

1

0

0

0

0

0

1

0

1

0

0

0

0

1

0

0

0

1

0001000








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

0000000








0

1

0

0

0

0

0

1

0

1

0

0

0

1

0

0

0

1

0

0

0100001








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.

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


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!