S-блок (информатика)
S-блок (S-box) — Табличная подстановка, при которой группа битов отображается в другую группу битов. S-блок используется, как промежуточная операция в алгоритмах симметричного шифрования.
Блок подстановок (S-блок) состоит из дешифратора, преобразующего n-разрядный двоичный сигнал в одноразрядный сигнал по основанию , системы коммутаторов внутренних соединений (всего соединений ) и шифратора, переводящего сигнал из одноразрядного -ричного в n-разрядный двоичный. Анализ n-разрядного S-блока при большом n крайне сложен, однако реализовать такой блок на практике очень сложно, так как число возможных соединений крайне велико (). На практике блок подстановок используется как часть более сложных систем.
В общем случае S-блок может иметь несовпадающее число входов/выходов, в этом случае в системе коммутации от каждого выхода дешифратора может идти не строго одно соединение, а 2 или более или не идти вовсе. То же самое справедливо и для входов шифратора.
В электронике можно непосредственно применять приведённую справа схему, в программировании же генерируют таблицы замены. Оба этих подхода являются эквивалентными, то есть файл, зашифрованный на компьютере, можно расшифровать на электронном устройстве и наоборот.
№ комбинации | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
Вход | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
Выход | 011 | 000 | 001 | 100 | 110 | 111 | 010 | 101 |
Применяется в таких алгоритмах симметричного шифрования как:
- AES (англ. Advanced Encryption Standard) — американский стандарт шифрования
- ГОСТ 28147-89 — отечественный стандарт шифрования данных
- DES (англ. Data Encryption Standard) — стандарт шифрования данных в США до AES
- Twofish
Примечания
Для улучшения этой статьи желательно:
|