Уменьшенные пространства ключей

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

Табл. -2.
Время исчерпывающего поиска различных пространства ключей (при одном миллионе проверок в секунду)

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