Lt304888.ru

Туристические услуги

S-box

18-10-2023

(перенаправлено с «S-box»)
Перейти к: навигация, поиск
Принципиальная схема 3-разрядного S-блока

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


Блок подстановок (S-блок) состоит из дешифратора, преобразующего n-разрядный двоичный сигнал в одноразрядный сигнал по основанию , системы коммутаторов внутренних соединений (всего соединений ) и шифратора, переводящего сигнал из одноразрядного -ричного в n-разрядный двоичный. Анализ n-разрядного S-блока при большом 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

Примечания

Литература

Ссылки

  • John Savard's "Questions of S-Box Design"
  • Gargiulo's "S-Box Modifications and Their Effect in DES-like Encryption Systems"


S-box.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01