Криптоанализ ГОСТ

Rh

Rh

►0


Выбор подключа


 


/-М



Рис. 14-1. Этап ГОСТ.

В этом случае, если на входе S-блока О, то на выходе 7. Если на входе 1, на выходе 10, и т.д. Все восемь S-блоков различны, они фактически являются дополнительным ключевым материалом. S-блоки должны хр а-ниться в секрете.

Выходы всех восьми S-блоков объединяются в 32-битовое слово, затем все слово циклически сдвигается влево на И битов. Наконец результат объединяется с помощью XOR с левой половиной, и получается новая правая половина, а правая половина становится новой левой половиной. Выполните это 32 раза, и все в поря д-


ке.

Генерация подключен проста. 256-битовый ключ разбивается на восемь 32-битовых блоков: ки к2, . . 8. На каждом этапе используется свой подключ, как показано в Табл. 14-1. Дешифрирование выполняется также, как и шифрование, но инвертируется порядок подключей *,-.

Стандарт ГОСТ не определяет способ генерации S-блоков, говорится только, что блоки должны быть пр е-доставлены каким-то образом [655]. Это породило домыслы о том, что советский производитель может поста в-лять хорошие S-блоки "хорошим" организациям и плохие S-блоки тем организациям, которых производитель собирается надуть. Это вполне может быть так, но неофициальные переговоры с российским производителем микросхем ГОСТ выявили другую альтернативу. Производитель создает перестановки S-блока самостоятельно с помощью генератора случайных чисел.

Табл. 14-1. Использование подключей на различных этапах ГОСТ

Этап: 1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 16

Подключ: 1234567812345678

Этап: 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Подключ: 1234567887654321

Совсем недавно стал известным набор S-блоков, используемых в приложениях Центрального Банка РФ. Эти S-блоки также используются в однонаправленной хэш-функции ГОСТ (см. раздел 18.11) [657]. Они перечисл е-ны в Табл. 14-2.

Вот главные различия между DES и COST.

— DES использует сложную процедуру для генерации подключей из ключей. В ГОСТ эта процедура очень проста.

— В DES 56-битовый ключ, а в ГОСТ - 256-битовый. Если добавить секретные перестановки S-блоков, то полный объем секретной информации ГОСТ составит примерно 610 битов.

— У S-блоков DES 6-битовые входы и 4-битовые выходы, а у S-блоков ГОСТ 4-битовые входы и выходы. В обоих алгоритмах используется по восемь S-блоков, но размер S-блока ГОСТ равен одной четвертой размера S-блока DES.

— В DES используются нерегулярные перестановки, названные Р-блоком, а в ГОСТ используется 11-битовый циклический сдвиг влево.

— В DES 16 этапов, а в ГОСТ - 32.

Табл. 14-2. S-блоки ГОСТ

S-блок 1:

4 10 9 2 13 8 0 14 6 И 1 12 7 15 5 3
S-блок 2:

14 И 4 12 6 13 15 10 2 3 8 1 0 7 5 9

S-блок З:

5 8 1 13 10 3 4 2 14 15 12 7 6 0 9 И
S-блок 4:

7 13 10 1 0 8 9 15 14 4 6 12 И 2 5 3

S-блок 5:

6 12 7 1 5 15 13 8 4 10 9 14 0 3 И 2
S-блок 6:


4 И 10 0 7 2 1 13 3 6 8 5 9 12 15 14

S-блок 7:
13 И 4 1 3 15 5 9 0 10 14 7 6 8 2 12

S-блок 8:
1 15 13 0 5 7 10 4 9 2 3 14 6 И 8 12

Если лучшим способом вскрытия ГОСТ является грубая сила, то это очень безопасный алгоритм. ГОСТ и с-пользует 256-битовый ключ, а если учитывать секретные S-блоки, то длина ключа возрастает. ГОСТ, по вид и-мому, более устойчив к дифференциальному и линейному криптоанализу, чем DES. Хотя случайные S-блоки ГОСТ возможно слабее фиксированных S-блоков DES, их секретность увеличивает устойчивость ГОСТ к ди ф-ференциальному и линейному криптоанализу. К тому же, эти способы вскрытия чувствительны к количеству этапов - чем больше этапов, тем труднее вскрытие. ГОСТ использует в два раза больше этапов, чем DES, одно это возможно делает несостоятельными и дифференциальный, и линейный криптоанализ.

Другие части ГОСТ такие же, как в DES, или слабее. ГОСТ не использует существующую в DES перест а-новку с расширением. Удаление этой перестановки из DES ослабляет его из-за уменьшения лавинного эффекта, разумно считать, что отсутствие такой операции в ГОСТ ослабляет этот алгоритм. Сложение, используемое в ГОСТ, не менее безопасно, чем используемая в DES операция XOR.

Самым большим различием представляется использование в ГОСТ циклического сдвига вместо перестано в-ки. Перестановка DES увеличивает лавинный эффект. В ГОСТ изменение одного входного бита влияет на один S-блок одного этапа, который затем влияет на два S-блока следующего этапа, три блока следующего этапа, и т.д.. В ГОСТ потребуется 8 этапов прежде, чем изменение одного входного бита повлияет на каждый бит р е-зультата, алгоритму DES для этого нужно только 5 этапов. Это, конечно же, слабое место. Но не забывайте: ГОСТ состоит из 32 этапов, a DES только из 16.

Разработчики ГОСТ пытались достигнуть равновесия между безопасностью и эффективностью. Они изм е-нили идеологию DES так, чтобы создать алгоритм, который больше подходит для программной реализации. Они, по видимому, менее уверены в безопасности своего алгоритма и попытались скомпенсировать это очень большой длиной ключа, сохранением в секрете S-блоков и удвоением количества итераций. Вопрос, увенчались ли их усилия созданием более безопасного, чем DES, алгоритма, остается открытым.