KRYPTON

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 6. června 2015; kontroly vyžadují 27 úprav .
KRYPTON
Tvůrce Che Hong Lim (Future Systems, Inc.)
Vytvořeno 1998 _
zveřejněno 1998–1999 _ _
Velikost klíče 128, 192, 256 bitů
Velikost bloku 128 bit
Počet kol 12
Typ Substitučně-permutační síť

CRYPTON  je symetrický algoritmus blokové šifry (velikost bloku 128 bitů, klíč až 256 bitů), vyvinutý jihokorejským kryptologem Chae Hoon Limem z  jihokorejské společnosti Future Systems , která působí na trhu síťové bezpečnosti již od konce 80. léta a ochrana informací. Algoritmus byl vyvinut v roce 1998 jako šifra AES . Jak autor přiznal, návrh algoritmu je založen na algoritmu SQUARE .

Algoritmus Crypton neobsahuje tradiční sítě Feistel pro blokové šifry . Základem této šifry je tzv. SP-network (opakující se cyklická funkce substitucí-permutací, zaměřená na paralelizované nelineární zpracování [1] celého datového bloku). Výhodou takových algoritmů je kromě vysoké rychlosti i možnost studia odolnosti šifry vůči metodám diferenciální a lineární kryptoanalýzy , které jsou dnes hlavními nástroji pro prolamování blokových šifer.

Verze algoritmu Crypton v0.5 byla původně předložena do soutěže AES. Jak však řekl Che Hong Lim, neměl dostatek času na vývoj plné verze. A již v první fázi soutěže AES, při analýze algoritmů, byla verze Crypton v0.5 nahrazena verzí Crypton v1.0. Rozdíl mezi novou verzí a původní byl ve změně náhradních tabulek, v úpravě procesu rozšíření klíče.

Struktura algoritmu. Klíčové vlastnosti

Stejně jako ostatní soutěžící AES je Crypton navržen tak, aby šifroval 128bitové bloky dat. Šifrování využívá šifrovací klíče několika pevných velikostí – od 0 do 256 bitů s násobkem 8 bitů.

Struktura algoritmu Crypton – struktura „Square“ – je v mnoha ohledech podobná struktuře algoritmu Square vytvořeného v roce 1997. Kryptografické transformace pro algoritmy s touto strukturou lze provádět jak na celých řádcích a sloupcích pole , tak na jeho jednotlivých bytech. (Za zmínku stojí, že algoritmus Square byl vyvinut autory budoucího vítěze soutěže AES - autory algoritmu Rijndael  - Vincent Raymen a Joan Dimen .)

Šifrování

Algoritmus Crypton představuje 128bitový blok šifrovaných dat ve formě pole 4x4 bajtů, nad kterým se během šifrovacího procesu provádí několik kol transformací. V každém kole se předpokládá, že budou postupně provedeny následující operace:

Výměna tabulky

Algoritmus Crypton používá 4 substituční tabulky. Každý z nich nahrazuje 8bitovou vstupní hodnotu výstupem stejné velikosti.

Všechny tabulky jsou odvozeny z hlavní tabulky (viz obrázek - výpočet odvozených substitučních tabulek).

Níže je uveden příklad tabulek:

Tabulka :
63 ec 59 aa db 8e 66 c0 37 3c čtrnáct ff 13 44 a9 91
3b 78 8d ef c2 2a f0 d7 61 9e a5 před naším letopočtem 48 patnáct 12 47
vyd 42 1a 33 38 c8 17 90 a6 d5 5 d 65 6a např 8f a1
93 c2 2f 0c 68 58 df f4 45 jedenáct a0 a7 22 96 fb 7d
1d b4 84 e0 bf 57 e9 0a 4e 83 cc 7a 71 39 c7 32
74 3d de padesáti 85 06 6f 53 e8 inzerát 82 19 e1 ba 36 cb
0e 28 f3 9b 4a 62 94 lf bd f6 67 41 d8 d1 2d a4
86 b7 01 c5 b0 75 02 f9 2c 29 6e d2 f5 8b fc 5a
e4 7f dd 07 55 b1 2b 89 72 osmnáct 3a 4c b6 e3 80 ce
49 srov 6b b9 f2 0d DC 64 95 46 f7 deset 9a dvacet a2 3f
d6 87 70 3e 21 fd 4d 7b 3c ae 09 8a 04 b3 54 f8
třicet 00 56 d4 e7 25 bb ac 98 73 ea c9 9d 4f 7e 03
ab 92 a8 43 0f fa 24 5c 1e 60 31 97 CD c6 79 f5
5e e5 34 76 1c 81 b2 af 0b 5 d d9 e2 27 6d d0 88
c1 51 e6 9c 77 být 99 23 da eb 52 2e b5 08 05 6c
b8 1b a3 69 8c d3 40 26 f1 c4 9f 35 ee 7c 4b 16
Stůl
8d b3 65 aa 6f 3a 99 03 DC f0 padesáti ff 4c jedenáct a6 46
ec e1 36 bf 0b a8 c3 5f 85 7a 96 f2 21 54 48 1d
b7 09 68 cc e0 23 5c 42 9a 57 75 95 a9 fb 3e 86
4e 2b před naším letopočtem třicet a1 61 7f d3 patnáct 44 82 9e 88 5a ef f5
74 d2 12 83 např 5 d a7 28 39 0e 33 e9 c5 e4 lf c8
d1 f4 7b 41 16 osmnáct bd 4d a3 b6 0a 64 87 ea d8 2f
38 a0 srov 6e 29 89 52 7c f6 db 9d 05 63 47 b4 92
1a de 04 17 c2 d5 08 e7 b0 a4 b9 4b 7d 2e f3 69
93 fd 77 1c 55 c6 ac 26 c9 60 e8 31 da 8f 02 3b
25 3f inzerát e6 cb 34 73 91 56 19 df 40 6a 80 8a fc
5b 1e c1 f8 84 f7 35 vyd 0f ba 24 2a deset ce 51 e3
c0 00 59 53 9f 94 ee b2 62 CD ab 27 76 3d f9 0c
ae 4a a2 0d 3c eb 90 71 78 81 c4 5e 37 1b e5 d7
79 97 d0 d9 70 06 ca být 2c 6d 67 8b 9c b5 43 22
07 45 9b 72 dd fa 66 8c 6b af 49 b8 d6 dvacet čtrnáct b1
e2 6c 8e a5 32 4f 01 98 c7 13 7e d4 bb f1 2d 58
Stůl
b1 72 76 bf ac ee 55 83 vyd aa 47 d8 33 95 60 c4
9b 39 1e 0c 0a 1d ff 26 89 5b 22 f1 d4 40 c8 67
9d a4 3c e7 c6 b5 f7 DC 61 79 patnáct 86 78 6e eb 32
b0 ca 4f 23 d2 fb 5e 08 24 4d 8a deset 09 51 a3 9f
f6 6b 21 c3 0d 38 99 lf 1c 90 64 např 8b a6 48 bd
53 e1 ea 57 ae 84 b2 45 35 02 7f d9 c7 2a d0 7c
c9 osmnáct 65 00 97 2b 06 6a 34 f3 2c 92 ef dd 7a 56
a2 c4 88 b9 padesáti 75 d3 e4 jedenáct ce 4b a7 fd 3f být 81
8e d5 5a 49 42 54 70 a1 df 87 ab 7d f4 12 05 2e
27 0f c1 třicet 66 98 3d cb b8 e6 9c 63 e3 před naším letopočtem 19 fa
3a 2f 9e f2 6f 1a 28 3b c2 0e 03 c0 b7 59 a9 d7
74 85 d6 inzerát 41 ec 8c 71 f0 93 5 d b6 1b 68 e5 44
07 e0 čtrnáct 8a f9 73 CD 4e 25 bb 31 5f 4a cc 8f 91
de 6d 7b f5 b3 29 a0 17 6c da e8 04 96 82 52 36
43 5c db 8d 80 d1 e2 b4 58 46 ba e9 01 dvacet fc 13
16 f8 94 62 37 srov 69 9a af 77 c5 3e 7e a5 2d 0b
Tabulka :
b1 f6 8e 07 72 6b d5 e0 76 21 5a čtrnáct bf c3 49 a8
ac 0d 42 f9 ee 38 54 73 55 99 70 CD 83 lf a1 4e
vyd 1c df 25 aa 90 87 bb 47 64 ab 31 d8 např 7d 5f
33 8b f4 4a 95 a6 12 cc 60 48 05 8f c4 bd 2e 91
9b 53 27 de 39 e1 0f 6d 1e ea c1 7b 0c 57 třicet f5
0a ae 66 b3 1d 84 98 29 ff b2 3d a0 26 45 cb 17
89 35 b8 6c 5b 02 e6 da 22 7f 9c e8 f1 d9 63 04
d4 c7 e3 96 40 2a před naším letopočtem 82 c8 d0 19 52 67 7c fa 36
9d c9 3a 43 a4 osmnáct 2f 5c 3c 65 9e db e7 00 f2 8d
c6 97 6f 80 b5 2b 1a d1 f7 06 28 e2 DC 6a 3b b4
61 34 c2 58 79 f3 0e 46 patnáct 2c 03 ba 86 92 c0 e9
78 ef b7 01 6e dd 59 dvacet eb 7a a9 fc 32 56 d7 13
b0 a2 74 16 ca 4c 85 f8 4f 88 d6 94 23 b9 inzerát 62
d2 padesáti 41 37 fb 75 ec srov 5e d3 8c 69 08 e4 71 9a
24 jedenáct f0 af 4d ce 93 77 8a 4b 5 d c5 deset a7 b6 3e
09 fd 1b 7e 51 3f 68 a5 a3 být e5 2d 9f 81 44 0b

Operace se používá v sudých kolech a v lichých kolech . Tyto operace a substituční tabulky mají řadu vlastností, které jsou důležité zejména pro sjednocení operací šifrování a dešifrování . Vlastnosti tabulek a operací:

kde  je aktuální hodnota zašifrovaného datového bloku. Operace a mohou být definovány následovně:

kde:

  •  - aktuální hodnotu konkrétního datového bytu;
  •  - hodnota datového bytu po operaci;
Lineární transformace

Jsou zde použity 4 speciální konstanty , jejichž hexadecimální hodnoty jsou uvedeny níže:

Tyto konstanty jsou sloučeny do escape sekvencí , které jsou uvedeny níže:

kde je  operace zřetězení .

Samotná operace  je trochu obměna. V lichých kolech se používá operace :

kde:

  •  - logická bitová operace "and";
  • a  — hodnota i-tého řádku zpracovávaných dat před operací a po operaci.

V sudých kolech se používá operace :

Ve skutečnosti tato operace zajišťuje, že každý výsledný bajt každého sloupce má dva bity každého zdrojového bajtu stejného sloupce.

Bytová permutace

Tato permutace převede řádek dat na sloupec nejjednodušším způsobem:

Operace

Tato operace je bitovým přidáním celého datového pole pomocí kulatého klíče:

kde:  je nová hodnota zašifrovaného datového bloku;  - klíč aktuálního kola .

Upozorňujeme, že autor algoritmu, Che Hong Lima, doporučuje 12 kol šifrování, ale přesný počet kol nebyl stanoven. Kromě 12 kol šifrování se před prvním kolem algoritmu provede předběžná operace , a po 12 cyklech se provede výstupní transformace , sestávající z postupně prováděných operací , a .

Dešifrování

Dešifrování se provádí použitím obrácených operací v opačném pořadí. Všechny operace kromě a jsou inverzní samy k sobě a samy o sobě souvisejí pomocí následujících vztahů:

proto se při dešifrování  používá - v sudých kolech a  - v lichých.

Za zmínku stojí ještě jedna vlastnost: každou fázi lze provádět paralelně, což je důležité při implementaci na moderních vícejádrových a vícevláknových systémech . Algoritmus má strukturu SP sítě, jako je Rijndael (který je vítězem soutěže AES) Také rysem šifry je, že stejný postup lze použít k šifrování a dešifrování, ale s různými podklíči. Algoritmus je účinný v softwarové i hardwarové implementaci. Šifra je dostatečně rychlá - na soutěži AES s použitím překladače Borland C vykázala ze všech účastníků nejlepší výsledky.

Postup rozšíření klíče

Algoritmus Crypton vyžaduje 128bitový klíč pro každé kolo a také 128bitový klíč pro předoperační σ. Rozšíření klíče probíhá ve dvou fázích:

  1. v první fázi se vygeneruje osm rozšířených klíčů;
  2. ve druhé fázi se kulaté klávesy počítají z rozšířených kláves.

Rozšířené generování klíče

Rozšířené klíče se generují následovně:

  • Pokud je šifrovací klíč menší než 256 bitů, je doplněn bitovými nulami, dokud nedosáhne 32bajtového původního klíče :
  • Klíč K je analyzován do sekvencí a , z nichž první obsahuje pouze sudé bajty klíče, druhý obsahuje pouze liché bajty:
  • Přes sekvence a je provedeno jedno kolo šifrování algoritmu Crypton pomocí kulatého klíče skládajícího se z nulových bitů. V souladu s tím se provádějí liché kruhové transformace pro a sudé kruhové transformace pro. Výsledné sekvence jsou označeny jako a .
  • Počítá se 8 rozšířených klíčů:

pro kde a  jsou sekvence definované následujícími vzorci:

Výpočet kulatých klíčů

Pro výpočet z rozšířených klíčů - kulatých klíčů se používají následující konstanty:

Všimněte si, že pseudonáhodné konstanty A54FF53A a 3C6EF372 jsou získány z dílčích částí čísel , resp.

Nejprve se vypočítají klíče pro předběžnou operaci σ a první kolo:

kde  je i-tá řada kulatého klíče . Stejně jako u šifrovaných dat je klíč poskytnut ve formě tabulky.

Konstanty se počítají bitovým otočením každého bajtu konstanty o 1 bit doleva.

Pro druhé a každé následující sudé kolo se klíč vypočítá takto:

  • První čtyři rozšířené klíče jsou upraveny:

kde <<< označuje operaci bitového otočení každého bytu (samostatně) rozšířeného klíče o zadaný počet bitů doleva a << je bitové otočení celého klíče o zadaný počet bitů doleva .

  • Výpočet kulatého klíče pomocí upravených rozšířených klíčů:

Podobně probíhá výpočet klíčů pro lichá kola:

Procedura rozšíření klíče umožňuje generovat kulaté klíče za chodu, tedy v procesu šifrování podle potřeby. To je jasná výhoda algoritmu, přinejmenším proto, že pro uložení kulatých klíčů není potřeba žádná paměť. Pro dešifrování je také možné provést přímou proceduru rozšíření klíče a použít získané kulaté klíče v opačném pořadí.

Zabezpečení

Nevýhody algoritmu Crypton

Při analýze původní verze algoritmu, Crypton v0.5, dva experti nezávisle na sobě objevili třídu slabých klíčů: 2 až 32 256bitových klíčů. Také byl objeven útok na šestikolovou verzi algoritmu Crypton, podobný útoku na algoritmus Square. To byl jeden z důvodů vzniku nové verze algoritmu – Crypton v1.0.

Výhody algoritmu Crypton

Podle odborníků z institutu NIST však výše uvedené nevýhody nejsou hrubé. Algoritmus měl navíc dost výhod:

  1. algoritmus je efektivní na softwarové i hardwarové úrovni díky vysokému stupni paralelismu a použití velmi jednoduchých logických operací ANDS / XORS;
  2. algoritmus nepodléhá útokům na dobu provádění a spotřebu energie;
  3. dobrá odolnost vůči stávajícím útokům;
  4. možnost paralelizace operací v procesu šifrování;
  5. rychlé rozšíření klíče, rychlé generování klíčů: šifrování seznamu klíčů je mnohem rychlejší než šifrování jednoho bloku, takže je velmi efektivní v aplikacích, které vyžadují časté změny klíčů (např. režim hash).
  6. dostatečně vysoká rychlost na všech cílových platformách;
  7. malé požadavky na RAM a schopnost rozšiřovat klíč za chodu umožňují použití algoritmu Crypton v čipových kartách s minimálními prostředky;
  8. algoritmus podporuje další velikosti klíčů nad rámec těch, které nastavuje konkurence (128, 192, 256 bitů).

Vývojář deklaroval garantovanou odolnost vůči lineární a diferenciální kryptoanalýze a obecně vůči všem útokům existujícím v době vývoje. Přepracovaný rozvrh klíčů a nové tabulky S-Box odstranily všechny zjištěné nedostatky a zranitelnosti .

Integrální útok na šifru Crypton (4kolová)

Bezpečnostní analýza blokové symetrické šifry (BSC) Crypton ukazuje, že 12kolová samonahraditelná šifra (se stejnými procesy pro kódování a dešifrování) s délkou bloku 128 bitů a délkou klíče až 128 bitů má dobrou odolnost. ke stávajícím útokům. Integrální útok na 4kolový Crypton BSS je mnohem účinnější než prohledávání celého klíčového prostoru hrubou silou.

Stručný popis šifry

Crypton je bloková šifra. Délka klíče a délka bloku jsou 128 bitů. Čtyři transformace pracují s mezivýsledkem zvaným Stát. Stav může být reprezentován jako obdélníkové pole o 16 bajtech:

kde

Označme 4bajtový sloupec jako

Představme si také šifrovací klíč:

kde a .

Šifra definuje Galoisovo pole , jehož prvky jsou bajty. S bajty se zachází jako s polynomy

Operace  sčítání - při sčítání bajtů se odpovídající polynomy sčítají přes .

Operace násobení - při násobení se odpovídající polynomy přenásobí a výsledný polynom se vezme modulo z jednoduchého polynomu

Během činnosti algoritmu je klíč rozbalen (Key Schedule, Key Expansion). První 4 sloupce (každý 4 bajty) jsou původní klíč . Každá následující -tá sada 4 sloupců se vypočítá z předchozí sady a použije se pro -té kolo, označené . Kolo se skládá ze čtyř různých elementárních transformací, které transformují stav na stav  :

  • Byte substituce - BS (Byte Substitution): použití permutace resp
  • Posun řádku - SR (Shift Rows): cyklický posun bajtů podle pravidla:
  • Míchání sloupců - MC (Mix Columns: každý sloupec stavu je upraven lineární transformací

Jinými slovy, nejde o nic jiného než o vynásobení sloupců maticí vlevo:

Operace je reverzibilní:

  • Přidání kulatého klíče - KA (Key Addition): k aktuálnímu stavu se přidá kulatý klíč.

Finálové kolo neobsahuje operaci MC. Stavy propojení vzorců a :

; ; Algoritmus pro implementaci integrálního útoku

Integrální útok je založen na možnosti útočníka volného výběru určité množiny otevřených textů pro jejich následné zašifrování. Je to efektivnější než vyčerpávající výčet přes celý klíčový prostor.

Zavádíme definice.

 — sada 256 vstupních bloků (stavových polí), z nichž každý má bajty (říkejme jim aktivní), jejichž hodnoty se pro všech 256 bloků liší. Zbytek bajtů (pasivní) zůstává stejný pro všech 256 bloků z -set. Tedy pro libovolné, pokud je aktivní bajt s indexem (i, j) a jinak .

 - ck aktivní bajty.  je množina stavů na konci kola r.


- souprava. Po elementárních transformacích BS a KA vznikne z bloků -set další -set s aktivními bajty na stejných pozicích jako ten původní. Konverze SR posune tyto bajty podle offsetů v něm uvedených. Po transformaci nezůstane MC -set nezbytně -set v obecném případě (výsledek operace již nemusí splňovat definici -set). Protože každý bajt výsledku MC je lineární kombinací (s reverzibilními koeficienty) čtyř vstupních bajtů stejného sloupce , bude mít sloupec s jedním aktivním bajtem na vstupu za následek sloupec se všemi čtyřmi aktivními bajty na výstupu.

Zvažte -set šifrování. Ve všech blocích bude aktivní pouze jeden bajt. Hodnota tohoto bajtu je ve všech 256 blocích různá a zbytek bajtů je stejný. V prvním kole transformace MC převede jeden aktivní bajt na sloupec se 4 aktivními bajty, tj . je . Ve druhém kole tyto 4 bajty přejdou do 4 různých sloupců v důsledku transformace SR, je -set. Transformace MC v dalším, třetím kole převede tyto bajty na 4 sloupce obsahující aktivní bajty. Tato sada je stále -set, dokud nevstoupí do třetího kola MC vstupu.

Hlavní vlastností množiny je, že bitový součet modulo 2 ( ) všech bajtů umístěných na stejných místech v množině je roven nule (bitový součet neaktivních (se stejnými hodnotami) bajtů je podle definice „ “ nulový. operace a aktivní bajty procházející všemi 256 hodnotami, také s bitovou sumací budou dávat nulu)

Výsledkem převodu MC ve třetím kole bajtů pole vstupních dat na bajty pole výstupních dat  je, že bitový součet všech bloků výstupní sady bude roven nule:

Existuje tedy . Celkový součet vstupních dat je nula. Tato rovnost je narušena následnou transformací BS.

Klíč je jednoznačně specifikován v reprezentaci R:

K provedení útoku je zapotřebí sada skládající se z 256 stavů. Množinu lze získat aplikací 2 inverzních transformací SR a MC ze vstupu šifry .

Schéma základního integrálního útoku na 4kolový krypton:

Pro všechny

pro

pokud ,

pak

V tomto schématu je 4. kolo invertováno krok za krokem, aby se získaly bajty, jejichž celkový součet je 0. Když součet

Pokud byla očekávaná hodnota bajtu klíče správná, bude zahrnuta mezi možné volby na místě . Většina hodnot špatných bajtů bude odstraněna. Vzhledem k tomu, že vyhledávání lze provádět samostatně (paralelně) pro každý bajt klíče, je rychlost výběru celé hodnoty kulatého klíče velmi vysoká. Dále podle hodnoty můžete najít a poté a  - původní klíč.

Soutěž AES

Prvními kroky ke změně šifrovacích standardů bylo vytvoření soutěže AES. Jednalo se o otevřenou soutěž pořádanou americkým institutem pro standardy a technologie – NIST (National Institute of Standard and Technology). Vítězem této soutěže se měl stát nový americký šifrovací standard. Soutěže se mohli zúčastnit jednotlivci, společnosti jak ve Spojených státech, tak mimo ni.

Primární požadavky:

  1. 128 bitů - velikost bloku šifrovaných dat.
  2. Algoritmus musí podporovat tři nebo více velikostí klíčů (128, 256, 192 - bity jsou povinné velikosti klíčů pro soutěž).

Navzdory malému počtu požadavků na algoritmy však bylo mnoho přání:

  1. algoritmus musí být odolný vůči kryptoanalytickým útokům známým v době soutěže;
  2. struktura algoritmu by měla být jasná, jednoduchá a opodstatněná;
  3. nesmí existovat žádné slabé a ekvivalentní klíče;
  4. rychlost šifrování dat by měla být vysoká na všech potenciálních hardwarových platformách od 8 do 64 bitů.
  5. struktura algoritmu by měla umožňovat paralelizaci operací ve víceprocesorových systémech a hardwarových implementacích.
  6. algoritmus musí klást minimální požadavky na operační a energeticky nezávislou paměť.
  7. neměla by existovat žádná omezení pro použití algoritmů.

Upozorňujeme, že účastníkům soutěže AES bylo povoleno provádět změny v algoritmech během soutěže, pokud se jednalo o drobné úpravy. U algoritmu Crypton při poskytování nové verze porota považovala změny za významné, protože se týkaly substituční tabulky, klíčového postupu rozšíření. V důsledku toho se soutěže zúčastnila verze Crypton v0.5.

Absence zjevných nevýhod a přítomnost výhod v algoritmu Crypton mu stále neumožnila dostat se do finále soutěže AES. Důvodem byla účast v soutěži dvou algoritmů: Rijndael a Twofish . Tyto algoritmy neměly slabé klíčové problémy algoritmu Crypton. Navíc byly na cílových platformách rychlejší než Crypton. Bylo rozhodnuto, že v budoucnu Crypton s těmito algoritmy v každém případě prohraje, takže experti soutěže Crypton do finále nepustili. (Rijndael je budoucí vítěz soutěže).

Verze algoritmu Crypton

Soutěž se týkala primární verze algoritmu, která po nějaké době získala index 0,5. Po nějaké době bylo navrženo několik dalších vydání, z nichž poslední byla verze 1.0 s revidovaným plánem klíčů a novými vyhledávacími tabulkami.

Poznámky

  1. Bukharov O.E., Bogolyubov D.P. Paralelní samoučící se systém pro podporu rozhodování založený na genetických algoritmech a neuronových sítích  (ruština)  // Správce systému. - 2014. - č. Vydání č. 9 (142) . Archivováno z originálu 28. ledna 2021.

Literatura

  • Chae Hoon Lim. CRYPTON: nová 128bitová specifikace a analýza blokové šifry. - 1998. - doi : 10.1.1.52.5771 .
  • Šifrovací algoritmy. Zvláštní adresář / Autor: Sergey Petrovič Panasenko / Vydavatel: "BHV-St. Petersburg", 2009

Odkazy