S-коробка - S-box
В криптографии , S-бокс ( заместительная-бокс ) является одним из основных компонентов алгоритмов симметричного ключа , который выполняет замещения. В блочных шифрах они обычно используются, чтобы скрыть связь между ключом и зашифрованным текстом , тем самым обеспечивая свойство Шеннона путаницы . Математически S-блок - это векторная логическая функция .
В общем случае , S-бокс занимает некоторое количество входных бит , м , и преобразуют их в некоторое число выходных бит, п , где п не обязательно равен м . М × п S-блок может быть реализован в виде таблицы перекодировки с 2 - м слов п битов каждый. Обычно используются фиксированные таблицы, как в стандарте шифрования данных (DES), но в некоторых шифрах таблицы генерируются динамически из ключа (например, алгоритмы шифрования Blowfish и Twofish ).
Пример
Хорошим примером фиксированной таблицы является S-блок из DES (S 5 ), отображающий 6-битный ввод в 4-битный вывод:
S 5 | Средние 4 бита ввода | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | ||
Наружные биты | 00 | 0010 | 1100 | 0100 | 0001 | 0111 | 1010 | 1011 | 0110 | 1000 | 0101 | 0011 | 1111 | 1101 | 0000 | 1110 | 1001 |
01 | 1110 | 1011 | 0010 | 1100 | 0100 | 0111 | 1101 | 0001 | 0101 | 0000 | 1111 | 1010 | 0011 | 1001 | 1000 | 0110 | |
10 | 0100 | 0010 | 0001 | 1011 | 1010 | 1101 | 0111 | 1000 | 1111 | 1001 | 1100 | 0101 | 0110 | 0011 | 0000 | 1110 | |
11 | 1011 | 1000 | 1100 | 0111 | 0001 | 1110 | 0010 | 1101 | 0110 | 1111 | 0000 | 1001 | 1010 | 0100 | 0101 | 0011 |
Учитывая 6-битный вход, 4-битный выход находится путем выбора строки, используя два внешних бита (первый и последний бит), и столбца, используя внутренние четыре бита. Например, вход « 0 1101 1 » имеет внешние биты « 01 » и внутренние биты «1101»; соответствующий результат будет «1001».
Восемь S-блоков DES были предметом интенсивного изучения в течение многих лет из-за опасений, что в шифр может быть заложена бэкдор ( уязвимость, известная только разработчикам). Критерии проектирования S-блока были в конечном итоге опубликованы (в Coppersmith 1994 ) после публичного повторного открытия дифференциального криптоанализа , показав, что они были тщательно настроены для повышения устойчивости к этой конкретной атаке. Бихам и Шамир обнаружили, что даже небольшие модификации S-блока могут значительно ослабить DES.
Анализ и свойства
Было проведено большое количество исследований по разработке хороших S-блоков, и теперь об их использовании в блочных шифрах известно гораздо больше, чем когда был выпущен DES.
Любой S-блок, в котором любая линейная комбинация выходных битов создается бент-функцией входных битов, называется идеальным S-блоком .
S-блоки можно анализировать с помощью линейного криптоанализа и дифференциального криптоанализа в форме таблицы линейного приближения (LAT) или преобразования Уолша и таблицы распределения разностей (DDT) или таблицы автокорреляции и спектра. Его сила может быть выражена нелинейностью (изгиб, почти изгиб) и дифференциальной однородностью (совершенно нелинейный, почти идеально нелинейный).
Смотрите также
- Биекция, инъекция и сюръекция
- Логическая функция
- Ничего особенного номер в рукаве
- Поле перестановки (P-box)
- Шифр перестановки
- Rijndael S-box
- Подстановочный шифр
Рекомендации
дальнейшее чтение
- Кайса Нюберг (1991). Совершенные нелинейные S-блоки (PDF) . Достижения в криптологии - EUROCRYPT '91. Брайтон . С. 378–386 . Проверено 20 февраля 2007 .
- Медник, Дон (1994). «Стандарт шифрования данных (DES) и его сила против атак». Журнал исследований и разработок IBM . 38 (3): 243–250. DOI : 10.1147 / rd.383.0243 .
- С. Мистер и К. Адамс (1996). Практичный дизайн S-box . Семинар по избранным областям криптографии (SAC '96) Запись семинара. Королевский университет . С. 61–76. CiteSeerX 10.1.1.40.7715 .
- Шнайер, Брюс (1996). Прикладная криптография, второе издание . Джон Вили и сыновья . стр. 296 -298, 349. ISBN 978-0-471-11709-4.
- Чак Исттом (2018). «Обобщенная методология разработки нелинейных элементов в симметричных криптографических примитивах». 8-й ежегодный семинар и конференция по вычислениям и коммуникациям IEEE 2018 (CCWC) . IEEE Computing and Communication Workshop and Conference (CCWC), 2018 IEEE 8th Annual. IEEE . С. 444–449. DOI : 10.1109 / CCWC.2018.8301643 . ISBN 978-1-5386-4649-6. S2CID 3659645 .