Иллюстрированный самоучитель по защите информации

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

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

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

Длина ключа в 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) 4.7·105 1.3·107 3.2·108 8.1·10э 2.2·1011
Строчные буквы и цифры (36) 1.8·10е 6.1·107 2.3·109 7.9·1010 2.9·1012
Буквы и цифры (62) 1.6·107 9.3·108 5.8·1010 3.6·1011 2.3·1014
Печатаемые символы (95) 8.2·107 7.8·109 7.5·1011 7.1·1013 6.7·1015
Все ASCII-символы 4.4·109 1.2·1010 2.9·1014 7.3·1016 1.9·1019

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.