Введение
Основной компонент алгоритмов симметричного шифрования, выполняющий подстановку. В криптографии S-блок (коробка подстановки) является основным компонентом алгоритмов симметричного шифрования, выполняющим подстановку. В блочных шифрах они обычно используются для маскировки связи между ключом и шифротекстом, тем самым обеспечивая свойство замешательства Шеннона. Математически, S-блок представляет собой нелинейную векторную булеву функцию. Как правило, S-блок принимает некоторое количество входных битов, m, и преобразует их в некоторое количество выходных битов, n, где n не обязательно равно m. S-блок размером m×n может быть реализован в виде таблицы поиска, содержащей 2<sup>m</sup> слов по n битов каждое. Обычно используются фиксированные таблицы, как в стандарте шифрования данных (DES), но в некоторых шифрах таблицы генерируются динамически из ключа (например, в алгоритмах шифрования Blowfish и Twofish).
the video game
In cryptography, an S box (substitution box) is a basic component of symmetric key algorithms which performs substitution. In block ciphers, they are typically used to obscure the relationship between the key and the ciphertext, thus ensuring Shannon's property of confusion. Mathematically, an S box is a nonlinear vectorial Boolean function. In general, an S box takes some number of input bits, m, and transforms them into some number of output bits, n, where n is not necessarily equal to m. An m×n S box can be implemented as a lookup table with 2m words of n bits each. Fixed tables are normally used, as in the Data Encryption Standard (DES), but in some ciphers the tables are generated dynamically from the key (e. g. the Blowfish and the Twofish encryption algorithms).
Анализ и свойства
Когда DES был впервые опубликован в 1977 году, критерии проектирования его S-блоков держались в секрете, чтобы не скомпрометировать технику дифференциального криптоанализа (который тогда еще не был публично известен). В результате, исследования, посвященные определению характеристик хороших S-блоков, в то время были немногочисленны. Вместо этого, восемь S-блоков DES на протяжении многих лет подвергались интенсивному изучению из-за опасений, что в шифр мог быть внедрен бэкдор (уязвимость, известная только его создателям). Поскольку S-блоки являются единственной нелинейной частью шифра, их компрометация ставила под угрозу весь шифр. Критерии проектирования S-блоков были в конечном итоге опубликованы (в 2005 году) после повторного публичного открытия дифференциального криптоанализа, что показало, что они были тщательно настроены для повышения устойчивости к этой конкретной атаке, делая ее неэффективнее, чем метод грубой силы. Бихам и Шамир обнаружили, что даже незначительные изменения в S-блоке могут существенно ослабить DES. Любой S-блок, в котором любая линейная комбинация выходных битов является результатом работы изогнутой функции от входных битов, называется идеальным S-блоком. S-блоки можно анализировать с помощью линейного и дифференциального криптоанализа, используя таблицу линейных приближений (LAT) или преобразование Уолша и таблицу распределения разностей (DDT), а также таблицу автокорреляции и спектр. Их устойчивость можно оценить по нелинейности (изогнутой, почти изогнутой) и дифференциальной однородности (совершенно нелинейной, почти совершенно нелинейной).