REDOC

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2016. december 30-án áttekintett verziótól ; az ellenőrzések 5 szerkesztést igényelnek .
REDOC II
Teremtő Michael Wood
Létrehozva 1990_ _
közzétett 1990_ _
Kulcsméret 70-17920 bit, effektív: 70 bit
Blokkméret 70 bites
A körök száma tíz
Típusú saját
REDOC III
Teremtő Michael Wood
Kulcsméret Változó, legfeljebb 2560 bájt (20480 bit)
Blokkméret 80 bites
A körök száma tíz
Típusú saját

A REDOC egy szimmetrikus blokkos titkosítási algoritmus , amelyet Michael Wood fejlesztett ki 1990-ben a Cryptech számára, és REDOC II néven. Minden műveletet - helyettesítéseket , permutációkat, XOR -t - bájtokkal hajtanak végre, ami lehetővé teszi a hatékony programozást. Az algoritmus kulcsfontosságú és eredeti, egyszerű szövegtől függő táblázatkészleteket ( S-box ) használ, változó táblázatfüggvények használatával . Az algoritmust a maszkok használata különbözteti meg , pl. a kulcstáblázatból kapott számok. A maszkokat egy adott kör adott funkciójának táblázatainak kiválasztására használják. Ez a maszk értékét és az adatértéket is használja [1] .

Algoritmus

A REDOC-II egy tízfordulós kriptorendszer (de azt javasolták, hogy egy vagy kétfordulós verzió biztonságos) [2] . A REDOC II eredeti verziójában minden kör egy sor manipulációt tartalmaz egy 10 bájtos blokkon. Minden bájtból hét bitet használunk adatértékekhez, a nyolcadik bit pedig a paritásbit .

Mivel azonban minden bájtból csak az első 7 bitet használják titkosításra , az egyes bájtok alfabetikus térköze 0 és 127 között van. És minden művelet modulo 128 [3] történik .

A REDOC II eredeti verziójában a kulcs hossza 10 bájt. A tényleges kulcsméret 70 bit. Tisztázni kell, hogy a REDOC II 70 és 17920 bit közötti kulcshosszúságot tud támogatni [3] .

Minden kör hat fázisból áll:

  1. Permutáció változó fázis ,
  2. Az XOR változókulcs első fázisa ,
  3. Az XOR változókulcs második fázisa ,
  4. Változó enklávé fázis ,
  5. A változó helyettesítésének első fázisa ,
  6. A változó helyettesítésének második fázisa .

Az egyes fázisok során az adatok feldolgozása táblázatok segítségével történik [4] .

Táblázatok típusai

1) 16 előre definiált keresési tábla, amelyeket a változó keresési fázisokban használnak. (Rögzített)

2) 128 előre definiált permutációs tábla, amelyeket a változó permutációs fázisok használnak. (Rögzített)

3) 128 előre definiált enklávétáblázat, amelyeket a változó enklávéfázisok használnak. (Rögzített)

4) Ezenkívül a kulcsfeldolgozó algoritmus minden kulcshoz 128 tízbájtos kulcstáblázatot és kilenc maszktáblázatot számít ki. (Kiszámítható, a titkosítás inicializálásakor jön létre) [3] [4]

Fázisok leírása

A változó permutáció fázisai

A permutációs változó minden fázisában mind a tíz bájt adat hozzáadódik (128-as modul), és az eredmény XOR-re kerül a maszktáblázat egy adott bájtjával. Az eredményül kapott érték a permutációs tábla száma. Minden adatbájtot a kiválasztott permutáció helyettesít [4] .

Változó kulcsfázisok XOR

Az adatok közül kiválasztunk egy bájtot, a maszktáblázatból pedig a megfelelő bájtot, amelyek között az XOR művelet végrehajtásra kerül. Az eredményül kapott érték a kulcstábla száma. (Érdemes emlékeztetni arra, hogy minden bájtból 7 bitet használnak a titkosításhoz. Ezért a kapott kulcstábla száma 0 és 127 közötti tartományba esik). Minden adatbájt, a kiválasztott kivételével, XOR-re kerül a kulcstáblázat megfelelő bájtjaival a kapott számmal.

Egy ilyen műveletet az adatokból származó összes bájtra hajtanak végre. [négy]

Változó helyettesítési fázisok

Az adatok közül kiválasztunk egy bájtot, a maszktáblázatból pedig a megfelelő bájtot, amelyek között az XOR művelet végrehajtásra kerül. A kapott érték, modulo 16, a helyettesítési táblázat száma. A kiválasztott bájt kivételével minden bájt a kapott számmal rendelkező helyettesítési táblázat értékeire kerül.

Ilyen műveletet hajtanak végre az adatokból származó összes bájtra [4] .

Változó enklávé fázisok

Az előre meghatározott enklávé táblázat öt sorból és 3 oszlopból áll. Minden bejegyzés 1-től 5-ig terjedő számot tartalmaz. Az enklávétáblázatnak 2 tulajdonságnak kell megfelelnie:

Ez annak köszönhető, hogy a táblázat feldolgozása soronként és a következőképpen történik: Az enklávétáblázatban minden szám egy bájtpozíciót jelent. A táblázat egy sorában megadott három bájt összegzésre kerül (modulo 128). Az első oszlopban megadott bájt helyére a kapott összeg kerül. [3]

Minden változó enklávéfázis 4 enklávétáblázatot használ az alábbiak szerint:

  1. A blokkokat két, egyenként 5 bájtos alblokkra osztja. Az aldobozokat bal és jobb félnek nevezzük.
  2. XOR a bal fele két bájtja és a maszktáblázat két bájtja között. Az így kapott 2 bájt mutat két enklávétáblázatra.
  3. A bal fél feldolgozása a fogadott bájt által meghatározott első enklávétáblázattal.
  4. A fogadott bal felének feldolgozása a fogadott bájttal megadott második enkláve táblával.
  5. XOR a bal és a jobb fél között.
  6. XOR a kapott jobb oldali két bájt és a maszktáblázat két bájtja között. Az így kapott két bájt mutat két enklávétáblázatra.
  7. A vett jobb felének feldolgozása a fogadott bájt által jelzett enklávé első táblázata által.
  8. A vett jobb oldal feldolgozása a fogadott bájt által jelzett enklávé második táblájával.
  9. A jobb és a bal fél XOR-ja.
  10. A bal felének összefűzése az előző lépésben kapott értékkel [5] .


Kulcsbővítési algoritmus és maszkgenerálás

A REDOC-II eredeti verziójában a kulcstáblázat és a maszktábla a 70 bites K kulcs használatával van feltöltve.

Kulcstábla kitöltési algoritmus.

A kulcstáblázat kitöltésének algoritmusa a következő:

  1. A kulcs első öt bájtja modulo 128 összegzésre kerül. Az eredmény a permutációs tábla száma.
  2. A fennmaradó öt kulcsérték összege modulo 16. Az eredmény a helyettesítési táblázat száma.
  3. Az eredeti kulcsot helyettesítés-permutációnak vetjük alá a helyettesítési-permutációs táblák segítségével, amelyek számait korábban megkaptuk. Az eredmény a feldolgozott K' kulcs.
  4. A harmadiktól a hetedikig terjedő K' kulcsbájtokat modulo 32 összegezzük. Az eredmény az enklávé tábla száma.
  5. A K' kulcsot a Phase változó enklávé dolgozza fel, az eredmény a Ki kulcs.
  6. A Ki kulcsot a kulcstábla megfelelő cellájába írjuk (az eredeti kulcs esetében ez az első vagy nulla cella).
  7. Az algoritmus ismétlődik a Ki kulcsra, amíg a kulcstábla meg nem telik.

Összesen 128 alkulcs jön létre.

A maszk táblázat kitöltésének algoritmusa.

A maszktáblázat kitöltésének algoritmusa így néz ki:

Összesen 4 maszk keletkezik.

Megbízhatóság

A nyers erőt tartják a kulcs kinyitásának leghatékonyabb módjának; 2160 műveletre lesz szükség a cél eléréséhez . Szinte az egyetlen hatékony kriptoanalízis az algoritmus egyik fordulójának Thomas Kuzik általi megnyitása volt, de a nyitást nem lehetett további körökre kiterjeszteni. 2300 nyitott szöveg segítségével az egyik kört Shamir és Biham kriptoanalízissel végezték, 4 kör után 3 maszkértéket kaptak, de ez önmagában nem hozott sikert, és jelenleg az algoritmus kriptorezisztensnek számít [ 1] .

REDOC III

Létezik az algoritmusnak egy jóval leegyszerűsített változata is – a REDOC III , amelyet Michael Wood készített. 80 bites blokkot használnak, a kulcs hossza változó, elérheti a 20480 bitet. A permutációk és helyettesítések kizártak, a blokkon és a kulcson végzett összes művelet csak az XOR használatán alapul, aminek köszönhetően a titkosítási sebesség jelentősen megnő a differenciális kriptoanalízissel szembeni ellenállás rovására . Az algoritmus a titkos kulcs alapján generált 256 db 10 bájtos kulcson, valamint az XOR 128 db 10 bájtos kulcs alapján kapott két 10 bájtos maszk blokkon alapul. A REDOC III algoritmus mindkét maszkjának sikeres helyreállításához 223 egyszerű szövegre van szükség. Ez az algoritmus egyszerű és gyors. A 33 MHz-es 80386 processzoron 2,75 Mbps [1] sebességgel titkosítja az adatokat . A REDOC II kriptográfiai rendszer 800 kbps titkosítására képes 20 MHz órajel mellett. [6]

A REDOC II algoritmus és annak leegyszerűsített változata szabadalmaztatott az USA-ban [1] .

Jegyzetek

  1. 1 2 3 4 Schneier, B., 2002 , 13.5. szakasz.
  2. MJB Robshaw, 1995 , p. 36.
  3. 1 2 3 4 Cusick és Wood, 1991 , p. 547.
  4. 1 2 3 4 5 6 Biham és Shamir, 1992 , p. 19.
  5. Biham, Shamir, 1992 , p. húsz.
  6. Cusick és Wood, 1991 , p. 546.

Irodalom