:: Úvod

:: Tím

:: Projekt

:: Prezentácia

:: Stav projektu

:: Dokumentácia

:: Odkazy

     Šifrovanie šifry IDEA


Úvod do prezentácie
História šifry
Opis šifry
Šifrovanie
Dešifrovanie
Kryptoanalýza

Interaktívna
prezentácia

Algoritmy


Šifrovanie

Vstupný 64 bitový údajový blok je rozdelený na štyri 16 bitové podbloky x1,x2,x3,x4. Tieto štyri podbloky sa stanú vstupom pre prvú z ôsmich iterácii algoritmu. Medzi iteráciami je druhý a tretí podblok navzájom vymenený. Na záver, štyri podbloky sú skombinované so štyrmi podkľúčmi ako výstupná transformácia.

V každej iterácii je vykonaná nasledovná postupnosť operácii [1]:

1. vynásob x1 a prvý podkľúč
2. sčítaj x2 a druhý podkľúč
3. sčítaj x3 a tretí podkľúč
4. vynásob x4 a štvrtý podkľúč
5. XOR výsledky kroku 1 a 3
6. XOR výsledky kroku 2 a 4
7. vynásob výsledky kroku 5 a piaty podkľúč
8. sčítaj výsledok kroku 6 a 7
9. vynásob výsledok kroku 8 a šiesteho podkľúča
10. sčítaj výsledok kroku 7 a 9
11. XOR výsledky kroku 1 a 9
12. XOR výsledky kroku 3 a 9
13. XOR výsledky kroku 2 a 10
14. XOR výsledky kroku 4 a 10.

Výstupom hore popísanej iterácie sú štyri podbloky, ktoré sú výsledkom krokov 11, 12, 13 a 14. Tieto podbloky, so zamenenými strednými podblokmi, sú vstupom ďalšej iterácie. V poslednej - ôsmej iterácii sa namiesto vymenení podblokov vykonáva výstupná transformácia s nasledovnými krokmi:

1. vynásob x1 a prvý podkľúč
2. sčítaj x2 a druhý podkľúč
3. sčítaj x3 a tretí podkľúč
4. vynásob x4 a štvrtý podkľúč
.

Výsledkom šifrovacieho procesu sú štyri šifrované podbloky, ktoré nám po spojení dajú výstupný 64 bitový šifrovaný údajový blok. Schematický opis algoritmu IDEA je na nasledovnom obrázku (obr. č. 1).

Obr. č. 1: Schematický opis algoritmu IDEA

Vytváranie kľúčov

Veľmi jednoduché je aj generovanie 52 používaných podkľúčov (šesť pre každú z ôsmich iterácii a štyri pre výstupnú transformáciu). Najprv sa zoberie 128 bitový kľúč a rozdelí sa na osem 16 bitových podkľúčov. To vytvorí prvých osem podkľúčov, šesť pre prvú a prvé dva pre druhú iteráciu. Následne je kľúč rotovaný o 25 bitov doľava a opäť rozdelený na osem podkľúčov, z ktorých štyri sú použité v druhej a štyri v tretej iterácii. Kľúč je znova rotovaný o 25 bitov doľava a rozdelený na osem podkľúčov a tak dokola až je vygenerovaných 52 podkľúčov[1].

[1] Shneier, B.: Applied Cryptography. John Wiley & Sons, 1996. ISBN 0 471 12845 7

 

naspäť hore