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