Уменьшенные пространства ключей
DES использует 56-битовый ключ с битами. Любая правильно заданная 56-битовая строка может быть ключом, существует 256 (1016) возможных ключей. Norton Discreet for MS-DOS (версии 8.0 и более ранние) разрешает пользоваться только ключам ASCII, делая старший бит каждого байта нолем. Программа также преобразует символы нижнего регистра в верхний регистр (так что пятый бит каждого байта всегда противоположен шестому бита) и игнорирует бит младшего разряда каждого байта, что приводит к пространству в 240 возможных ключей. Эти ущербные процедуры генерации ключей сделали свою реализацию DES в десять тысяч раз проще для вскрытия.
Табл-1 содержит число возможных ключей для различных ограничений на входные строки. В Табл. -2 приведено время, требуемое для исчерпывающего перебора всех возможных ключей при миллионе попыток в секунду.
Могут быть использованы для вскрытия грубой силой любые специализированные аппаратные и параллельные реализации. При проверке миллиона ключей в секунду (одной машиной или несколькими параллельно) физически возможно расколоть ключи из символов нижнего регистра и ключи из цифр и символов нижнего регистра длиной до 8 байтов, алфавитно-цифровые ключи - длиной до 7 байтов, ключи из печатаемых символов и ASCII-символов - длиной до 6 байтов, в ключи из 8-битовых ASCII-символов - длиной до 5 байтов.
Табл-1.Количество возможных ключей в различных пространствах ключей
4 байта |
5 байтов |
6 байтов |
7 байтов |
8 байтов |
|
Строчные буквы (26) |
460000 |
1.2*107 |
3.1*108 |
8.0*109 |
2.1*1011 |
Строчные буквы и цифры (36) |
1700000 |
6.0*107 |
2.2*109 |
7.8*1010 |
2.8*1012 |
Алфавитные и цифровые символы (62) |
1.5*107 |
9.2*108 |
5.7*1010 |
3.5*1012 |
2.2*1014 |
Печатаемые символы (95) |
8.1*107 |
7.7*109 |
7.4*1011 |
7.0*1013 |
6.6*1015 |
Символы ASCII (128) |
2.7*108 |
3.4*1010 |
4.4*1012 |
5.6*1014 |
7.2*1016 |
8-битовые ASCII символы (256) |
4.3*109 |
1.1*1012 |
2.8*1014 |
7.2*1016 |
1.8*1019 |
Время исчерпывающего поиска различных пространства ключей (при одном миллионе проверок в секунду)
4 байта |
5 байтов |
6 байтов |
7 байтов |
8 байтов |
|
Строчные буквы (26) |
0.5 секунды |
12 секунд |
5 минут |
2.2 часа |
2.4 дня |
Строчные буквы и цифры (36) |
1.7 секунды |
1 минута |
36 минут |
22 часа |
33 дня |
Алфавитные и цифровые символы (62) |
15 секунд |
15 минут |
16 часов |
41 день |
6.9 года |
Печатаемые символы (95) |
1.4 минуты |
2.1 часа |
8.5 дня |
2.2 года |
210 лет |
Символы ASCII (128) |
4.5 минуты |
9.5 часа |
51 день |
18 лет |
2300 лет |
8-битовые ASCII символы (256) |
1.2 часа |
13 дней |
8.9 года |
2300 лет |
580000 лет |
И помните, вычислительная мощь удваивается каждые 18 месяцев. Если вы хотите, чтобы ваши ключи были устойчивы к вскрытию грубой силой в течение 10 лет, вы должны соответствующим образом планировать использование ключей.