Interested Article - MacGuffin (шифр)
- 2020-05-28
- 1
В криптографии , MacGuffin — симметричный блочный шифр , построенный на основе сети Фейстеля .
Алгоритм придуман Брюсом Шнайером и в 1994 году в рамках . И в том же году Винсент Рэймен и Барт Пренель показали его уязвимость для дифференциального криптоанализа , также имеющуюся у похожего шифра DES . Предназначался для исследования такой структуры шифров, как несбалансированная сеть Фейстеля .
Введение
Традиционно, шифры, использующие сеть Фейстеля, делят входной блок на равные части — левую (целевой блок) и правую (управляющий блок). При каждом раунде блоки меняются местами. MacGuffin базируется на структуре, в которой целевой блок меньшей длины, чем управляющий. Шифр оперирует входными блоками длиной 64 бита, где целевая часть длиной 16 бит, а управляющая 48. Используется 128 битный ключ. Однако, количество раундов и размер ключа могут варьироваться .
Архитектура
Большая часть дизайна заимствована у DES. Входной не зашифрованный текст разделён на 4 16 битных слова. S-блоки заимствованы у DES. Их используется 8, каждый возвращает результат из 4 битов, принимая 6 битов на входе. Но учитываются только 2 бита (суммарный результат должен быть 16 бит). Выход S-блока не становится на позиции битов, использующихся для входа самого же блока, в течение следующих 4 раундов. Шифр предназначен для реализации в оборудовании или программном обеспечении. Перестановки выбраны так, чтобы минимизировать количество операций сдвига и маски.
Описание алгоритма
Ключевым элементом в структуре шифра является несбалансированная сеть Фейстеля. Входные блоки поделены на четыре регистра, по два байта каждый. В новом раунде три последних правых блока объединяются в контрольный блок и складываются по модулю 2 с раундовым ключом , созданным из основного при помощи алгоритма . Полученные 48 бит разбиваются на 8 частей и становятся входными параметрами шести S-блоков. В свою очередь, каждый S-блок преобразует 6 входных битов в 2 выходных. 16-битный результат S-блоков складывается по модулю 2 с крайним слева входным блоком, и результат становится крайним справа регистром входного блока следующего раунда. Три крайних справа регистра текущего раунда смещаются без изменений на одну позицию влево. Таким образом формируется входной блок для следующего раунда.
S-блоки и перестановки
Нелинейность процесса шифрования и раундовых ключей обеспечивается преимущественно восемью S-блоками, S 1 …S 8 . На вход выбираются биты из поданных 16-битных регистров a, b и c. Порядок выбора определяется таблицей 1 (бит с позицией 0 наименее значащий) :
S-блоки | входные биты | |||||
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | |
S 1 | a 2 | a 5 | b 6 | b 9 | c 11 | c 13 |
S 2 | a 1 | a 4 | b 7 | b 10 | c 8 | c 14 |
S 3 | a 3 | a 6 | b 8 | b 13 | c 0 | c 15 |
S 4 | a 12 | a 14 | b 1 | b 2 | c 4 | c 10 |
S 5 | a 0 | a 10 | b 3 | b 14 | c 6 | c 12 |
S 6 | a 7 | a 8 | b 12 | b 15 | c 1 | c 5 |
S 7 | a 9 | a 15 | b 5 | b 11 | c 2 | c 7 |
S 8 | a 11 | a 13 | b 0 | b 4 | c 3 | c 9 |
Ключевое расписание
В каждом раунде шифра используется секретный ключевой параметр, который сложением по модулю 2 влияет на входы S-блоков. Соответственно, при каждом раунде запрашивается 48 бит. Для конвертации 128 бит ключа в последовательность из 48 бит, MacGuffin использует итерированную версию своей функции шифрования блоков .
Криптоанализ
Как и DES, MacGuffin поддаётся дифференциальному криптоанализу, суть которого в анализе вероятностей получения определённой разности значений функции Фейстеля при заданной разности аргументов. Оптимальная 4-раундовая характеристика имеет вероятность , в то время, как 2-раундовая DES . Таким образом, 32 раунда MacGuffin менее устойчивы, чем 16 DES .
Примечания
- , p. 123.
- , p. 97.
- , p. 98.
- , p. 99.
- ↑ , p. 100.
- , p. 354.
Литература
- Matt Blaze, Bruce Schneier. (англ.) // Springer-Verlag . — Springer, Berlin, Heidelberg, 1994. — ISBN 978-3-540-47809-6 . — ISSN . — doi : .
- Vincent Rijmen, Bart Preneel. (англ.) // Springer-Verlag . — Springer, Berlin, Heidelberg, 1995. — ISBN 978-3-540-47809-6 . — ISSN . — doi : .
- Bruce Schneier, John Kelsey. (англ.) // Springer-Verlag . — Springer, Berlin, Heidelberg, 1996. — ISBN 978-3-540-49652-6 . — ISSN . — doi : .
- 2020-05-28
- 1