S-блоки

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Принципиальная схема 3-разрядного S-блока

S-блок (S-box от Substitution-box) — Табличная подстановка, при которой группа битов отображается в другую группу битов. S-блок используется, как промежуточная операция в алгоритмах симметричного шифрования.


Блок подстановок (S-блок) состоит из дешифратора, преобразующего n-разрядный двоичный сигнал в одноразрядный сигнал по основанию 2^n, системы коммутаторов внутренних соединений (всего соединений 2^n!) и шифратора, переводящего сигнал из одноразрядного 2^n-ричного в n-разрядный двоичный. Анализ n-разрядного S-блока при большом n крайне сложен, однако реализовать такой блок на практике очень сложно, так как число возможных соединений крайне велико (2^n!). На практике блок подстановок используется как часть более сложных систем.

В общем случае S-блок может иметь несовпадающее число входов/выходов, в этом случае в системе коммутации от каждого выхода дешифратора может идти не строго одно соединение, а 2 или более или не идти вовсе. То же самое справедливо и для входов шифратора.

В электронике можно непосредственно применять приведённую справа схему, в программировании же генерируют таблицы замены. Оба этих подхода являются эквивалентными, то есть файл, зашифрованный на компьютере, можно расшифровать на электронном устройстве и наоборот.

Таблица замены для приведённого 3-разрядного S-блока
№ комбинации 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

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]