S-blokk (számítástechnika)

Az oldal jelenlegi verzióját még nem nézték át tapasztalt közreműködők, és jelentősen eltérhet a 2015. március 22-én felülvizsgált verziótól ; az ellenőrzések 30 szerkesztést igényelnek .

S-box (vagy helyettesítési blokk , angol  s-box a helyettesítő dobozból ) - a programkódban vagy hardverrendszerben lévő függvény , amely n bitet vesz fel a bemeneten , átalakítja azokat egy bizonyos algoritmus szerint és m bitet ad vissza kimenet . n és m nem feltétlenül egyenlő [1] .

Az S-boxokat a blokk titkosításokban használják .

Az elektronikában közvetlenül alkalmazhatja az ábrán látható áramkört . A programozás során helyettesítési táblák jönnek létre (helyettesítési táblák , helyettesítési táblák). Mindkét megközelítés egyenértékű, azaz a számítógépen titkosított adatok visszafejthetők egy elektronikus eszközön, és fordítva.

Egy S-boxot tökéletesnek ( tökéletes s-box ) [2] nevezünk , ha a kimeneti bitek értékeit a hajlított függvény számítja ki a bemeneti bitek értékei alapján, és a kimeneti bitek bármely lineáris kombinációja egy a bemeneti bitek hajlított funkciója .  

Szoftver implementáció

Az s-blokk szoftveres megvalósítása a következőképpen működik:

A használt táblázatot "helyettesítő táblázatnak" vagy "helyettesítő táblázatnak" nevezik. A táblázat képes:

Például a DES titkosításhoz (algoritmushoz) rögzített táblázatot használnak , míg a Blowfish és Twofish rejtjelekhez a tábla a kulcs alapján jön létre.

Példa [3] . Fontolja meg a DES titkosítás ötödik s-blokkjának ( ) táblázatával való munkát . Az ötödik s-box 6 bitet ( ) vesz bemenetként és  4 bitet ) ad vissza kimenetként . A bemeneti biteket balról jobbra számozzuk 1-től 6-ig. A helyettesítési táblázat a következő formájú:

S5_ _ A 2., 3., 4. és 5. bit értékei a bemeneten
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Az 1. és 6. bit értékei a bemeneten 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
tíz 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
tizenegy 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011

Legyen a bemeneti bitek " 0 1101 1 ". Keressük meg a kimeneti biteket .

Hardver implementáció

Az s-blokk hardveres megvalósítása (lásd ábra ) a következő eszközökből áll:

A dekóder  egy olyan eszköz, amely egyn bites bináris jelet egybites alapjellé alakít át.

Például az ábrán látható s-box esetében a dekóder egy hárombites jelet ( ) alakít át nyolcbitessé ( ).

Kapcsolórendszer  – belső kapcsolatok, amelyek bitcserét hajtanak végre . Ha m=n , akkor a kapcsolatok száma . Minden bemeneti bit leképez egy kimeneti bitre, amely ugyanabban a bitben vagy egy másik bitben található . Ha az n bemenetek és m kimenetek száma nem egyenlő, minden dekódoló kimenetnek lehet nulla, egy, kettő vagy több kapcsolata. Ugyanez igaz a kódoló bemeneteire is.

A , ábrán látható s-blokk esetében a kapcsolatok száma .

A kódoló  olyan eszköz, amely a jelet egybites-ary-ről n bites binárisra alakítja.

Az ábrán látható s-blokkhoz a következő helyettesítési táblázat (helyettesítési táblázat) állítható össze.

0 egy 2 3 négy 5 6 7
Dekóder bemeneti értéke 000 2 = 0 10 001 2 = 1 10 010 2 = 2 10 011 2 = 3 10 100 2 = 4 10 101 2 = 5 10 110 2 = 6 10 111 2 = 7 10
Annak a dekóder kimenetnek a száma (az ábra szerint ), amelyen az érték 1-re van állítva (más kimeneteken az érték 0) 0 egy 2 3 négy 5 6 7
Annak a kódoló bemenetnek a száma (az ábra szerint ), amelyen az érték 1-re van állítva (más bemeneteken az érték 0) 3 0 egy négy 6 7 2 5
Az érték a kódoló kimenetén 011 2 = 3 10 000 2 = 0 10 001 2 = 1 10 100 2 = 4 10 110 2 = 6 10 111 2 = 7 10 010 2 = 2 10 101 2 = 5 10

Példa . Az ábrán látható jeladó bemeneteire a 110 2 szám kerüljön (lásd ábra ). Mivel a 110 2 bináris szám decimális ábrázolása 6 10 , a kódoló 6. kimenete 1, a többi kimenet pedig 0 lesz (lásd az ábrát ). Egy kapcsolórendszer segítségével az 1-es érték átkerül a dekóder 2. bemenetére (bitcsere). Mivel a 2 10 decimális szám bináris megjelenítése 010 2 , a dekódoló kimenetei a 010 2 számok lesznek (lásd az ábrát ).

Alkalmazás

Az S-boxokat a blokk-rejtjelekben használják szimmetrikus titkosítás végrehajtása során , hogy elrejtse az egyszerű szöveg és a rejtjelezett szöveg közötti statisztikai kapcsolatot .

Egy n bites s-blokk elemzése nagy n esetén rendkívül nehéz, de nagyon nehéz egy ilyen blokkot a gyakorlatban megvalósítani, mivel a lehetséges kapcsolatok száma nagy ( ). A gyakorlatban a „helyettesítő blokkot” bonyolultabb rendszerek elemeként használják.

Az S-boxokat a következő titkosításokban használják:

Biztonság

Az s-box tervezésénél különös figyelmet kell fordítani a „helyettesítő táblázat” összeállítására. A kutatók évek óta keresnek könyvjelzőket (csak az alkotók által ismert sebezhetőségeket) a DES titkosítás nyolc s-blokkjának helyettesítési táblázataiban . A DES szerzői elmondták [4] -nek, hogy mi vezérelték őket a helyettesítési táblák összeállításakor. A DES titkosítás differenciális kriptoanalízisének eredményei azt mutatták, hogy a helyettesítési táblázatokban szereplő számokat gondosan választották meg, hogy növeljék a DES bizonyos típusú támadásokkal szembeni ellenállását. Biham és Shamir azt találta, hogy a táblázatok kis változtatásai is jelentősen gyengíthetik a DES-t [5] .

Jegyzetek

  1. Chandrasekaran, J. et al. A káosz alapú megközelítés a szimmetrikus kulcsú kriptorendszerek s-box tervezésében // Advances in networks and communications: first international Conference on Computer Science and Information Technology, CCSIT 2011, Bangalore , India , 2011. január 2-4 . Proceedings, 2. rész - Springer, 2011. - P. 516. - ISBN 978-3-642-17877-1 .
  2. RFC 4086 . 5.3. szakasz "S-boxok használata keveréshez"
  3. Buchmann Johannes A. 5. DES // Bevezetés a kriptográfiába. — Corr. 2. print.. - New York, NY [ua]: Springer, 2001. - P. 119-120. — ISBN 0-387-95034-6 .
  4. Coppersmith, Don Az adattitkosítási szabvány (DES) és erőssége a támadásokkal szemben  //  IBM Journal of Research and Development : folyóirat. - 1994. - 1. évf. 38 , sz. 3 . - P. 243-250 . - doi : 10.1147/rd.383.0243 .
  5. Gargiulo "S-Box módosításai és hatásaik a DES-szerű titkosítási rendszerekben" Archiválva : 2012. május 20. a Wayback Machine -nél . S. 9.

Irodalom

Lásd még

Linkek