Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Раздел6_11

.pdf
Скачиваний:
18
Добавлен:
15.06.2014
Размер:
431.01 Кб
Скачать

6 Алгоритмы шифрования

(Сост. Никонов А.В.)

Как отмечалось в предыдущем разделе, в различной мере требованиям, предъявляемым к шифрам, используемым для криптографической защиты,

отвечают: шифры перестановок; шифры замены (подстановки); шифры гаммирования; шифры с аналитическим преобразованием шифруемых данных.

Все современные шифры используют принцип Кирхгофа: сек-

ретность шифра обеспечивается секретностью ключа, а не секретностью алгоритма шифрования.

Хотя, не делая общедоступным описание сути криптосистемы, можно дополнительно повысить надёжность шифра [17]. Но анализ надёжности таких систем

всегда должен производиться исходя из того, что противник имеет всю информацию о применяемом криптоалгоритме, неизвестен

только реально использованный ключ.

Стойкость криптосистемы зависит:

от сложности алгоритмов преобразования;

длины ключа(объёма ключевого пространства);

метода реализации (программной или аппаратной).

На практике применяются следующие МЕТОДЫ ОЦЕНКИ

КАЧЕСТВА криптоалгоритмов:

различные попытки вскрытия;

анализ сложности алгоритма дешифрования;

оценка статистической безопасности шифра.

Применяя статистические методы, оценивают следующие условия стойкости криптосистемы:

а) отсутствие статистической зависимости между входной и

выходнойпоследовательностями;

б) выходная последовательность по своим статистическим свой-

ствам должна быть похожа на случайную последовательность;

в) при неизменной входной последовательности незначительное изменение ключа должно приводить к существенному изменению вы-

ходнойпоследовательности;

д) при неизменном ключе незначительное изменение входной последовательности должно приводить к существенному изменению выходной последовательности;

е) отсутствие зависимости между ключами, последовательно ис-

пользуемымив процессе шифрования.

Нет ни одного криптоалгоритма, подходящего для любой практической си-

туации и ВЫБОР КРИПТОАЛГОРИТМА ОПРЕДЕЛЯЕТСЯ

ФАКТОРАМИ:

а) особенностью защищаемой информации (документы, исходные

тексты, графические файлы и т. д.);

б) особенностями среды хранения или передачи информации;

в) ценностью информации, характером защищаемых секретов, временемобеспечения секретности;

д) объёмами информации, скоростью её передачи, степенью оперативности её представления пользователю;

ж) возможностями собственников информации, владельцев средств сбора, обработки, хранения и передачи информации по её защите;

и) характером угрози возможностями противника.

6.1 Блочные шифры

В этой категории шифров прямое шифрование переводит блок откры-

того текста в блок шифротекста той же длины.

Дешифрование переводит блок шифротекста в исходный блок открытого текста.

Шифры, в которых прямое и обратное преобразования выполняются над блоками фиксированной длины, называются блочными.

Обычно разрядность блока составляет 64 бита. При шифровании различные блоки открытого текста отображаются в различные блоки шифротекста. При дешифровании соответствие сохраняется.

Шифрование можно рассматривать как перестановку на множестве сообщений с фиксированным размером блока.

Результат перестановки носит секретный характер, что обеспечивает-

ся секретным компонентомключом.

При разработке криптографических преобразований широко используется

ПРИНЦИП ИТЕРИРОВАНИЯ, заключающийся в многократной, со-

стоящей из нескольких циклов обработке одного блока открытого текста.

На каждом цикле данные подвергаются специальному преобразова-

нию при участии вспомогательного ключа, полученного из заданного секретного ключа.

Число циклов определяется требованиями криптостойкости и

эффективности реализации блочного шифра.

С увеличением числа циклов увеличивается криптостойкость и

уменьшается эффективность (из-за большой задержки при шифровании –

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

ет 5 циклов преобразования.

Разновидностью итерированного блочного шифра является кон-

струкция (сеть) Фейстеля(H. Feistel).

При шифровании блок открытого текста разбивается на 2 равные части(т. е. длина блока должна быть чётной) – правую и левую.

На каждом цикле одна из частей подвергается преобразованию при мощи функции f и вспомогательного ключа ki, полученного из исходного секретного ключа.

Результат операции суммируется «по модулю (операция XOR) c

другой частьюблока.

Затем левая и правая части меняются местами, рисунок 6.1.

k1

+ f

k2

+ f

kr

+ f

Рисунок 6.1 – Итерированный блочный шифр конструкции Фейстеля

Преобразования на каждом цикле идентичны, но на последнем не

выполняется перестановка.

Процедура дешифрования аналогична процедуре шифрования, но ki

выбираются в обратном порядке.

Достоинство: прямое и обратное криптопреобразования имеют идентичную структуру.

6.1.1 Отечественный стандарт шифрования данных ГОСТ 28147–

89

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

дельных комплексах и ЭВМ, который определяется ГОСТ 28147–89 [1, 5, 8].

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

тях ЭВМ, в отдельных вычкомплексах и ЭВМ.

Этот алгоритм предназначен для аппаратной и программной реали-

зации и НЕ НАКЛАДЫВАЕТ ОГРАНИЧЕНИЙ НА СТЕПЕНЬ СЕКРЕТНОСТИзащищаемой информации.

Алгоритм шифрования представляет 64-битовой блочный алгоритм с 256–

битовым ключом и 32 циклами преобразования.

Для шифрования открытый текст сначала разбивается на левую и

правую половины Lи R.На i–м цикле используется подключki:

Li Ri 1; R i L i 1 f R i 1 ,K

i , (6.1,6.2)

где – операция побитового сложения «по модулю 2».

 

Один цикл криптографического преобразования показан на рисунке

6.2.

Li-1

 

 

 

Ri-1

 

Выборподкл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПодстановкачерезS-блок

Циклическийсдвигвл

 

+

Li

Ri

операция сложения «по модулю 232» двух 32-разрядных двоич-

ных чисел

Рисунок 6.2 – Один цикл преобразования по ГОСТ 28147-89

Здесь два целых числа а и b (блоки), где а 0, b (232 – 1), имеющие вид а

= (а32 а31 … а2 а1)и b = (b32 b31 … b2 b1), представлены в двоичном виде:

а = а32231 + а31230 +… + а221 + а120 ;

 

b = b32 231 + b31 230 +… + b2 21 + b120.

(6.3, 6.4)

Суммирование по модулю 232 (операция ) выполняется по правилу:

a b = а + b, если а + b < 232 ;

а b = а + b – 232, если а + b 232.

(6.5, 6.6)

ОДНОНАПРАВЛЕННАЯ ФУНКЦИЯ f реализована следующим образом:

а) правая половина и iй подключ складываются «по модулю 232»;

б) результат сложения разбивается на восемь 4-хбитовых последо-

вательностей, каждая из которых поступает на вход своего S–блока.

Первые 4 бита попадают в первый S–блок, вторые 4 бита – во второй S–блок и т. д.

Каждый S-блок представляет собой перестановку чисел от 0 до 15.

Например, S-блок может выглядеть: 7, 10, 2, 4, 15, 9, 0, 3, 6, 12, 5, 13, 1, 8, 11,

14. Тогда, если на входе Sблока 0, то на выходе 7. Если на входе 1, то

на выходе10и т. д.

Sблоки фактически являются дополнительным ключевым материалом.

Стандарт не определяет способ генерации Sблоков.

Набор Sблоков, указанных в таблице 6.1, рекомендуется стандартом

P 34.11–94[9].

Таблица 6.1 Sблоки ГОСТа 28147-89

Номер

 

 

 

 

 

 

Перестановка S–блока

 

 

 

 

 

S-блока

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 1

4

10

9

2

13

8

 

6

14

6

11

1

12

7

15

5

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 2

14

11

4

12

6

13

 

15

10

2

3

8

1

0

7

5

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 3

5

8

1

13

10

3

 

4

2

14

15

12

7

6

0

9

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S– блок 4

7

13

10

1

0

8

 

9

15

14

4

6

12

11

2

5

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 5

6

12

7

1

5

15

 

13

8

4

10

9

14

0

3

11

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 6

4

11

10

0

7

2

 

1

13

3

6

2

5

9

12

15

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 7

13

11

4

1

3

15

 

5

9

0

10

14

7

6

8

2

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S–блок 8

1

15

13

0

5

7

10

4

9

2

3

14

6

11

8

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В) Выходы всех восьми блоков объединяются в 32битовое слово.

Д) Всё слово циклически сдвигается влево на 11битов.

Е) Результат объединяется с помощью операции XOR с левой

половиной, и получается новая правая половина, а правая половина становится

новой левой половиной.

Указанный порядок реализует РЕЖИМ ПРОСТОЙ ЗАМЕНЫ.

ДЛЯ ГЕНЕРАЦИИ ПОДКЛЮЧЕЙ исходный 256битовый ключ

разбивается на восемь 32битных блоков k1, k2,…, k8. На каждом цик-

ле используется свой подключ, таблица 6.2.

Таблица 6.2 – Подключи в ГОСТ 28147–89

Цикл и

 

 

 

 

 

 

 

Номер

 

 

 

 

 

 

 

подключ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Цикл

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подключ

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Цикл

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подключ

1

2

3

4

5

6

7

8

8

7

6

5

4

3

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дешифрование выполняется как и шифрование, но инвертируется порядок ключей ki.

?????????????????????????????????????????????? РРРРРРРРРРРРРРРР

В целом, алгоритм ГОСТ 28147–89 предусматривает 4 режима рабо-

ты:

режим простой замены;

режим гаммирования;

режим гаммирвания с обратной связью;

выработка имитовставки.

РЕЖИМ ПРОСТОЙ ЗАМЕНЫ описан выше. Функциональная схе-

ма для его реализациипоказана на рисунке 6.3.

Соседние файлы в предмете Защита информации