Rijndael S-box - Rijndael S-box

The Rijndael S-box a almashtirish qutisi (qidiruv jadvali ) Rijndael shifrida ishlatiladi, qaysi Kengaytirilgan shifrlash standarti (AES) kriptografik algoritm ga asoslangan.[1]

Oldinga S-box

AES S-qutisi
000102030405060708090a0b0c0d0e0f
00637c777bf26b6fc53001672bfed7ab76
10taxminan82c97dfa5947f0reklamad4a2af9ca472c0
20b7fd9326363ff7cc34a5e5f171d83115
3004c723c31896059a071280e2eb27b275
4009832c1a1b6e5aa0523bd6b329e32f84
5053d100tahrir20fcb15b6acbbo'lishi394a4c58cf
60d0efaafb434d338545f9027f503c9fa8
7051a3408f929d38f5milb6da2110fff3d2
80CD0c13ec5f974417c4a77e3d645d1973
9060814fDC222a908846eeb814de5e0bdb
a0e0323a0a4906245cc2d3ak629195e479
b0e7c8376d8dd54ea96c56f4ea657aae08
c0ba78252e1ca6b4c6e8dd741f4bbd8b8a
d0703eb5664803f60e613557b986c11d9e
e0e1f8981169d98e949b1e87e9ce5528df
f08ca1890dbfe6426841992d0fb054bb16
Ustun eng kam ahamiyatga ega tomonidan belgilanadi tishlamoq va eng muhim nibble qatori. Masalan, 9a qiymati16 b8 ga aylantiriladi16.

S-box 8-bitli kirishni aks ettiradi, v, 8-bitli chiqishga, s = S (v). Ham kirish, ham chiqish tugallangan polinomlar sifatida talqin etiladi GF (2). Birinchidan, kirish unga moslashtiriladi multiplikativ teskari yilda GF (28) = GF (2) [x]/(x8 + x4 + x3 + x + 1), Rijndaelning cheklangan maydoni. Nol, identifikator sifatida, o'z-o'zidan belgilanadi. Ushbu o'zgarish Nyberg S-box uning ixtirochisidan keyin Kaisa Nayberg.[2] Keyin ko'paytma teskari quyidagilar yordamida o'zgartiriladi afinaning o'zgarishi:

qayerda [s7, …, s0] bu S-box chiqishi va [b7, …, b0] vektor sifatida multiplikativ teskari.

Ushbu afinaviy transformatsiya baytning vektor sifatida ko'p marta aylanishining yig'indisidir, bu erda qo'shilish XOR operatsiyasi hisoblanadi:

qayerda b multiplikativ teskari, bo'ladi bitli XOR operator, chap tomoni bittadan dumaloq siljish va doimiy 6316 = 011000112 ichida berilgan o'n oltinchi.

Afinaviy transformatsiyaning ekvivalent formulasi

qayerda s, bva v 8 bitli massivlar, v 01100011 hisoblanadi2, va pastki yozuvlar indekslangan bitga havolani bildiradi.[3]

Boshqa tenglama:

[4][5]

qayerda ning polinom ko'paytmasi va bit massivlari sifatida olingan.

Teskari S-quti

Teskari S-quti
000102030405060708090a0b0c0d0e0f
0052096ad53036a538bf40a39e81f3d7fb
107ce339829b2fff87348e4344c4dee9cb
20547b9432a6c2233dee4c950b42fac34e
30082ea16628d924b2765ba2496d8bd125
4072f8f66486689816d4a45ccc5d65b692
506c704850fdtahrirb9da5e154657a78d9d84
6090d8ab008cmild30af7e45805b8b34506
70d02c1e8ftaxminan3f0f02c1afbd0301138a6b
803a9111414f67DCea97f2cfcef0b4e673
9096ak7422e7reklama3585e2f937e81c75df6e
a047f11a711d29c5896fb7620eaa18bo'lishi1b
b0fc563e4bc6d279209adbc0fe78CD5af4
c01fdda8338807c731b11210592780ec5f
d060517fa919b54a0d2de57a9f93c99cef
e0a0e03b4dae2af5b0c8ebbb3c83539961
f0172b047eba77d626e169146355210c7d

Teskari S-quti shunchaki teskari yo'naltirilgan S-quti. Masalan, b8 ning teskari S-qutisi16 9a16. Dastlab u kirish qiymatining teskari afinaviy transformatsiyasini, so'ngra multiplikativ teskari hisoblash bilan hisoblanadi. Teskari afinaviy transformatsiya quyidagicha:

Teskari afinaviy transformatsiya, shuningdek, Vektor sifatida baytning bir nechta aylanishlari yig'indisini ifodalaydi, bu erda qo'shilish XOR operatsiyasi hisoblanadi:

qayerda bo'ladi bitli XOR operator, chap tomoni bittadan dumaloq siljish va doimiy 516 = 000001012 ichida berilgan o'n oltinchi.

Dizayn mezonlari

Rijndael S-box maxsus chidamli bo'lishi uchun ishlab chiqilgan chiziqli va differentsial kriptanaliz. Bu kirish / chiqish bitlarining chiziqli konvertatsiyalari o'rtasidagi o'zaro bog'liqlikni minimallashtirish va shu bilan birga farqning tarqalish ehtimolligini minimallashtirish orqali amalga oshirildi.

Rijndael S-qutisini Rijndael shifrida almashtirish mumkin,[1] bu statik S-qutini ishlatadigan shifrga o'rnatilgan orqa eshik shubhasini engib chiqadi. Mualliflarning ta'kidlashicha, Rijndael shifrlash strukturasi differentsial va chiziqli kriptanalizga nisbatan etarli qarshilik ko'rsatishi kerak, agar "o'rtacha" korrelyatsiya / farqning tarqalish xususiyatlariga ega S-quti ishlatilsa.

C tilida misolni amalga oshirish

Quyidagi C kod S qutisini hisoblaydi:

# shu jumladan <stdint.h># ROTL8 (x, shift) ((uint8_t) ((x) << (shift)) | ((x) >> (8 - (shift)))) ni aniqlangbekor ishga tushirish_aes_sbox(uint8_t quti[256]) {	uint8_t p = 1, q = 1;		/ * loop invariant: Galois maydonida p * q == 1 * /	qil {		/ * p ni 3 ga ko'paytiring * /		p = p ^ (p << 1) ^ (p & 0x80 ? 0x11B : 0);		/ * q ni 3 ga bo'ling (0xf6 ga ko'paytishga teng) * /		q ^= q << 1;		q ^= q << 2;		q ^= q << 4;		q ^= q & 0x80 ? 0x09 : 0;		/ * afine transformatsiyasini hisoblash * /		uint8_t xformed = q ^ ROTL8(q, 1) ^ ROTL8(q, 2) ^ ROTL8(q, 3) ^ ROTL8(q, 4);		quti[p] = xformed ^ 0x63;	} esa (p != 1);	/ * 0 - bu alohida holat, chunki unda teskari * / yo'q	quti[0] = 0x63;}

Adabiyotlar

  1. ^ a b "Rijndael blokirovkalash shifrlari" (PDF). Olingan 2013-11-11.
  2. ^ Nyberg K. (1991) Mukammal chiziqsiz S-qutilar. In: Devies D.W. (tahrir) Kriptologiya sohasidagi yutuqlar - EUROCRYPT '91. EUROCRYPT 1991. Kompyuter fanidan ma'ruza matnlari, jild 547. Springer, Berlin, Heidelberg
  3. ^ "Kengaytirilgan shifrlash standarti" (PDF). FIPS PUB 197: rasmiy AES standarti. Federal Axborotni qayta ishlash standarti. 2001-11-26. Olingan 2010-04-29.
  4. ^ Yorg J.Buxholz (2001-12-19). "Kengaytirilgan shifrlash standartining Matlab dasturi" (PDF).
  5. ^ Jie Cui; Liusheng Xuang; Hong Zhong; Chinchen Chang; Vey Yang (2011 yil may). "AES takomillashtirilgan qutisi va uning samaradorligini tahlil qilish" (PDF).