Механизм блочного шифрования защиты информации

Описание блочного шифра DES и его механизма, который имеет важное значение в шифровании, прошел много испытаний на безопасность. Рассмотрение наиболее значимых среди атак и представляющие интерес грубая сила, дифференциальный и линейный криптоанализ.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 08.06.2010
Размер файла 72,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Оглавление

Введение

1.1.Структура DES

1.2.Анализ DES

1.3.Многократное применение DES

1.4.Безопасность DES

Заключение

Введение

Стандарт шифрования данных (DES - DATA ENCRIPTION STANDARD) блочный шифр с симметричными ключами, разработан Национальным Институтом Стандартов и Технологии (NIST - National Institute of Standards and Technology).

В l973 году NIST издал запрос для разработки предложения национальной криптографической системы с симметричными ключами.

Предложенная IBM модификация проекта, названная Lucifer, была принята как DES. DES были изданы в эскизном виде в Федеральном Регистре в марте 1975 года как Федеральный Стандарт Обработки Информации (FIPS - Federal Information Processing Standard).

После публикации эскиз строго критиковался по двум причинам. Первая: критиковалась сомнительно маленькая длина ключа (только 56 битов), что могло сделать шифр уязвимым к атаке "грубой силой". Вторая причина: критики были обеспокоены некоторым скрытым построением внутренней структуры DES.

Они подозревали, что некоторая часть структуры (S-блоки) может иметь скрытую лазейку, которая позволит расшифровывать сообщения без ключа. Впоследствии проектировщики IBM сообщили, что внутренняя структура была доработана, чтобы предотвратить криптоанализ.

DES был наконец издан как FIPS 46 в Федеральном Регистре в январе 1977 года. Однако FIPS объявил DES как стандарт для использования в неофициальных приложениях. DES был наиболее широко используемым блочным шифром с симметричными ключами, начиная с его публикации. Позже NIST предложил новый стандарт (FIPS 46-3), который рекомендует использование тройного DES (трехкратно повторенный шифр DES) для будущих приложений.

1.1Структура DES

Рассмотрим сначала шифрование, а потом дешифрование. Процесс шифрования состоит из двух перестановок (P-блоки) - они называются начальные и конечные перестановки, - и шестнадцати раундов Файстеля. Каждый раунд использует различные сгенерированные 48-битовые ключи. Рисунок 2 показывает элементы шифра DES на стороне шифрования.

Начальные и конечные перестановки

Рассмотрим начальные и конечные перестановки (P-блоки). Каждая из перестановок принимает 64-битовый вход и переставляет его элементы по заданному правилу. Мы показали только небольшое число входных портов и соответствующих выходных портов. Эти перестановки - прямые перестановки без ключей, которые инверсны друг другу. Например, в начальной перестановке 58-й бит на входе переходит в первый бит на выходе. Аналогично, в конечной перестановке первый входной бит переходит в 58-й бит на выходе. Другими словами, если между этими двумя перестановками не существует раунда, 58-й бит, поступивший на вход устройства начальной перестановки, будет доставлен на 58-й выход финальной перестановкой.

Правила перестановки для этого P-блока показаны в таблице 1. Таблицу можно представить как 64-элементный массив. Заметим, что работу с таблицей мы обсуждали, значение каждого элемента определяет номер входного порта, а порядковый номер (индекс) элемента определяет номер выходного порта.

Эти две перестановки не имеют никакого значения для криптографии в DES. Обе перестановки - без ключей и предопределенны. Причина, почему они включены в DES, не ясна и не была указана проектировщиками DES. Можно предположить, что DES был проектом, который предполагалось реализовать в аппаратных средствах (на чипах), и что эти две сложные перестановки должны были затруднить программное моделирование механизма шифрования.

Пример 1

Найдите выход начального блока перестановки, когда на вход поступает шестнадцатеричная последовательность, такая как

0x0002 0000 0000 0001

Решение

Вход имеет только две единицы - (бит 15 и бит 64); выход должен также иметь только две единицы (прямая перестановка). Используя таблицу 1, мы можем найти выход, связанный с этими двумя битами. Бит 15 на входе становится битом 63 в выходе. Бит 64 во входе становится битом 25 в выходе. На выходе будем иметь только две единицы - бит 25 и бит 63.

Результат в шестнадцатеричном исчислении

0x0000 0080 0000 0002

Пример 2

Докажем, что начальные и финальные перестановки инверсны друг другу. Преобразуем полученную выходную последовательность во входную.

0x0000 0080 0000 0002

Решение

Единичные биты - 25 и 63, другие биты равны нулю. В конечной перестановке 25-й бит переходит в 64-й, а 63-й - в 15-й. Результат

0x0002000000000001

Начальные и конечные перестановки - это прямые P-блоки, которые инверсны друг другу. Они не имеют значения для криптографии DES.

Раунды

DES использует 16 раундов. Каждый раунд DES применяет шифр Файстеля, как это показано на рис. 4.

Раунд принимает LI-1 RI-1 от предыдущего раунда (или начального блока перестановки) и создает для следующего раунда LI И RI , которые поступают на следующий раунд (или конечный блок перестановки). Можно принять, что каждый раунд имеет два элемента шифра (смеситель и устройство замены). Каждый из этих элементов является обратимым. Устройство замены - очевидно обратимо, оно меняет местами левую половину текста с правой половиной. Смеситель является обратимым, потому что операция ИСКЛЮЧАЮЩЕЕ ИЛИ обратима. Все необратимые элементы сосредоточены в функции f (RI-1,KI).

Функция DES

Основной блок DES - функция DES. Функция DES с помощью 48-битового ключа зашифровывает 32 самых правых бит RI-1, чтобы получить на выходе 32-битовое слово. Эта функция содержит, как это показано на рис. 5, четыре секции: отбеливатель (whitener), P-блок расширения, группу S-блоков и прямой P-блок.

P-блок расширения. Так как вход RI-1 имеет длину 32 бита, а ключ KI -- длину 48 битов, мы сначала должны расширить RI-1 до 48 бит. RI-1 разделяется на 8 секций по 4 бита. Каждая секция на 4 бита расширяется до 6 бит. Эта перестановка расширения следует по заранее определенным правилам. Для секции значения входных бит 1, 2, 3 и 4 присваиваются битам 2, 3, 4 и 5 соответственно на выходе. Выходной бит 1 формируется на основе входного бита 4 из предыдущей секции; бит выхода 6 формируется из бита 1 в следующей секции. Если секции 1 и 8 рассматривать как соседние секции, то те же самые правила применяются к битам 1 и 32. Рисунок 6 показывает входы и выходы в перестановке расширения.

Хотя отношения между входом и выходом могут быть определены математически, но чтобы определить этот P-блок, DES использует таблицу 8.2. Обратите внимание, что число выходов 48, но диапазон значений - только от 1 до 32. Некоторые из входов идут к больше чем одному выходу. Например, значение входного бита 5 становится значением битов выхода 6 и 8.

Отбеливатель (whitener). После расширения DES использует операцию XOR (ИСКЛЮЧАЮЩЕЕ ИЛИ) над расширенной частью правой секции и ключом раунда. Заметим, что правая секция и ключ имеют длину 48 бит. Также заметим, что ключ раунда использует только эту операцию.

S-блоки. S-блоки смешивают информацию (операция перемешивания). DES использует S-блоки, каждый с 6-ю входными битами и 4-мя выходными (см. рис. 7).

Данные из 48 битов от второй операции DES разделены на восемь кусков по 6 битов, и каждый кусок поступает в блок. Результат каждого блока - кусок на 4 бита; когда они объединены, результат выражается в 32-битовом тексте. Подстановка в каждом блоке следует по заранее определенным правилам, основанным на таблице из 4-х строк и 16-ти столбцов. Комбинация битов 1 и 6 на входе определяет одну из четырех строк; комбинация битов от 2-го до 5-го определяет один из шестнадцати столбцов, как показано на рис. 8. Далее мы поясним это примерами.

Поскольку для каждого S-блока есть собственная таблица, необходимо иметь восемь таблиц, например таких, как это показано в таблицах 3- 10. Значение входа (номер строки и номер столбца) и значения выхода даются как десятичные номера, чтобы сэкономить место на странице. В реальности они могут быть заменены двоичными числами.

Таблица 3. S-блок 1

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

14

04

13

01

02

15

11

08

03

10

06

12

05

09

00

07

1

00

15

07

04

14

02

13

10

03

06

12

11

09

05

03

08

2

04

01

14

07

13

06

02

11

15

12

09

07

03

10

05

00

3

15

12

08

02

04

09

01

07

05

11

03

14

10

00

06

13

Таблица 4. S-блок 2

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

15

01

08

14

06

11

03

04

09

07

02

13

12

00

05

10

1

03

13

04

07

15

02

08

14

12

00

01

10

06

09

11

05

2

00

14

07

11

10

04

13

01

05

08

12

06

09

03

02

15

3

13

08

10

01

03

15

04

02

11

06

07

12

00

05

14

09

Таблица 5. S-блок 3

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

10

00

09

14

06

03

15

05

01

13

12

07

11

04

02

08

1

13

07

00

09

03

04

06

10

02

08

05

14

12

11

15

01

2

13

06

04

09

08

15

03

00

11

01

02

12

05

10

14

07

3

01

10

13

00

06

09

08

07

04

15

14

03

11

05

02

12

Таблица 6. S-блок 4

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

07

13

14

03

00

06

09

10

01

02

08

05

01

12

04

15

1

13

08

11

05

06

15

00

03

04

07

02

12

01

10

14

09

2

10

06

09

00

12

11

07

13

15

01

03

14

05

02

08

04

3

03

15

00

06

10

01

13

08

09

04

05

11

12

07

02

14

Таблица 7. S-блок 5

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

02

12

04

01

07

10

11

06

08

05

03

15

13

00

14

09

1

14

11

02

12

04

07

13

01

05

00

15

10

03

09

08

06

2

04

02

01

11

10

13

07

08

15

09

12

05

06

03

00

14

3

11

08

12

07

01

14

02

13

06

15

00

09

10

04

05

03

Таблица 8. S-блок 6

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

12

01

10

15

09

02

06

08

00

13

03

04

14

07

05

11

1

10

15

04

02

07

12

09

05

06

01

13

14

00

11

03

08

2

09

14

15

05

02

08

12

03

07

00

04

10

01

13

11

06

3

04

03

02

12

09

05

15

10

11

14

01

07

10

00

08

13

Таблица 9. S-блок 7

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

04

11

02

14

15

00

08

13

03

12

09

07

05

10

06

01

1

13

00

11

07

04

09

01

10

14

03

05

12

02

15

08

06

2

01

04

11

13

12

03

07

14

10

15

06

08

00

05

09

02

3

06

11

13

08

01

04

10

07

09

05

00

15

14

02

03

12

Таблица 10. S-блок 8

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

13

02

08

04

06

15

11

01

10

09

03

14

05

00

12

07

1

01

15

13

08

10

03

07

04

12

05

06

11

10

14

09

02

2

07

11

04

01

09

12

14

02

00

06

10

10

15

03

05

08

3

02

01

14

07

04

10

05

13

15

19

09

09

03

05

06

11

Пример 3

Входная последовательность S блока 1 - . Какая последовательность будет на выходе?

Решение

Если мы запишем первый и шестой биты вместе, мы получим в двоичном исчислении 11, который выражается как число 3 при десятичном исчислении. Остающаяся часть битов 0001 в двоичном исчислении является 1 в десятичном исчислении. Мы ищем значение строки 3 и столбца 1 в таблице 3 (S-блок 1). Результат - 12 в десятичном исчислении или 1100 в двоичном исчислении. Тогда вход 1100011 дает выход 1100.

Пример 8.4

Входная последовательность S-блока 8 - . Какая последовательность будет на выходе?

Решение

Если мы запишем первый и шестые биты вместе, то получим в двоичном исчислении число 00, которое выражается числом 0 при десятичном исчислении. Остающаяся часть битов - 0000 в двоичном исчислении, то есть 0 в десятичном исчислении. Мы ищем значение строки 0 и столбца 0 в таблице 10 (S-блок 8). Результат -- 13 в десятичном исчислении или 1101 в двоичном исчислении. Тогда вход 000000 дает выход 1101.

Прямая перестановка - последняя операция в функции DES - прямая перестановка с 32 битами на входе и 32 битами на выходе. Отношения "вход-выход" для этой операции показаны в Таблице 11. Они следуют тем же самым общим правилам, как и предыдущие таблицы перестановки. Например, седьмой бит входа становится вторым битом выхода.

Таблица 11. Таблица прямой перестановки

16

07

20

21

29

12

28

17

01

15

23

26

05

18

31

10

02

08

24

14

32

27

03

09

19

13

30

06

22

11

04

25

Шифр и обратный шифр

Используя смеситель и устройство замены, мы можем создать шифр и обратный шифр для каждого из 16-ти раундов. Шифр используется на стороне шифрования; обратный шифр - на стороне дешифрования. Алгоритмы создания шифра и обратного шифра аналогичны.

Первый способ

Один из методов, чтобы достигнуть поставленной цели (шифрование и обратное шифрование), состоит в том, чтобы сделать последний раунд отличающимся от других; он будет содержать только смеситель и не будет содержать устройства замены, как это показано на рис. 9.

Смеситель и устройство замены самоинверсны. Конечные и начальные перестановки также инверсны друг другу. Левая секция исходного текста на стороне шифрования шифруется L0 как L16, и L16 дешифруется на стороне дешифратора как L0. Аналогичная ситуация с R0 и R16.

Нужно запомнить очень важное положение, которое касается шифров: ключи раундов (K1 и K16) применяются при шифровании и дешифровании в обратном порядке. На стороне шифрования первый раунд применяет ключ K1, а раунд 16 - ключ K16; при дешифровании раунд 1 использует ключ K16, а раунд 16 - ключ K1.

В первом методе последний раунд не имеет устройства замены.

Альтернативный способ

При первом способе раунд 16 отличается от других раундов тем, что там не применяется устройство замены. Это необходимо, чтобы сделать последний и первый смесители в шифре одинаковыми. Мы можем делать все 16 раундов одинаковыми, добавляя к 16-му раунду дополнительное устройство замены (два устройства замены позволяют нейтрализовать друг друга).

Генерация ключей

Генератор ключей создает шестнадцать ключей по 48 битов из ключа шифра на 56 битов. Однако ключ шифра обычно дается как ключ из 64-х битов, в котором 8 дополнительных битов являются битами проверки. Они отбрасываются перед фактическим процессом генерации ключей, который показан на рис. 10.

Удаление битов проверки

Предварительный процесс перед расширением ключей - перестановка сжатия, которую мы называем удалением битов проверки. Он удаляет биты четности (биты 8, 16, 24, 32..., 64) из 64-битового ключа и переставляет остальную часть битов согласно таблице 8.12. Остающееся значение на 56 битов - фактический ключ шифра, который используется, чтобы генерировать ключи раунда. Биты удаляются с помощью перестановки (P-блока сжатия), как это показано в таблице 12.

Таблица 12. Таблица удаления проверочных битов

57

49

41

33

25

17

09

01

58

50

42

34

26

18

10

02

59

51

43

35

27

19

11

03

60

52

44

36

63

55

47

39

31

23

15

07

62

54

46

37

30

22

14

06

61

53

45

37

29

21

13

05

28

20

12

04

Сдвиг влево

После прямой перестановки ключ разделен на две части по 28 битов. Каждая часть сдвигается влево (циклический сдвиг) на один или два бита. В раундах 1, 2, 9 и 16 смещение - на один бит, в других раундах - на два бита. Затем эти две части объединяются, чтобы создать часть в 56 бит. Таблица 13 показывает число сдвигов манипуляций для каждого раунда.

Таблица 13. Число сдвигаемых бит

Раунд

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Число бит

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

1

Перестановка сжатия

Перестановка сжатия (P-блок) изменяет 56 битов на 48 битов, которые используются для формирования ключа раунда. Перестановка сжатия показана в таблице 14.

Таблица 14. Таблица сжатия ключа

14

17

11

24

01

05

03

28

15

06

21

10

23

19

12

04

26

08

16

07

27

20

13

02

41

52

31

37

47

55

30

40

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

Примеры

Перед анализом DES рассмотрим несколько примеров, чтобы понять, как шифрование и дешифрование меняют значение битов в каждом раунде.

Пример 5

Мы выбираем случайный блок исходного текста и случайный ключ и определяем, каким должен быть блок зашифрованного текста (все цифры даны в шестнадцатеричном исчислении).

Plaintext: 123456ABCD 132536Key: AABB09182736CCDD

Cipher Text: COB7ASD05F3AS29C

Покажем результат каждого раунда и текста, созданного до и после раундов. Таблица 15 показывает результаты первых шагов перед началом раунда. Исходный текст -- прошедший через начальную перестановку для получения различных 64 бит (16 шестнадцатеричных цифр).

Таблица 15. Трассировка данных в примере 5

Исходный текст: 123456ABCD 132536

После первоначальной перестановки: 14A7D67818CA18D После разбиения: L0= 14A7D678 R0 = 18CA18D

Раунд

Левая

Правая

Ключ раунда

Раунд 1

18CA18AD

5A78E394

194CD072DE8C

Раунд 2

5A78E394

4A1210F6

4568581ABCCE

Раунд 3

4A1210F6

B8089591

06EDA4ACF5B5

Раунд 4

B8089591

236779C2

DA2D032B6EE3

Раунд 5

236779C2

A15A4B87

69A629FEC913

Раунд 6

A15A4B87

2E8F9C65

C1948E87475E

Раунд 7

2E8F9C65

A9FC20A3

708AD2DDB3C0

Раунд 8

A9FC20A3

308BEE97

34F822F0C66D

Раунд 9

308BEE97

10AF9D37

84BB4473DCCC

Раунд 10

10AF9D37

6CA6CB20

02765708B5BF

Раунд 11

6CA6CB20

FF3C485F

6D5560AF7CA5

Раунд 12

FF3C485F

22A5963B

C2C1E96A4BF3

Раунд 13

22A5963B

387CCDAA

99C31397C91F

Раунд 14

387CCDAA

BD2DD2AB

251B8BC717D0

Раунд 15

BD2DD2AB

CF26B472

3330C5D9A36D

Раунд 16

19BA9212

CF26B472

181C5D75C66D

После объединения: 19BA9212 CF26B472

Зашифрованный текст: C0B7A8D05F3A829C

(после конечной перестановки)

Таблица показывает результат 16 раундов, которые включают смешивание и замену (исключая последний раунд). Результаты последних раундов (L16 и R16) объединены. Наконец, текст проходит конечную перестановку, для того чтобы получить зашифрованный текст.

Следует отметить некоторые положения. Правая секция каждого раунда совпадает с левой секцией следующего раунда. Причина в том, что правая секция проходит через смеситель без изменения, а устройство замены переносит ее в левую секцию. Например, R1 передается через смеситель второго раунда без изменения, но затем, пройдя устройство замены, он становится L2. Второе интересное положение: на последнем раунде мы не имеем устройства замены. Именно поэтому R15 становится R16 вместо того чтобы стать L16.

Пример 6

Давайте рассмотрим, как Боб в пункте назначения может расшифровать зашифрованный текст, полученный от Алисы, с помощью совпадающего ключа. Для экономии времени мы разберем только несколько раундов. Таблица 16 показывает интересующие нас точки. Первое правило: ключи раунда должны использоваться в обратном порядке. Сравните таблицу 8.15 и таблицу 8.16. Ключ раунда 1 - такой же как ключ для раунда 16. Значения L0 и R0 при дешифрации те же самые, что и значения L16 и R16 при шифровании. Аналогичные совпадения будут получены и в других раундах. Это доказывает не только, что шифр и обратный шифр инверсны друг другу, но также то, что каждый раунд при шифрации имеет соответствующий раунд при дешифрации в обратном шифре. Результат свидетельствует, что начальные и конечные перестановки также являются инверсиями друг друга.

Таблица 16. Трассировка данных в примере 6

Зашифрованный текст: C0B7A8D05F3A829C

После первоначальной перестановки: 19BA9212 CF26B472 После разбиения: L0= 19BA9212 R0 = CF26B472

Раунд

Левая

Правая

Ключ раунда

Раунд 1

CF26B472

BD2DD2AB

181C5D75C66D

Раунд 2

BD2DD2AB

387CCDAA

3330C5D9A36D

.........

.........

.........

.........

Раунд 15

5A78E394

18CA182AD

4568581ABCCE

Раунд 16

19BA9212

18CA18AD

194CD072DE8C

После объединения: 14A7D67818CA18D

Исходный текст: 123456ABCD 132536

(после конечной перестановки)

1.2Анализ DES

DES был подвергнут тщательному анализу. Были проведены испытания, чтобы измерить интенсивность некоторых желательных свойств в блочном шифре. Элементы DES прошли исследования на соответствие некоторым критериям. Ниже мы обсудим некоторые из них.

Свойства

Два желательных свойства блочного шифра - эффект лавины и законченность.

Лавинный эффект

Лавинный эффект означает, что небольшие изменения в исходном тексте (или ключе) могут вызвать значительные изменения в зашифрованном тексте. Было доказано, что DES имеет все признаки этого свойства.

Пример 7

Чтобы проверить эффект лавины в DES, попробуем зашифровать два блока исходного текста, которые отличаются только одним битом текста, с помощью одного и того же ключа и определим разницу в числе бит в каждом раунде.

Исходный текст: 0000000000000000 Ключ: 22234512987ABB23

Зашифрованный текст: 4789FD476E82A5F1

Исходный текст: 0000000000000001 Ключ: 22234512987ABB23

Зашифрованный текст: OA4ED5C15A63FEA3

Хотя два блока исходного текста отличаются только самым правым битом, блоки зашифрованного текста отличаются на 29 бит. Это означает, что изменение приблизительно в 1,5 процентах исходного текста создают изменение приблизительно 45 процентов зашифрованного текста. Таблица 17 показывает изменение в каждом раунде. Можно увидеть, что существенные изменения возникают уже в третьем раунде.

Таблица 17. Число различных бит в примере 7

Раунд

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Разница в битах

1

6

20

29

30

33

32

29

32

39

33

28

30

31

30

29

Эффект полноты

Эффект полноты заключается в том, что каждый бит зашифрованного текста должен зависеть от многих битов исходного текста. Рассеивание и перемешивание, произведенное P-блоками и S-блоками в DES, указывает на очень сильный эффект полноты.

Критерии разработок DES

Проект DES был предъявлен IBM в 1994 году. Многочисленные испытания DES показали, что он удовлетворяет некоторым из заявленных критериев. Ниже кратко обсуждаются некоторые проблемы разработок DES.

S-блоки

Структура блоков обеспечивает перемешивание и рассеивание от каждого раунда до следующего. Согласно этому положению и некоторому анализу, мы можем упомянуть несколько свойств S-блоков.

1. Входы каждой строки есть перестановки значений между 0 и 15.

2. S-блоки - нелинейные. Другими словами, выход - не аффинное преобразование.

3. Если мы изменяем единственный бит на входе, на выходе будут изменены два или больше бита.

4. Если два входа S-блока отличаются только двумя средними битами (битами 3 и 4), выходная информация должна отличаться по крайней мере двумя битами. Другими словами, S (x) и должны отличаться по крайней мере двумя битами, где x -- вход и S(x) -- выход.

5. Если два входа в S-блок отличаются первыми двумя битами (биты 1 и 2) и последними двумя битами (5 и 6), два выхода должны быть различны. Другими словами, мы должны иметь следующее отношение: , в котором b и с - произвольные биты.

6. Есть только 32 шестибитовые пары "вход-выход" (xi и xj ), в которых . Эти 32 входных пары создают 32 пары слова выхода по 4 бита. Если мы создаем какие-то различия между 32 выходами пар, , то из этих d должны быть одинаковыми не больше чем 8.

7. Такой же критерий, как в пункте 6, применяется к трем S-блокам.

8. В любом S-блоке, если единственный входной бит сохраняется как константа (0 или 1), то другие биты изменяются случайно так, чтобы разности между числом нулей и единиц были минимизированы.

P-блоки

Между двумя рядами S-блоков (в двух последующих раундах), есть один прямой P-блок (32 на 32) и один P-блок расширения (32 на 48). Эти два P-блока вместе обеспечивают рассеивание битов. Здесь мы обсудим прикладные P-блоки, используемые в DES. В структуре P-блоков были реализованы следующие критерии:

1. Каждый вход S-блока подключается к выходу другого S-блока (в предыдущем раунде).

2. Ни один вход к данному S-блоку не соединяется с выходом от того же самого блока (в предыдущем раунде).

3. Четыре бита от каждого S-блока идут в шесть различных S-блоков (в следующем раунде).

4. Ни один из двух битов выхода от S-блока не идет в тот же самый S-блок (в следующем раунде).

5. Если число блоков S-блоков 8, то S1, S2,..., S 8.

o Выход Sj-2 переходит в один из первых двух битов Sj (в следующем раунде).

o Бит выхода от Si-1 переходит в один из последних двух битов Sj (в следующем раунде).

o Выход Sj +1 переходит в один из двух средних битов Sj (в следующем раунде).

6. Для каждого S-блока два бита выхода идут в первые или последние два бита S-блока в следующем раунде. Другие два бита выхода идут в средние биты S-блока в следующем раунде.

7. Если выход от Sj переходит в один из средних битов в Sk (в следующем раунде), то бит выхода от Sk не может идти в средний бит Sj. Если мы допускаем j = k, то подразумеваем, что ни один средний бит S-блока не может идти в один из средних битов того же самого S-блока в следующем раунде.

Число раундов

DES используют шестнадцать раундов шифра Файстеля. Доказано, что после того как каждый текст зашифрован восемь раундов, каждый бит зашифрованного текста - функция каждого бита исходного текста и каждого ключевого бита. Зашифрованный текст - полностью случайная функция исходного текста и зашифрованного текста. Отсюда вроде бы следует, что восьми раундов должно быть достаточно для хорошего шифрования. Однако эксперименты показывают, что некоторые версии DES с менее чем шестнадцатью раундами более уязвимы к атакам знания исходного текста, чем к атаке грубой силы, которая требует использования шестнадцати раундов DES.

Слабости DES

В течение прошлых нескольких лет критики нашли некоторые слабости в DES.

Мы кратко укажем на некоторые слабости, которые были обнаружены в структуре шифра.

S-блоки. В литературе указываются по крайней мере три проблемы S-блоков.

1. В S-блоке 4 три бита выхода могут быть получены тем же самым способом, что и первый бит выхода: дополнением некоторых из входных битов.

2. Два специально выбранных входа к массиву S-блока могут создать тот же самый выход.

3. Можно получить тот же самый выход в одном единственном раунде, изменяя биты только в трех соседних S-блоках.

P-блоки. В структуре P-блока были найдены одна загадка и одна слабость.

1. Не ясно, почему проектировщики DES использовали начальную и конечную перестановки. Эти перестановки не вносят никаких новых свойств с точки зрения безопасности.

2. В перестановке расширения (в функции) первые и четвертые биты последовательностей на 4 бита повторяются.

Слабость в ключе шифра

Размер ключа. Критики утверждают, что самая серьезная слабость DES - это размер ключа (56 битов). Чтобы предпринять атаку грубой силы данного блока зашифрованного текста, злоумышленники должны проверить 256 ключей.

a. Используя доступную сегодня технологию, можно проверить один миллион ключей в секунду. Это означает, что потребуется более чем две тысячи лет, чтобы выполнить атаку грубой силы на DES, используя компьютер только с одним процессором.

b. Если мы можем сделать компьютер с одним миллионом чипов процессоров (параллельная обработка), то сможем проверить все множество ключей приблизительно за 20 часов. Когда был введен DES, стоимость такого компьютера была более чем несколько миллионов долларов, но она быстро снизилась. Специальный компьютер был создан в 1998 году - и нашел ключ за 112 часов.

c. Компьютерные сети могут моделировать параллельную обработку. В 1977 году команда исследователей использовала 3500 компьютеров, подключенных к Internet, чтобы найти ключ RSA за 120 дней. Множество ключей было разделено среди всех этих компьютеров, и каждый компьютер был ответственен за проверку части домена DES. Если 3500 связанных в сеть компьютеров могут найти ключ через 120 дней, то секретное общество из 42 000 членов может найти ключ через 10 дней.

Приведенное выше показывает, что DES с размером ключа шифра 56 битов не обеспечивает достаточной безопасности. Позже мы увидим, что есть одно решение этой проблемы - это использование тройного DES(3DES) с двумя ключами (112 битов) или тройного DES с тремя ключами (биты 16).

Слабые ключи. Четыре ключа из 256 возможных ключей называются слабыми ключами. Слабые ключи -- это одни из тех, которые после операции удаления проверочных бит (используя таблицу 8.12) состоят из всех нулей или всех единиц или половины нулей и половины единиц. Такие ключи показаны в таблице 18.

Таблица 18. Слабые ключи

Ключи до удаления проверочных бит (64 бита)

Действующие ключи (56 бит)

0101 0101 0101 0101

0000000 0000000

1F1F 1F1F 1F1F 1F1F

0000000 FFFFFFF

E0E0 E0E0 E0E0 E0E0

FFFFFFF 0000000

FEFE FEFE FEFE FEFE

FFFFFFF FFFFFFF

Ключи раунда, созданные от любого из этих слабых ключей, -- те же самые и имеют тот же самый тип, что и ключ шифра. Например, эти шестнадцать ключей раунда создают первый ключ, который состоит из всех нулей или всех единиц или наполовину из нулей и единиц.

Это происходит по той причине, что алгоритм генерирования ключей сначала делит ключ шифра на две половины. Смещение или перестановка блока не изменяют блок, если он состоит из всех нулей, или всех единиц, или наполовину из нулей и единиц.

В чем опасность использования слабых ключей? Если мы зашифровали блок слабым ключом и впоследствии расшифровали результат тем же самым слабым ключом, мы получаем первоначальный блок. Процесс создает один и тот же первоначальный блок, если мы расшифровываем блок дважды. Другими словами, каждый слабый ключ есть инверсия самого себя: Ek. (Ek (P)) = P, как это показано на рис. 11.

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

Пример 8

Давайте попробуем применить первый слабый ключ в таблице 18, чтобы два раза зашифровать блок. После того как проведено два шифрования с тем же самым ключом, в результате получим исходный текст. Обратите внимание, что мы ни разу не использовали алгоритм дешифрования, а только провели два раза шифрование.

Ключ: 0x0101 0101 0101 0101

Зашифрованный текст: 0x814FE938589154F7

Исходный текст: 0xl234.56887654321

Ключ: 0x0101 0101 0101 0101

Исходный текст: 0x814FE938589154F7

Зашифрованный текст: 0xl234.56887654321

Полуслабые ключи. Имеются шесть ключевых пар, которые названы полуслабыми ключами. Этим шесть пар показаны в таблице 19 (формат на 64 бита перед удалением проверочных бит). Полуслабые ключи создают только два различных ключа раунда и затем повторяют их восемь раз. Кроме того, ключи раунда, созданные от каждой пары, - одни и те же в различном порядке.

Таблица 19. Полуслабые ключи

Первый ключ в паре

Второй ключ в паре

01FE 01FE 01FE 01FE

FE01 FE01 FE01 FE01

1FEO 1FEO OEF1 OEF1

E01F E01F F10E F10E

01EO 01E1 01F1 01F1

E001 E001 F101 F101

1FFE 1FFE OEFE OEFE

FE1F FE1F FEOE FEOE

011F 011F 010E 010E

1F01 1F01 OE01 OE01

EOFE EOFE FIFE FIFE

FEEO FEEO FEF1 FEFl

Чтобы проиллюстрировать идею, мы создали ключи раунда от первой пары, как показано ниже:

Ключ раунда 19153E54319BD 6EAC1ABCE642

Ключ раунда 26EAC1ABCE6429153E54319BD

Ключ раунда 36EAC1ABCE6429153E54319BD

Ключ раунда 46EAC1ABCE6429153E54319BD

Ключ раунда 56EAC1ABCE6429153E54319BD

Ключ раунда 66EAC1ABCE6429153E54319BD

Ключ раунда 76EAC1ABCE6429153E54319BD

Ключ раунда 86EAC1ABCE6429153E54319BD

Ключ раунда 99153E54319BD6EAC1ABCE642

Ключ раунда 109153E54319BD6EAC1ABCE642

Ключ раунда 119153E54319BD6EAC1ABCE642

Ключ раунда 129153E54319BD6EAC1ABCE642

Ключ раунда 13 9153E54319BD6EAC1ABCE642

Ключ раунда 149153E54319BD6EAC1ABCE642

Ключ раунда 159153E54319BD6EAC1ABCE642

Ключ раунда 166EAC1ABCE6429153E54319BD

Как показывает список, имеется восемь одинаковых ключей раунда в каждом полуслабом ключе. Кроме того, ключи раунда 1 в первом множестве - те же самые, что и ключи раунда 16 во втором; ключи раунда 2 в первом - те же самые, что и ключи раунда 15 во втором, и так далее. Это означает, что ключи инверсны друг другу: Ek2. (Ek1E (P)) = P, как показано на рис. 12.

Возможно слабые ключи. Также имеется 48 ключей, которые называются возможно слабыми ключами. Возможно слабый ключ создает только четыре различных ключа раунда; другими словами, шестнадцать ключей раундов разделены на четыре группы, и каждая группа состоит из четырех одинаковых ключей раунда.

Пример 9

Какова вероятность случайного выбора слабого, полуслабого или возможно слабого ключа?

Решение

Множество ключей DES равно 256. Общее количество вышеупомянутых ключей - 64 (4 + 12 + 48). Вероятность выбора одного из этих ключей равна , т.е. исключительно мала.

Ключевое дополнение. Среди множества ключей (256) некоторые ключи могут быть получены инверсией (изменение из 0 в 1 или 1 в 0) каждого бита в ключе. Ключевое дополнение упрощает процесс криптоанализа. Ева может использовать только половину возможных ключей (255), чтобы выполнить атаку грубой силы, потому что

C=E(K,P) C=E(K,P)

Другими словами, если мы зашифровали дополнение исходного текста дополнением ключа, мы получаем дополнение зашифрованного текста. Ева не должна проверять все 256 возможных ключей, она может проверить только половину из них и затем дополнить результат.

Пример 10

Давайте проверим эти сведения о ключах дополнения. Мы используем произвольный ключ и исходный текст, для того чтобы найти соответствующий зашифрованный текст. Если мы имеем ключевое дополнение и исходный текст, то получим i дополнение предыдущего зашифрованного текста (таблица 20).

Таблица 20. Результаты примера 10

Оригинал

Дополнение

Ключ

1234123412341234

EDCBEDCBEDCBEDCB

Исходный текст

12345678ABCDEF12

EDCBA987543210ED

Зашифрованный текст

E112BE1DEFC7A367

1EED41E210385C98

Кластерный ключ. Кластерный ключ рассматривает ситуации, в которых два или более различных ключа создают один и тот же зашифрованный текст из одного и того же исходного текста. Очевидно, каждая пара полуслабых ключей -- ключевой кластер. Однако больше кластеров не было найдено. Будущие исследования, возможно, могут открыть некоторые другие.

1.3Многократное применение DES

Как мы уже видели, основная критика DES направлена на длину ключа. Возможные технологии и возможности параллельных процессоров делают реальной атаку грубой силы. Одно из решений для улучшения безопасности - это отказ от DES и разработка нового шифра. Второе решение - многократное (каскадное) применение множества ключей. Это решение, которое использовалось некоторое время, не требует инвестиций в новое программное обеспечение и аппаратные средства. Ниже рассмотрен такой подход.

Подстановка, которая размещает все возможные входы во все возможные выходы, является группой с отображениями элементов множества и набором операций. В этом случае использование двух последовательных отображений бесполезно, потому что мы можем всегда найти третье отображение, которое эквивалентно композиции этих двух (свойство замкнутости). Это означает, что если DES - группа, то однократный DES с ключом k3 делает то же самое (рисунок 13).

К счастью DES - не группа. Она базируется на следующих двух параметрах:

а. Номер возможных входов или выходов в DES - N = 264. Это означает, что N!= (264)! = 10347 380 000 000 000 000 000 отображений. Один из способов способ сделать DES группой - это поддержать все эти отображения с размером ключа log2 (264!) -- 270 битов. Но мы знаем, что длина ключа в DES - 56 бит (только маленькая часть этого требуемого огромного ключа).

б. Другой способ сделать DES группой - сделать, чтобы множество отображений было подмножеством множества в смысле зависимости от первого параметра; но было доказано, что группы, созданные из группы с помощью первого параметра, имеют ключевой размер 56 битов.

Если DES не является группой, то очень маловероятно, что мы можем найти ключ k3, такой, что

Ek2(Ek1(P)) = Ek3(P)

Это означает, что мы можем использовать двукратные или трехкратные DES, чтобы увеличить размер ключа.

Двукратный DES

Первый подход состоит в том, чтобы использовать двукратный DES (2DES). При этом подходе мы применяем два типа шифров DES для шифрования и два типа обратных шифров для дешифрования. Каждый тип использует различный ключ, что означает, что размер ключа теперь удвоился (112 битов). Однако двукратный DES уязвим к атаке знания открытого текста, как это обсуждается в следующем разделе.

На первый взгляд двукратные DES увеличивают число испытаний при поиске ключа от 256 (в однократном DES) к 2112 (в двукратном DES). Однако при использовании атаки знания исходного текста, называемой атакой сведения к середине, можно доказать, что двукратный DES улучшает эту устойчивость (до 257 по испытаниям), но не чрезвычайно (к 2112). Рисунок 8.14 показывает диаграмму для двукратного DES. Алиса использует два ключа, k1 и k2, чтобы зашифровывать исходный текст P в зашифрованный текст C; Боб использует зашифрованный текст C и два ключа, k2 и k1, для восстановления P.

В средней точке М - текст, созданный первым шифрованием или первым дешифрованием. Для обеспечения правильной работы он должен быть одинаковым для шифрования и дешифрования. Другими словами, мы имеем два отношения:

M = EK1(P) и M = EK2(C)

Предположим, что Ева перехватила предыдущую пару P и C (атака знания исходного текста). Базируясь на первом отношении из упомянутых выше, Ева зашифровывает P, используя все возможные значения (256) k1, и записывает все значения, полученные для М. Базируясь на вторых отношениях, упомянутых выше, Ева расшифровывает C, используя все возможные значения (256) k2. Она записывает все значения, полученные для М. Далее Ева создает две таблицы, отсортированные согласно значениям M. Она сравнивает значения для М, пока не находит те пары k1 и k2, для которых значение М является одним и тем же в обеих таблицах (как показано на рис. 8.15). Обратите внимание, что должна быть по крайней мере одна пара, потому что она делает исчерпывающий поиск комбинации двух ключей.

1. Если есть только одно соответствие. Ева нашла два ключа (k1 и k2). Если есть больше чем один кандидат, Ева перемещается в следующий шаг.

2. Она берет другую перехваченную пару зашифрованного текста и исходного текста и использует каждого кандидата для получения пары ключей, чтобы установить, может ли она получить зашифрованный текст из исходного текста. Если она находит больше чем одного кандидата в виде пары ключей, она повторяет шаг 2, пока, наконец, не находит уникальную пару.

Было доказано, что после применения второго шага к нескольким перехваченным парам "зашифрованный текст - исходный текст" ключи были найдены. Это означает, что вместо того чтобы использовать поиск ключей с помощью 2112 испытаний, Ева использует 256 испытаний поиска ключа и проверяет два раза (несколько больше испытаний требуется, если найден на первом шаге единственный кандидат). Другими словами, двигаясь от однократного DES до двукратного DES, мы увеличили объем испытаний от 256 до 257 (а не до 2112, как это кажется при поверхностном подходе).

Трехкратный DES

Для того чтобы улучшить безопасность DES, был предложен трехкратный DES (3DES). Он использует три каскада DES для шифрования и дешифрования. Сегодня используются две версии трехкратных DES: трехкратный DES с двумя ключами и трехкратный DES с тремя ключами.

Трехкратный DES с двумя ключами

В трехкратном DES с двумя ключами есть только два ключа: k1 и k2. Первый и третий каскады используют k1; второй каскад использует k2. Чтобы сделать трехкратный DES совместимым с DES, средний каскад применяет дешифрование (обратный шифр) на стороне шифрования и шифрование (шифр) на стороне дешифрования. Таким способом сообщение, зашифрованное DES-ключом k, может быть расшифровано трехкратным DES, если k1 = k2 = k. Хотя трехкратный DES с двумя ключами также уязвим при атаке "знания исходного текста", он гораздо устойчивее, чем двукратный DES. Он был принят для банков. Рисунок 16 показывает трехкратный DES с двумя ключами.

Трехкратный DES с тремя ключами

Возможность атак "знания исходного текста" при трехкратном DES с двумя ключами "соблазнила" некоторые приложения использовать трехкратный DES с тремя ключами. Алгоритм может применять три каскада шифра DES на стороне шифрования и три каскада обратных шифров на стороне дешифрования. Для совместимости с однократным DES сторона шифрования использует EDE, а сторона дешифрования -- DED. E (encryption) -- каскад шифрования, D (decryption) -- каскад дешифрования. Совместимость с однократным DES обеспечивается при k1 = k и установкой k2 и k3 к одному и тому же произвольному ключу, выбранному приемником. Трехкратный DES с тремя ключами используется многими приложениями, такими как PGP (Pretty Good Privacy), поскольку гарантирует очень хорошую конфиденциальность.

1.4Безопасность DES

DES, как первый блочный шифр, имеющий важное значение, прошел через много испытаний на безопасность. Среди предпринятых атак лишь три представляют интерес: грубая сила, дифференциальный криптоанализ и линейный криптоанализ.

Атака грубой силы

Мы уже обсуждали слабость шифра с коротким ключом. Слабость ключа совместно с другими рассмотренными недостатками, делает очевидным, что DES может быть взломан с числом испытаний 255. Однако сегодня большинство приложений использует либо 3DES с двумя ключами (размер ключа 2112), либо 3DES с тремя ключами (размер ключа 2168). Эти две многократных версии DES позволяют ему показывать существенную стойкость к атакам грубой силы.

Дифференциальный криптоанализ

DES не является устойчивым к такому виду атаки. Однако многое указывает, что разработчики DES уже знали об этом типе атаки и проектировали S-блоки и специально выбрали число раундов, чтобы сделать DES стойким к этому типу атаки. Сегодня показано, что DES может быть взломан, используя дифференциальный криптоанализ, если мы имеем 247 выборок исходного текста или 255 известных исходных текстов. Хотя это выглядит более эффективно, чем в атаке грубой силы, предположить, что кто-то знает 247 выборок исходного текста или 255 выборок исходного текста, практически невозможно. Поэтому мы можем сказать, что DES является стойким к дифференциальному криптоанализу. Также показано, что увеличение числа раундов до 20 увеличивает число требуемых выборок исходного текста для атаки более чем до 264. Такое увеличение невозможно, потому что число блоков исходного текста в DES только 264.

Линейный криптоанализ

Линейный криптоанализ - более новая методика, чем дифференциальный криптоанализ. DES более уязвим к применению линейного криптоанализа, чем к дифференциальному криптоанализу - вероятно потому, что этот тип атак не был известен проектировщикам DES и S-блоки не являются очень стойкими к линейному криптоанализу. Показано, что DES может быть взломан с использованием 243 пары известных исходных текстов. Однако с практической точки зрения перехват такого количества пар очень маловероятен.

Заключение

В данной курсовой работе был рассмотрен стандарт шифрования данных (DES) - блочный шифр с симметричными ключами, изданный национальным Институтом Стандартов и Технологии (NIST) как FIPS 46 в Федеральном Регистре.

На стороне шифрования DES принимает исходный текст на 64 бита и создает зашифрованный текст на 64 бита. На стороне дешифрования DES принимает зашифрованный текст на 64 бита и создает блок на 64 бита исходного текста. Ключ шифра на 56 битов одного типа используется и для шифрования, и для дешифрования.

Процесс шифрования состоит из двух перестановок (P-блоки), которые называются начальными и конечными перестановками, и шестнадцати раундов Файстеля. Каждый раунд DES - шифр Файстеля с двумя элементами (смеситель и устройство замены). Каждый из этих элементов является обратимым.

Основой DES является функция DES. Функция DES применяет ключ на 48 битов к самым правым 32 битам, чтобы получить на выходе 32 бита. Эта функция составлена из четырех операций: перестановки расширения, отбеливателя (который добавляет ключ), группы S-блоков и прямой перестановки.

Генератор ключей раунда создает из ключа шифра на 56 битов шестнадцать ключей по 48 битов. Однако ключ шифра обычно представляется как ключ на 64 бита, в котором 8 дополнительных битов являются проверочными битами - они отбрасываются перед фактическим процессом генерирования ключей.

DES показывает хорошие рабочие характеристики по отношению к эффектам полноты (законченности) и лавины. К числу слабостей DES относятся: построение шифра (S-блоки и P-блоки) и ключ шифра (длина), слабые ключи, полуслабые ключи, возможно слабые ключи и дополнение ключей.

Так как DES - не группа, одно из решений по улучшению безопасности DES состоит в том, чтобы пользоваться многократными DES, которые используют кратное число применения ключей (двукратный или трехкратный DES). Двукратный DES уязвим к атаке сведения к середине, поэтому в обычных приложениях используется трехкратный DES с двумя ключами или с тремя ключами.

Разработка S-блоков и число раундов сделали DES почти обладающим иммунитетом от дифференциального криптоанализа. Однако DES уязвим при применении линейного криптоанализа, если злоумышленники смогут собрать достаточно много исходных текстов.


Подобные документы

  • Разработка программы кодирования текстового файла при помощи блочного алгоритма шифрования ТЕА типа "Сеть Фейштеля", который основан на битовых операциях с 64-битным блоком и имеет 128-битный ключ шифрования. Результаты кодирования и декодирования.

    лабораторная работа [299,9 K], добавлен 18.07.2013

  • Теоретические основы, адаптация и практическое применение методики интегральной атаки для использования против усеченного варианта блочного симметричного шифра Crypton. Основные требования к механизмам системы, обеспечивающим конфиденциальность.

    дипломная работа [642,7 K], добавлен 19.06.2011

  • Шифрование и дешифрование с помощью сети Фейстеля. Процесс блочного преобразования открытой информации в зашифрованную информацию. Таблица перевода чисел и букв. Криптостойкость шифра как показатель его эффективности. Подстановки и перемещение битов.

    курсовая работа [475,6 K], добавлен 30.12.2013

  • Проблема скрытия и защиты информации от несанкционированного использования. История создания шифра. Решения задачи шифрования текста и кодирования данных. Тестирование полученного приложения и анализ работы программы с точки зрения пользователя.

    курсовая работа [3,0 M], добавлен 24.11.2013

  • Описания режимов шифрования с использованием электронной книги кодов, с посимвольной и внутренней обратной связью. Генератор реальных случайных последовательностей. Линейный сдвиговый регистр с обратной связью. Генерация ключей в министерстве обороны США.

    реферат [206,1 K], добавлен 18.01.2015

  • Основные требования к блочным симметричным шифрам как к механизмам, обеспечивающим конфиденциальность. Адаптация методики реализации интегральной атаки для расшифрования усеченного варианта Crypton. Использование криптографических способов защиты.

    дипломная работа [1,2 M], добавлен 05.06.2011

  • Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.

    курсовая работа [314,2 K], добавлен 27.01.2015

  • Краткое описание терминологии, используемой в криптологии. Определение места криптографических методов защиты в общей системе обеспечения безопасности информации. Изучение простых шифров и оценка методов их взлома. Методы современного криптоанализа.

    курсовая работа [52,3 K], добавлен 13.06.2012

  • Методы криптографической защиты информации в России в XIX веке. Описание структуры программы: библиотека DLL, графическая оболочка, консольная реализация. Вид функции шифрования. Инструкция системного программиста. Класс для шифровки, расшифровки данных.

    контрольная работа [26,3 K], добавлен 22.12.2011

  • Программа на языке Turbo Pascal для шифрования данных с помощью шифра Тритемиуса. Входные, выходные данные. Схема алгоритма и текст программы. Порядок ввода исходных данных и описание получаемых результатов. Тестовых задания и анализ их функционирования.

    курсовая работа [4,0 M], добавлен 06.01.2011

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