Úvod do kryptografie
2007 © Kamilla Amirová (xamirova[at]fd.cvut.cz)
Algoritmus DES

Název/status: Standard šifrování dat DES (Data Encryption Standard), který ANSI nazývá algoritmem šifrování dat DEA (Data Encryption Algorithm).
Doba/místo zpracování: Vytvořen v 1972-1975 r. v výzkumné laboratorii korporaci IBM. Jako federální standard Spojených Států Amerických přijat v roce 1977.
Autoři: Skupína pod vedením Tauchmana.
Architektura: Klasická vyrovnaná sít´ Feistela s počátečnou a konečnou bitovými permutací všeobecného tvaru.

Parametry
délka bloku, bit: 64
délka klíče, bit: 56 (64, každý osmý bit se používá pro kontrolu sudosti)
číslo cyklů: 16
délka klíčového elementu, bit: 48
číslo klíčových elementů: 16 (rovná se číslu cyklů)


Proces šifrování

Zobrazit schemat šifrování DES

Otevřený text M je představen v textovém, hexadecimalním tvaru a nebo v binárním. Vstupní text se delí na bloky délkou 64 bitů. K tomuto textu použijme kryptografický algoritmus DES.


K je šifrovací klíč o délce 64 bitů, z nichž 56 je vlastním klíčem a každý 8 bit je kontrolní. Klíč K je v textovém, hexadecimalním tvaru a nebo v binárníhm.

IP transformace
 
V bloku IP bity otevřeného textu se přestavují místy podle následující tabulky. To znamená, že 58-ý bit otevřeného textu M stává prvním bitem v prvotní přestavbě IP. 50-ý bit otevřeného textu M se stává 2-ým (druhým) bitem v IP atd. 7-mí (sedmí) bit otevřeného textu M se stává posledním bitem v IP.
Dále se blok dělí na dvě stejné části L (left) a R (right) o 32 bitech každá.
 
 
Poznamka k R0, prvni

Výroba kličových elementů

V průběhu transformace РС1 se provádí přestavba bitového klíče a zároveň se odstraňují všechny kontrolní bity. Pak probíhá dělení 64-bitového bloku klíče na dvě 28- bitové části C a D. Takže Výsledek přestavby se rozbíjí na dva bloky C0 a D0 o 28 bitech každý.
PC1 transformace








Nelineární Funkce F(Rn-1, kn)










V dálším cyklu bude L2 = R1. Pak následuje R2 =L1 + F(R1, K2) atd. 16 cyklů. Na konci 16-ého cyklu dostanéme L16 a R16.
Výměníme bloky L16 a R16 místyi, sloučíme do jednoho bloku R16L16 délkou 64 bitů a použíme konečnou permutaci IP-1.
transformace IP-1



Výsledkem je zašifrovaný blok kryptogramu M’ odpovídající bloku otevřeného textu M
Dešifrování se v DES uskutečn'uje za použití stejných strukturních schémat, ale operace se provádějí v obráceném pořadí.