Криптоанализ ГОСТ
Вот главные различия между DES и COST.
-
DES использует сложную процедуру для генерации подключей из ключей. В ГОСТ эта процедура очень проста.
-
В DES 56-битовый ключ, а в ГОСТ - 256-битовый. Если добавить секретные перестановки S-блоков, то полный объем секретной информации ГОСТ составит примерно 610 битов.
-
У S-блоков DES 6-битовые входы и 4-битовые выходы, а у S-блоков ГОСТ 4-битовые входы и выходы. В обоих алгоритмах используется по восемь S-блоков, но размер S-блока ГОСТ равен одной четвертой размера S-блока DES.
-
В DES используются нерегулярные перестановки, названные P-блоком, а в ГОСТ используется 11-битовый циклический сдвиг влево.
-
В DES 16 этапов, а в ГОСТ - 32.
Табл. 14-2.
S-блоки ГОСТ
S-блок 1:
4 |
10 |
9 |
2 |
13 |
8 |
0 |
14 |
6 |
11 |
1 |
12 |
7 |
15 |
5 |
3 |
S-блок 2:
14 |
11 |
4 |
12 |
6 |
13 |
15 |
10 |
2 |
3 |
8 |
1 |
0 |
7 |
5 |
9 |
S-блок 3:
5 |
8 |
1 |
13 |
10 |
3 |
4 |
2 |
14 |
15 |
12 |
7 |
6 |
0 |
9 |
11 |
S-блок 4:
7 |
13 |
10 |
1 |
0 |
8 |
9 |
15 |
14 |
4 |
6 |
12 |
11 |
2 |
5 |
3 |
S-блок 5:
6 |
12 |
7 |
1 |
5 |
15 |
13 |
8 |
4 |
10 |
9 |
14 |
0 |
3 |
11 |
2 |
S-блок 6:
4 |
11 |
10 |
0 |
7 |
2 |
1 |
13 |
3 |
6 |
8 |
5 |
9 |
12 |
15 |
14 |
S-блок 7:
13 |
11 |
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 |
11 |
8 |
12 |
Если лучшим способом вскрытия ГОСТ является грубая сила, то это очень безопасный алгоритм. ГОСТ использует 256-битовый ключ, а если учитывать секретные S-блоки, то длина ключа возрастает. ГОСТ, по видимому, более устойчив к дифференциальному и линейному криптоанализу, чем DES. Хотя случайные S-блоки ГОСТ возможно слабее фиксированных S-блоков DES, их секретность увеличивает устойчивость ГОСТ к дифференциальному и линейному криптоанализу. К тому же, эти способы вскрытия чувствительны к количеству этапов - чем больше этапов, тем труднее вскрытие. ГОСТ использует в два раза больше этапов, чем DES, одно это возможно делает несостоятельными и дифференциальный, и линейный криптоанализ.
Другие части ГОСТ такие же, как в DES, или слабее. ГОСТ не использует существующую в DES перестановку с расширением. Удаление этой перестановки из DES ослабляет его из-за уменьшения лавинного эффекта, разумно считать, что отсутствие такой операции в ГОСТ ослабляет этот алгоритм. Сложение, используемое в ГОСТ, не менее безопасно, чем используемая в DES операция XOR.
Самым большим различием представляется использование в ГОСТ циклического сдвига вместо перестановки. Перестановка DES увеличивает лавинный эффект. В ГОСТ изменение одного входного бита влияет на один S-блок одного этапа, который затем влияет на два S-блока следующего этапа, три блока следующего этапа, и т.д.. В ГОСТ потребуется 8 этапов прежде, чем изменение одного входного бита повлияет на каждый бит результата, алгоритму DES для этого нужно только 5 этапов. Это, конечно же, слабое место. Но не забывайте: ГОСТ состоит из 32 этапов, а DES только из 16.
Разработчики ГОСТ пытались достигнуть равновесия между безопасностью и эффективностью. Они изменили идеологию DES так, чтобы создать алгоритм, который больше подходит для программной реализации. Они, по видимому, менее уверены в безопасности своего алгоритма и попытались скомпенсировать это очень большой длиной ключа, сохранением в секрете S-блоков и удвоением количества итераций. Вопрос, увенчались ли их усилия созданием более безопасного, чем DES, алгоритма, остается открытым.