ВУЗ:
Составители:
130
Правительство США никогда не позволило бы экспортировать любой
алгоритм, который оно, по крайней мере в теории, не смогло бы вскрыть.
Оно может создать магнитную ленту или CD с конкретным блоком
открытого текста, зашифрованным каждым возможным ключом. Для
вскрытия сообщения остается только вставить ленту и сравнить блоки
шифротекста в сообщении с блоками шифротекста на ленте. При совпадении
можно проверить возможный ключ и посмотреть, имеет ли сообщение какой-
нибудь смысл. Если они выберут часто встречающийся блок (все нули,
ASCII-символы пробела, и т.д.), этот метод будет работать. Объем данных,
нужный для хранения результатов шифрования 64-битового блока открытого
текста всеми 10
12
возможными ключами, составляет 8 терабайтов - вполне
реально.
2.5.5. Алгоритм MMB
Недовольство использованием в IDEA 64-битового блока шифрования
привело к созданию Джоном Дэймоном алгоритма под названием MMB
(Modular Multiplication-based Block cipher, модульный блочный шифр,
использующий умножения). В основе ММВ лежит теория, используемая и в
IDEA: перемешивающие операции из различных групп. ММВ - это
итеративный алгоритм, главным образом состоящий из линейных действий
(XOR и использование ключа) и параллельное использование четырех
больших нелинейных изменяющих обычный порядок подстановок. Эти
подстановки определяются с помощью умножения по модулю 2
32
-1 с
постоянными множителями. Результатом применения этих действий является
алгоритм, использующий и 128-битовый ключ и 128-битовый блок.
ММВ оперирует 32-битовыми подблоками текста (X
0
, X
1
, x
2
, x
3
) и 32-
битовыми подблоками ключа (k
0
, k
1
, k
2
, k
3
). Это делает удобным реализацию
алгоритма на современных 32-битовых процессорах. Чередуясь с XOR, шесть
раз используется нелинейная функция f. Вот этот алгоритм (все операции с
индексами выполняются по модулю 3):
x
i
= x
i
⊕
k
i
, для i = 0 до 3
f(x
0
, х
1
х
2
, х
3
)
x
i
= x
i
⊕
k
i+1
, для i = 0 до 3
f(x
0
, x , x
2
, x
3
)
x
i
= x
i
⊕
k
i+2
, для i = 0 до 3
f(x
0
, x , x
2
, x
3
)
x
i
= x
i
⊕
k
i
для i = 0 до 3
f(x
0
, x
1
, x
2
, x
3
)
x
i
= x
i
⊕
k
i+1
, для i = 0 до 3
f(x
0
, x
1
, x
2
, x
3
)
x
i
= x
i
⊕
k
i+2
, для i = 0 до 3
f(x
0
, x
1
, x
2
, x
3
)
Страницы
- « первая
- ‹ предыдущая
- …
- 128
- 129
- 130
- 131
- 132
- …
- следующая ›
- последняя »
