REDOC

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 30. joulukuuta 2016 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .
REDOC II
Luoja Michael Wood
Luotu 1990_ _
julkaistu 1990_ _
Avaimen koko 70 - 17920 bittiä, tehollinen: 70 bittiä
Lohkon koko 70 bittinen
Kierrosten lukumäärä kymmenen
Tyyppi oma
REDOC III
Luoja Michael Wood
Avaimen koko Muuttuva, jopa 2560 tavua (20480 bittiä)
Lohkon koko 80 bittinen
Kierrosten lukumäärä kymmenen
Tyyppi oma

REDOC on symmetrinen lohkosalausalgoritmi , jonka Michael Wood kehitti vuonna 1990 Cryptechille ja jota kutsutaan nimellä REDOC II . Kaikki toiminnot - korvaukset , permutaatiot, XOR suoritetaan tavuilla, mikä mahdollistaa sen tehokkaan toteuttamisen ohjelmallisesti. Algoritmi käyttää avain- ja alkuperäisiä selkotekstiriippuvaisia ​​taulukkojoukkoja ( S-laatikoita ) käyttämällä vaihtelevia taulukkofunktioita . Algoritmi erottuu maskien käytöstä , ts. avaintaulukosta saadut numerot. Maskeja käytetään valitsemaan tietyn kierroksen tietyn toiminnon taulukot. Tämä käyttää sekä maskiarvoa että data-arvoa [1] .

Algoritmi

REDOC-II on kymmenen kierroksen salausjärjestelmä (mutta on ehdotettu, että yhden tai kahden kierroksen versio on turvallinen) [2] . Jokainen kierros REDOC II:n alkuperäisessä versiossa sisältää joukon manipulaatioita 10 tavun lohkossa. Seitsemää bittiä kustakin tavusta käytetään data-arvoihin, ja kahdeksas bitti on pariteettibitti .

Kuitenkin, koska vain ensimmäiset 7 bittiä kustakin tavusta käytetään salaukseen , kunkin tavun aakkostila on 0 - 127. Ja kaikki toiminnot suoritetaan modulo 128 [3] .

REDOC II:n alkuperäisen version avaimen pituus on 10 tavua. Tehokas avaimen koko on 70 bittiä. On syytä selventää, että REDOC II voi tukea avaimen pituutta alueella 70 - 17920 bittiä [3] .

Jokainen kierros koostuu kuudesta vaiheesta:

  1. Permutaatiomuuttuva vaihe ,
  2. XOR-muuttujaavaimen ensimmäinen vaihe ,
  3. XOR-muuttujaavaimen toinen vaihe ,
  4. Muuttuva erillisvaihe ,
  5. Muuttujan korvaamisen ensimmäinen vaihe ,
  6. Muuttujan korvaamisen toinen vaihe .

Jokaisen vaiheen aikana tietoja käsitellään taulukoiden [4] avulla .

Taulukkotyypit

1) 16 ennalta määritettyä hakutaulukkoa, joita käytetään muuttuvissa hakuvaiheissa. (Kiinteä)

2) 128 ennalta määritettyä permutaatiotaulukkoa, joita muuttuvat permutaatiovaiheet käyttävät. (Kiinteä)

3) 128 ennalta määritettyä erillisaluetaulukkoa, joita vaihtelevat erillisvaiheet käyttävät. (Kiinteä)

4) Lisäksi avaimenkäsittelyalgoritmi laskee kullekin avaimelle 128 kymmenen tavun avaintaulukkoa ja yhdeksän maskitaulukkoa. (Laskettavissa, luodaan, kun salaus alustetaan) [3] [4]

Vaiheiden kuvaus

Muuttujan permutoinnin vaiheet

Permutaatiomuuttujan jokaisessa vaiheessa lisätään kaikki kymmenen tavua dataa (modulo 128), ja tulos XOR-korjataan tietyllä tavulla maskitaulukosta. Tuloksena oleva arvo on permutaatiotaulukon numero. Kaikki datatavut korvataan valitulla permutaatiolla [4] .

Muuttuva näppäinvaihe XOR

Tiedoista valitaan tavu ja maskitaulukosta vastaava tavu, joiden välillä suoritetaan XOR-toiminto. Tuloksena oleva arvo on avaintaulukon numero. (On syytä muistaa, että salaukseen käytetään 7 bittiä jokaisesta tavusta. Näin ollen tuloksena oleva avaintaulukkonumero on välillä 0 - 127). Kaikki datatavut, valittua lukuun ottamatta, XOR-kirjoitetaan vastaavilla tavuilla avaintaulukosta, jossa on vastaanotettu numero.

Tällainen toimenpide suoritetaan kaikille datan tavuille. [neljä]

Muuttuva korvausvaiheet

Tiedoista valitaan tavu ja maskitaulukosta vastaava tavu, joiden välillä suoritetaan XOR-toiminto. Tuloksena oleva arvo otettuna modulo 16 on korvaustaulukon numero. Kaikki tavut, paitsi valittu, korvataan arvoilla korvaustaulukosta vastaanotetulla numerolla.

Tällainen operaatio suoritetaan kaikille datan tavuille [4] .

Muuttuva enklaavin vaiheet

Ennalta määritetyssä erillistaulukossa on viisi riviä ja 3 saraketta. Jokainen merkintä sisältää numeron 1 - 5. Enklaavitaulukon on täytettävä kaksi ominaisuutta:

Tämä johtuu siitä, että taulukkoa käsitellään rivi riviltä ja seuraavasti: Jokainen numero enklaavitaulukossa tarkoittaa tavun sijaintia. Taulukon yhdellä rivillä määritetyt kolme tavua lasketaan yhteen (moduuli 128). Ensimmäisessä sarakkeessa määritetty tavu korvataan vastaanotetulla määrällä. [3]

Jokainen muuttuva erillisalue käyttää 4 erillistaulukkoa seuraavasti:

  1. Jakaa lohkot kahteen 5 tavun alilohkoon. Alalaatikoita kutsutaan vasemmaksi ja oikeaksi puolikkaaksi.
  2. XOR kahden tavun välillä vasemmasta puoliskosta ja kahden tavun välillä maskitaulukosta. Tuloksena saadut 2 tavua ovat osoittimia kahteen erillistaulukkoon.
  3. Käsitellään vasenta puoliskoa vastaanotetun tavun määrittelemällä ensimmäisellä enklaavitaulukolla.
  4. Vastaanotetun vasemman puolikkaan käsittely vastaanotetun tavun avulla määritellyllä toisella enklaavitaulukolla.
  5. XOR vasemman ja oikean puoliskon välissä.
  6. XOR vastaanotetun oikean puolikkaan kahden tavun ja maskitaulukon kahden tavun välillä. Tuloksena olevat kaksi tavua ovat osoittimia kahteen erillistaulukkoon.
  7. Vastaanotetun oikean puolikkaan käsittely vastaanotetun tavun osoittaman erillisen ensimmäisen taulukon toimesta.
  8. Vastaanotetun oikean puolikkaan käsittely vastaanotetun tavun osoittaman erillisen toisen taulukon toimesta.
  9. Oikean ja vasemman puoliskon XOR.
  10. Vasemman puoliskon ketjuttaminen edellisen vaiheen saatuun arvoon [5] .


Avaimen laajennusalgoritmi ja maskin luominen

REDOC-II:n alkuperäisessä versiossa avaintaulukko ja maskitaulukko täytetään 70-bittisellä K-avaimella.

Avaintaulukon täyttöalgoritmi.

Avaintaulukon täyttämisen algoritmi on seuraava:

  1. Avaimen ensimmäiset viisi tavua summataan modulo 128. Tuloksena on permutaatiotaulukon numero.
  2. Loput viisi avainarvoa lasketaan yhteen modulo 16. Tuloksena on korvaustaulukon numero.
  3. Alkuperäiselle avaimelle tehdään substituutio-permutaatio käyttämällä substituutio-permutaatiotaulukoita, joiden numerot on saatu aiemmin. Tuloksena on käsitelty avain K'.
  4. Avaintavut K' kolmannesta seitsemänteen summataan modulo 32. Tuloksena on enklaavitaulukon numero.
  5. Avainta K' käsittelee muuttujaenklaavi Phase, jonka tuloksena saadaan avain Ki.
  6. Avain Ki kirjoitetaan avaintaulukon vastaavaan soluun (alkuperäisen avaimen tapauksessa tämä on ensimmäinen tai nollasolu).
  7. Algoritmia toistetaan avaimelle Ki, kunnes avaintaulukko on täytetty.

Kaikkiaan muodostetaan 128 aliavainta.

Algoritmi maskitaulukon täyttämiseksi.

Maskitaulukon täyttämisen algoritmi näyttää tältä:

Yhteensä muodostuu 4 maskia.

Luotettavuus

Raakaa voimaa pidetään tehokkaimpana tapana avata avain; tavoitteen saavuttamiseen tarvitaan 2160 operaatiota . Melkein ainoa tehokas krypta-analyysi oli Thomas Kuzikin yhden algoritmin kierroksen avaaminen, mutta avausta ei voitu laajentaa uusille kierroksille. Shamir ja Biham analysoivat 2300 avoimen tekstin avulla yhden kierroksen , 4 kierroksen jälkeen saatiin 3 maskiarvoa, mutta tämä ei sinänsä tuonut menestystä ja tällä hetkellä algoritmia pidetään kryptonkestävänä [ 1] .

REDOC III

Algoritmista on myös paljon yksinkertaistettu versio - REDOC III , jonka on luonut Michael Wood. Käytetään 80-bittistä lohkoa, avaimen pituus on vaihteleva, se voi olla 20480 bittiä. Permutaatiot ja korvaukset ovat poissuljettuja, kaikki lohkon ja avaimen toiminnot perustuvat vain XOR:n käyttöön, minkä ansiosta salausnopeus kasvaa merkittävästi differentiaalisen krypta -analyysin vastustuskyvyn kustannuksella . Algoritmi perustuu 256 salaisen avaimen perusteella generoituun 10-tavuiseen avaimeen ja kahteen 10-tavuiseen maskilohkoon, jotka on saatu XOR 128 10-tavuisen avaimen perusteella. REDOC III -algoritmin molempien maskien onnistuneeseen palauttamiseen tarvitaan 223 selkeää tekstiä. Tämä algoritmi on yksinkertainen ja nopea. 33 MHz 80386 -prosessorilla se salaa tiedot 2,75 Mbps:n nopeudella [1] . REDOC II -salausjärjestelmä pystyy salaamaan 800 kbps 20 MHz:n kellotaajuudella. [6]

REDOC II -algoritmi ja sen yksinkertaistettu versio on patentoitu Yhdysvalloissa [1] .

Muistiinpanot

  1. 1 2 3 4 Schneier, B., 2002 , jakso 13.5.
  2. MJB Robshaw, 1995 , s. 36.
  3. 1 2 3 4 Cusick and Wood, 1991 , s. 547.
  4. 1 2 3 4 5 6 Biham ja Shamir, 1992 , s. 19.
  5. Biham, Shamir, 1992 , s. kaksikymmentä.
  6. Cusick ja Wood, 1991 , s. 546.

Kirjallisuus