S-block (tietokonetiede)

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 22. maaliskuuta 2015 tarkistetusta versiosta . tarkastukset vaativat 30 muokkausta .

S-box (tai substituutiolohko , eng.  s-box from substitution-box ) - ohjelmakoodin tai laitteistojärjestelmän funktio , joka ottaa n bittiä sisääntulossa , muuntaa ne tietyn algoritmin mukaan ja palauttaa m bittiä lähtö . n ja m eivät välttämättä ole yhtä suuria [1] .

S-laatikoita käytetään lohkosalauksissa .

Elektroniikassa voit käyttää suoraan kuvassa näkyvää piiriä . Ohjelmoinnissa luodaan korvaustaulukoita ( korvaustaulukot , korvaustaulukot). Molemmat lähestymistavat ovat samanarvoisia, eli tietokoneella salatun tiedon salaus voidaan purkaa elektronisella laitteella ja päinvastoin.

S-laatikkoa kutsutaan täydelliseksi ( täydellinen s-laatikko ) [2] , jos lähtöbittien arvot lasketaan taivutetulla funktiolla tulobittien arvojen perusteella ja mikä tahansa lähtöbittien lineaarinen yhdistelmä on syöttöbittien taipunut toiminto .  

Ohjelmiston toteutus

S-lohkon ohjelmistototeutus toimii seuraavasti:

Käytettyä taulukkoa kutsutaan "korvaustaulukoksi" tai "korvaustaulukoksi". Taulukko voi:

Esimerkiksi DES - salaukselle (algoritmille) käytetään kiinteää taulukkoa , kun taas Blowfish- ja Twofish -salauksille taulukko luodaan avaimen perusteella.

Esimerkki [3] . Harkitse työskentelyä DES - salauksen viidennen s-lohkon ( ) taulukon kanssa . Viides s-laatikko ottaa 6 bittiä ( ) tulona ja  palauttaa 4 bittiä ) ulostulona . Numeroimme syöttöbitit vasemmalta oikealle 1:stä 6:een. Korvaustaulukko on seuraavanlainen:

S5_ _ 2., 3., 4. ja 5. bitin arvot tulossa
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1. ja 6. bitin arvot tulossa 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
kymmenen 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
yksitoista 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011

Olkoon tulobitit " 0 1101 1 " . Etsitään ulostulobitit .

Laitteiston toteutus

S-lohkon laitteistototeutus (katso kuva ) koostuu seuraavista laitteista:

Dekooderi  on laite, joka muuntaa n - bittisen binaarisignaalin yksibittiseksi perussignaaliksi .

Esimerkiksi kuvassa esitetylle s-boxille dekooderi muuntaa kolmibittisen signaalin ( ) kahdeksanbittiseksi ( ).

Kytkinjärjestelmä  - sisäiset liitännät, jotka suorittavat bittien vaihdon . Jos m=n , yhteyksien määrä on . Jokainen tulobitti kartoitetaan lähtöbittiin, joka sijaitsee samassa bitissä tai eri bitissä . Jos tulojen n ja lähtöjen m määrä ei ole sama, jokaisessa dekooderin lähdössä voi olla nolla, yksi, kaksi tai useampia yhteyksiä. Sama pätee kooderin tuloihin.

Kuvassa esitetylle s-lohkolle yhteyksien määrä on .

Enkooderi  on laite, joka muuntaa signaalin yksibittisestä-arisesta n -bittiseksi binääriksi.

Kuvassa esitetylle s-lohkolle voidaan laatia seuraava korvaustaulukko (korvaustaulukko).

0 yksi 2 3 neljä 5 6 7
Dekooderin tuloarvo 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
Sen dekooderin lähdön numero ( kuvan mukaan ), jonka arvoksi on asetettu 1 (muissa lähdöissä arvoksi on asetettu 0) 0 yksi 2 3 neljä 5 6 7
Sen kooderin tulon numero ( kuvan mukaan ), jonka arvoksi on asetettu 1 (muissa tuloissa arvoksi on asetettu 0) 3 0 yksi neljä 6 7 2 5
Arvo kooderin lähdössä 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

Esimerkki . Syötetään numero 110 2 kuvan mukaisen kooderin tuloihin (katso kuva ). Koska binääriluvun 110 2 desimaaliesitys on 6 10 , kooderin kuudennen lähdön arvo on 1 ja muiden lähtöjen arvo 0 (katso kuva ) . Kytkinjärjestelmän avulla arvo 1 siirretään dekooderin 2. tuloon (bitinvaihto). Koska desimaaliluvun 2 10 binääriesitys on 010 2 , dekooderin ulostulot ovat numero 010 2 (katso kuva ).

Sovellus

S-laatikoita käytetään lohkosalauksissa , kun suoritetaan symmetristä salausta piilotekstin ja salatekstin välisen tilastollisen suhteen piilottamiseksi .

N -bittisen s-lohkon analysointi suurelle n :lle on erittäin vaikeaa, mutta sellaisen lohkon toteuttaminen käytännössä on erittäin vaikeaa, koska mahdollisten yhteyksien määrä on suuri ( ). Käytännössä "korvauslohkoa" käytetään monimutkaisempien järjestelmien elementtinä.

S-laatikoita käytetään seuraavissa salakirjoissa:

Turvallisuus

S-laatikkoa suunniteltaessa tulee kiinnittää erityistä huomiota "korvaustaulukon" laatimiseen. Monien vuosien ajan tutkijat ovat etsineet kirjanmerkkejä (vain luojien tuntemia haavoittuvuuksia) DES - salauksen kahdeksan s-lohkon korvaustaulukoista . DES:n kirjoittajat kertoivat [4] , mitä he ovat ohjanneet substituutiotaulukoita laatiessaan. DES-salauksen differentiaalisen krypta -analyysin tulokset osoittivat, että korvaustaulukoiden numerot valittiin huolellisesti DES:n vastustuskyvyn lisäämiseksi tietyntyyppisiä hyökkäyksiä vastaan. Biham ja Shamir havaitsivat, että pienetkin muutokset taulukoihin voivat heikentää merkittävästi DES:ää [5] .

Muistiinpanot

  1. Chandrasekaran, J. et ai. Kaaokseen perustuva lähestymistapa epälineaarisuuden parantamiseksi symmetristen avainten salausjärjestelmien s-box-suunnittelussa // Edistykselliset verkot ja viestintä: ensimmäinen kansainvälinen tietojenkäsittelytieteen ja tietotekniikan konferenssi, CCSIT 2011, Bangalore , Intia , 2.-4. tammikuuta 2011 . Proceedings, osa 2. - Springer, 2011. - S. 516. - ISBN 978-3-642-17877-1 .
  2. RFC 4086 . Osa 5.3 "S-laatikoiden käyttö sekoittamiseen"
  3. Buchmann Johannes A. 5. DES // Johdatus kryptografiaan. — Korr. 2. print.. - New York, NY [ua]: Springer, 2001. - P. 119-120. — ISBN 0-387-95034-6 .
  4. Coppersmith, Don Data Encryption Standard (DES) ja sen vahvuus hyökkäyksiä vastaan  ​​//  IBM Journal of Research and Development : päiväkirja. - 1994. - Voi. 38 , ei. 3 . - s. 243-250 . - doi : 10.1147/rd.383.0243 .
  5. Gargiulon "S-Box-muunnokset ja niiden vaikutus DES-tyyppisissä salausjärjestelmissä" Arkistoitu 20. toukokuuta 2012 Wayback Machinessa . S. 9.

Kirjallisuus

Katso myös

Linkit