S-блок (информатика): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м r2.5.4) (робот добавил: ca, de, en, es, fr, it, ja, pl, simple изменил: uk
м Перемещение 10 интервики-ссылок в Викиданные (d:Q748364)
Строка 27: Строка 27:
* [[Twofish]]
* [[Twofish]]
[[Категория:Криптография]]
[[Категория:Криптография]]

[[ca:Caixes-S]]
[[de:S-Box]]
[[en:S-box]]
[[es:S-Box]]
[[fr:S-Box]]
[[it:S-Box]]
[[ja:Sボックス]]
[[pl:S-Box]]
[[simple:Substitution box]]
[[uk:S-скриня]]

Версия от 01:27, 13 марта 2013

Принципиальная схема 3-разрядного S-блока

S-блок (S-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