Системы защиты компьютера


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



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

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

Сокращенные ключевые пространства

Длина ключа в DES-алгоритме составляет 56 бит. В принципе, в качестве ключа может быть использован любой 56-битный вектор. На практике это правило часто не соблюдается. Например, широко распространенная программа шифрования файлов Norton Discreet, входящая в пакет Norton Utilities (версии 8.0 или более младшей версии), который предназначен для работы в операционной системе DOS, предлагает пользователю программную реализацию DES-алгоритма. Однако при вводе ключа разрешается подавать на вход программы только те символы, старший бит представления которых в коде ASCII равен нулю. Более того, пятый бит в каждом байте введенного ключа является отрицанием шестого бита, и в нем игнорируется младший бит. Это означает, что мощность ключевого пространства сокращается до каких-то жалких 2

40

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

В табл. 6.6 приведено количество возможных ключей в зависимости от раз-личных ограничений на символы, которые могут входить в ключевую последовательность. Табл. 6.7 содержит сложность атаки методом тотального перебора при условии, что перебор ведется со скоростью 1 млн ключей в секунду.

Таблица 6.6. Количество возможных ключей в зависимости от ограничений на символы ключевой последовательности

Символы ключа

4 байта

5 байт

6 байт

7 байт

8 байт

Строчные буквы (26)

4,7*10

5

1,3*10

7

3,2*10

8

8,1*10

9

2,2*10

11

Строчные буквы и цифры (36)

1,8*10

6

6,1*10

7

2.3*10

9

7,9*10

10

2.9*10

12

Буквы и цифры (62)

1,6*10

7

9,3*10

8

5,8*10

10

3,6*10

11

2,3*10

14

Печатаемые символы (95)

8,2*10

7

7,8*10

9

7,5*10

11

7,1*10

13

6,7*10

15

Все ASCII-символы

4,4*10

9

1,2*10

10

2,9*10

14

7,3*10

16

1,9*10

19

<


Начало  Назад  Вперед