Loading AI tools
З Вікіпедії, вільної енциклопедії
У криптографії, S-скриня, S-блок (англ. Substitution-box, S-box) — це засаднича складова шифрування з симетричними ключами, яка виконує підстановки. По суті це звичайна таблиця підстановки. У блочних шифрах їх здебільшого використовують для приховування зв'язків між ключем і шифротекстом — властивість плутанини введена Шенноном.[1]
Загалом, S-скриня приймає m біт на вхід і перетворює їх в n біт на виході, де n не завжди дорівнює m.[1] m×n S-скриню можна втілити як таблицю пошуку з 2m слів n бітів кожне. Сталі таблиці звичайно використовуються в DES, але в деяких шифрах таблиці створюються динамічно як похідні від ключа (наприклад, алгоритми шифрування Blowfish і Twofish).[джерело?]
Одним з добрих прикладів сталої таблиці є ця 6×4-бітів S-скриня з DES (S5):
S5 | Внутрішні 4 біти на вході | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | ||
Зовнішні біти | 00 | 0010 | 1100 | 0100 | 0001 | 0111 | 1010 | 1011 | 0110 | 1000 | 0101 | 0011 | 1111 | 1101 | 0000 | 1110 | 1001 |
01 | 1110 | 1011 | 0010 | 1100 | 0100 | 0111 | 1101 | 0001 | 0101 | 0000 | 1111 | 1010 | 0011 | 1001 | 1000 | 0110 | |
10 | 0100 | 0010 | 0001 | 1011 | 1010 | 1101 | 0111 | 1000 | 1111 | 1001 | 1100 | 0101 | 0110 | 0011 | 0000 | 1110 | |
11 | 1011 | 1000 | 1100 | 0111 | 0001 | 1110 | 0010 | 1101 | 0110 | 1111 | 0000 | 1001 | 1010 | 0100 | 0101 | 0011 |
Дані 6 бітів на вході і 4-біти на виході знаходяться через вибір рядка використовуючи зовнішні два біти (перший і останній), а стовпчик знаходиться по чотирьох внутрішніх бітах. Наприклад, вхід "011011" має зовнішні "01" і внутрішні біти "1101"; відповідний вихід "1001".
У своїх коментарях NSA відзначило такі вимоги до дизайну S-скриньок:
Наступні, NSA відзначила як «спричинені вимогами до дизайну»:
Інший наслідок умов дизайну зауважили Мейєр і Матяс[2]:
Після винайдення диференціального криптоаналізу, Дон Копперсміт оприлюднив умови використані при розробці S-скриньок[3][4]:
Копперсміт зауважив, що кращою другою умовою була б:
8 S-скриньок алгоритму DES були предметом наполегливих досліджень впродовж багатьох років, щоб перевірити, чи не залишили розробники чорний вхід.
Розглянемо:
або тотожно:
Тоді є лінійною функцією.
S-скриня утворюється визначанням обернених елементів для входу в скінченне поле Rijndael (нуль,який не має оберненого, встановлюється в нуль). Обернений елемент потім піддається афінному перетворенню. Зворотна S-скриня є просто S-скриня запущена в протилежному напрямку. S-скриня працює як таблиця пошуку.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.