Jump to content

Rijndael S-box

S-блок Rijndael это блок подстановки ( таблица поиска ), используемый в шифре Rijndael, на котором Advanced Encryption Standard (AES) . криптографический алгоритм основан [1]

Передний S-бокс

[ редактировать ]
S-блок AES
00 01 02 03 04 05 06 07 08 09
00 63 77 f2 с5 30 01 67 фе d7 аб 76
10 что 82 с9 но 59 47 f0 объявление d4 а2 из a4 72 с0
20 b7 ФД 93 26 36 f7 копия 34 а5 е5 ф1 71 d8 31 15
30 04 с7 23 с3 18 96 05 07 12 80 е2 Эб 27 б2 75
40 09 83 а0 52 d6 б3 29 е3 84
50 53 d1 00 Эд 20 ФК б1 CB быть 39 58 см.
60 д0 если аа ФБ 43 33 85 45 f9 02 50 а8
70 51 а3 40 8 ф 92 9 дней 38 f5 до нашей эры б6 и 21 10 фф f3 d2
80 компакт-диск 13 ЕС 97 44 17 с4 a7 3d 64 19 73
90 60 81 округ Колумбия 22 90 88 46 да б8 14 из БД
а0 e0 32 49 06 24 с2 д3 и 62 91 95 е4 79
б0 e7 с8 37 d5 а9 56 f4 из 65 но 08
с0 нет 78 25 а6 б4 с6 е8 дд 74 др.
д0 70 б5 66 48 03 f6 61 35 57 б9 86 с1
e0 е1 f8 98 11 69 d9 94 87 е9 Этот 55 28 дф
f0 а1 89 парень е6 42 68 41 99 б0 54 бб 16
Столбец определяется младшим значащим полубайтом , а строка — самым значимым полубайтом. Например, значение 9a 16 преобразуется в b8 16 .

S-блок отображает 8-битный вход c на 8-битный выход s = S ( c ) . И входные и выходные данные интерпретируются как полиномы по GF(2) . Сначала входные данные сопоставляются с их мультипликативной инверсией в GF(2 8 ) = GF(2) [ x ]/( x 8 + х 4 + х 3 + x + 1) , конечное поле Рейндала . Ноль, как личность, отображается сам на себя. Это преобразование известно как S-box Ниберга в честь его изобретателя Кайсы Нюберг . [2] Затем мультипликативное обратное преобразование преобразуется с помощью следующего аффинного преобразования :

где [ s 7 , ..., s 0 ] является выходом S-блока, а [ b 7 , ..., b 0 ] является мультипликативным обратным вектором.

Это аффинное преобразование представляет собой сумму нескольких вращений байта как вектора, где сложение представляет собой операцию XOR:

где b представляет мультипликативную обратную величину, это побитовый оператор XOR , представляет собой побитовый циклический сдвиг влево , а константа 63 16 = 01100011 2 задается в шестнадцатеричном формате .

Эквивалентная формулировка аффинного преобразования:

где s , b и c — 8-битные массивы, c — 01100011 2 , а индексы указывают ссылку на индексированный бит. [3]

Другой эквивалент:

[4] [5]

где является полиномиальным умножением и принимаются в виде битовых массивов.

Инверсный S-блок

[ редактировать ]
Инверсный S-блок
00 01 02 03 04 05 06 07 08 09
00 52 09 d5 30 36 а5 38 парень 40 а3 81 f3 d7 ФБ
10 е3 39 82 фф 87 34 43 44 с4 из е9 CB
20 54 94 32 а6 с2 23 3d да 95 42 но с3
30 08 а1 66 28 d9 24 б2 76 а2 49 d1 25
40 72 f8 f6 64 86 68 98 16 d4 a4 копия 65 б6 92
50 70 48 50 ФД Эд б9 и 15 46 57 a7 9 дней 84
60 90 d8 аб 00 до нашей эры д3 f7 е4 58 05 б8 б3 45 06
70 д0 8 ф что 02 с1 из др. 03 01 13
80 91 11 41 67 округ Колумбия из 97 f2 см. Этот f0 б4 е6 73
90 96 и 74 22 e7 объявление 35 85 е2 f9 37 е8 75 дф
а0 47 ф1 71 29 с5 89 b7 62 аа 18 быть
б0 ФК 56 с6 d2 79 20 БД с0 фе 78 компакт-диск f4
с0 дд а8 33 88 07 с7 31 б1 12 10 59 27 80 ЕС
д0 60 51 а9 19 б5 е5 93 с9 если
e0 а0 e0 но f5 б0 с8 Эб бб 83 53 99 61
f0 17 04 нет 77 d6 26 е1 69 14 63 55 21

Инверсный S-блок — это просто S-блок, работающий в обратном направлении. Например, обратный S-блок b8 16 равен 9a 16 . Он рассчитывается путем сначала вычисления обратного аффинного преобразования входного значения, а затем мультипликативного обратного преобразования. Обратное аффинное преобразование выглядит следующим образом:

Обратное аффинное преобразование также представляет сумму нескольких вращений байта в виде вектора, где сложение представляет собой операцию XOR:

где это побитовый оператор XOR , представляет собой побитовый круговой сдвиг влево , а константа 5 16 = 00000101 2 задается в шестнадцатеричном формате .

Критерии проектирования

[ редактировать ]

Rijndael S-box был специально разработан, чтобы быть устойчивым к линейному и дифференциальному криптоанализу. Это было сделано за счет минимизации корреляции между линейными преобразованиями входных/выходных битов и одновременной минимизации вероятности распространения разности.

S-блок Rijndael можно заменить шифром Rijndael, [1] что устраняет подозрения о встроенном в шифр бэкдоре, использующем статический S-box. Авторы утверждают, что структура шифра Рейндала, вероятно, обеспечит достаточную устойчивость к дифференциальному и линейному криптоанализу, даже если используется S-блок со «средними» свойствами корреляции / распространения разности (ср. «оптимальные» свойства S-блока Рейндала ).

Пример реализации на языке C

[ редактировать ]

Следующий код C вычисляет S-блок:

#include <stdint.h>

#define ROTL8(x,shift) ((uint8_t) ((x) << (shift)) | ((x) >> (8 - (shift))))

void initialize_aes_sbox(uint8_t sbox[256]) {
	uint8_t p = 1, q = 1;
	
	/* loop invariant: p * q == 1 in the Galois field */
	do {
		/* multiply p by 3 */
		p = p ^ (p << 1) ^ (p & 0x80 ? 0x1B : 0);

		/* divide q by 3 (equals multiplication by 0xf6) */
		q ^= q << 1;
		q ^= q << 2;
		q ^= q << 4;
		q ^= q & 0x80 ? 0x09 : 0;

		/* compute the affine transformation */
		uint8_t xformed = q ^ ROTL8(q, 1) ^ ROTL8(q, 2) ^ ROTL8(q, 3) ^ ROTL8(q, 4);

		sbox[p] = xformed ^ 0x63;
	} while (p != 1);

	/* 0 is a special case since it has no inverse */
	sbox[0] = 0x63;
}
  1. ^ Перейти обратно: а б «Блочный шифр Рейндала» (PDF) . Проверено 11 ноября 2013 г.
  2. ^ Нюберг К. (1991) Совершенные нелинейные S-блоки . В: Дэвис Д.В. (ред.) Достижения в криптологии – EUROCRYPT '91. EUROCRYPT 1991. Конспекты лекций по информатике, том 547. Springer, Берлин, Гейдельберг.
  3. ^ «Расширенный стандарт шифрования» (PDF) . FIPS PUB 197: официальный стандарт AES . Федеральный стандарт обработки информации . 26 ноября 2001 г. Проверено 29 апреля 2010 г.
  4. ^ Йорг Й. Бухгольц (19 декабря 2001 г.). «Реализация Matlab Advanced Encryption Standard» (PDF) .
  5. ^ Цзе Цуй; Люшэн Хуан; Хун Чжун; Чинчен Чанг; Вэй Ян (май 2011 г.). «Улучшенный S-блок AES и анализ его производительности» (PDF) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1034dcc2e8cc1dca05e7080b4ad10ef8__1721968380
URL1:https://arc.ask3.ru/arc/aa/10/f8/1034dcc2e8cc1dca05e7080b4ad10ef8.html
Заголовок, (Title) документа по адресу, URL1:
Rijndael S-box - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)