logo
Анин Б

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

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

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

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

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

4 байта

5 байт

6 байт

7 байт

8 байт

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

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

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

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

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

4,7ּ105

1,8ּ106

1,6ּ107

8,2ּ107

4,4ּ109

1,3ּ107

6,1ּ107

9,3ּ108

7,8ּ109

1,2ּ1010

3,2ּ108

2,3ּ109

5,8ּ1010

7,5ּ1011

2,9ּ1014

8,1ּ109

7,9ּ1010

3,6ּ1011

7,1ּ1013

7,3ּ1016

2,2ּ1011

2,9ּ1012

2,3ּ1014

6,7ּ1015

1,9ּ1019

Из табл. 6.6 следует, что возможность опробовать 1 млн ключей в секунду позволяет в разумные сроки вскрывать 8-байтовые ключи из строчных букв и цифр, 7-байтовые буквенно-цифровые ключи, 6-байтовые ключи, составленные из печатаемых ASCII-символов, и 5-байтовые ключи, в которые могут входить любые ASCII-символы. А если учесть, что вычислительная мощь компьютеров увеличивается вдвое каждые полтора года, то для успешного отражения атаки методом тотального перебора в течение ближайшего десятилетия необходимо заблаговременно позаботиться о том, чтобы используемый ключ был достаточно длинным.

Таблица 6.7. Сложность атаки методом тотального перебора при условии, что перебор ведется со скоростью 1 миллион ключей в секунду

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

4 байта

5 байт

6 байт

7 байт

8 байт

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

0,6 сек.

13 сек.

6 мин.

2,3ч.

2,5 дн.

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

1,8 сек.

2 мин.

37 мин.

23ч.

34 дн.

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

16 сек.

16 мин.

17ч.

42 дн.

7,0 лет

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

1,5

2,2ч.

8,6 дн.

2,3 лет

211 лет

мин.

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

1,3ч.

14дн.

9,0 лет

2400

590000

лет

лет