Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Беззатеев и др. Блоковые шифры.pdf
Скачиваний:
245
Добавлен:
02.04.2015
Размер:
1.75 Mб
Скачать

20

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

56-битовой последовательности

 

C(i)D(i) и

 

их перестановки. Другими словами,

K(i) = K (C(i)D(i)) , где функция

K называется

сжимающей

перестановкой и определяется

Табл. 3.8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

17

 

11

 

 

24

 

1

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

28

 

15

 

 

6

 

21

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

19

 

12

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 3.8. Сжимающая перестановка K .

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

3.3.1 Слабые и полу-слабые ключи в DES

Если ключи K(i), i =1,2,,16 оказываются попарно одинаковыми, то есть K(1) = K(16) , K (2) = K (15) и так далее, тогда процедуры шифрации и дешифрации оказываются идентичными.

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

E(E(x, K ), K ) = x ,

где x — исходный информационный блок в 64 бита, K — 56-битный ключ, E( , ) — функция шифрации.

Кроме слабых ключей, для DES существует понятие полу-слабых ключей — это пара 56-битных ключей (K1, K2 ) такая, что

E(E(x, K2 ), K1) = x .

Для алгоритма DES имеется четыре слабых ключа и шесть пар полу-слабых ключей.

0101

0101

0101

0101

FEFE

FEFE

FEFE

FEFE

1F1F

1F1F

0E0E

0E0E

E0E0

E0E0

F1F1

F1F1

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

01FE 01FE 01FE 01FE ; FE01 FE01 FE01 FE01 1FE0 1FE0 0EF1 0EF1 ; E01F E01F F10E F10E 01E0 01E0 01F1 01F1 ; E001 E001 F101 F101 1FFE 1FFE 0EFE 0EFE ; FE1F FE1F FE0E FE0E 011F 011F 010E 010E ; 1F01 1F01 0E01 0E01 E0FE E0FE F1FE F1FE ; FEE0 FEE0 FEF1 FEF1

Табл. 3.10. Пары полу-слабых ключей.