Feistel kód
Feistel kód je kód bloku se zvláštní strukturou (známou jako Feistel síť).Feistel sítě a podobné stavby kombinují rozmanitá kola opakoval
- kousek-míchat
- jednoduché nelineární funkce (často nazvaný S boxuje)
- lineární mixování (ve smyslu pro modulární algebru) používat XOR
Feistel sítě byly vynalezeny IBM kryptografickým výzkumníkem Horst Feistel, a nejprve komerčně viděný v IBM je Lucifer kód, navržený Feistel a si obléct Coppersmith. Feistel sítě získaly slušnost, když americká federální vláda adoptovala DES (kód založený na Lucifer, s zlepšeními vyrobený NSA). Jako ostatní součásti DES, opakovací povaha feistel stavby dělá splnění kryptografický systém v hardwaru snadnější (zvláště na omezeném dostupném hardwaru u doby DES designu).
Nejmodernější (nevojenské) symmetric kódy bloku jsou založené na sítích feistel a struktura a vlastnosti feistel kódů byli značně prozkoumal cryptographers.
Rozdělil blok holého textu do dva se rovnat kusům, (L0, R0)
Pro každé kolo i = 1, 2,..., n, vypočítat
Li = Ri-1 Ri = Li-1? f (Ri-1, Ki)kde f je kulatá funkce a Ki je náhradník-klíč.
Pak ciphertext je (Ln, Rn).
Bez ohledu na funkci f, dešifrování je provedeno přes
Ri-1 = Li Li-1 = Ri? f (Ri-1, Ki)Narušené Feistel kódy používají pozměněnou konstrukci kde L0 a R0 není se rovnat délkám. Skipjack šifrovací algoritmus je příklad takový kód.