S-блоки (блоки подстановок) используются в современных блочных шифрах для сокрытия статистической связи между открытым текстом и шифротекстом при выполнении симметричного шифрования. 23
S-блок — функция в коде программы или аппаратная система, которая принимает на входе n бит, преобразует их по определённому алгоритму и возвращает на выходе m бит. 23 n и m не обязательно равны. 23
Чаще всего S-блоки представляют собой таблицу замены. 1 В ней крайний левый бит входа определяет строку, два самых правых бита входа — столбец. 1 Выход — это значение на пересечении выбранной строки и столбца. 1
Таблица замен может быть неизменной (фиксированной) или генерироваться на основе ключа. 23 Например, для шифра DES используется фиксированная таблица, а для шифров Blowfish и Twofish таблица создаётся на основе ключа. 23
Некоторые шифры, в которых используются S-блоки: AES, ГОСТ 28147-89, DES, Blowfish, Twofish. 23