CRYPTON | |
---|---|
Creator | Che Hong Lim (Future Systems, Inc.) |
Creată | 1998 _ |
publicat | 1998 - 1999 |
Dimensiunea cheii | 128, 192, 256 biți |
Dimensiunea blocului | 128 de biți |
Numărul de runde | 12 |
Tip de | Rețea de substituție-permutare |
CRYPTON este un algoritm de cifru bloc simetric (dimensiunea blocului de 128 de biți, cheie cu lungimea de până la 256 de biți), dezvoltat de criptologul sud-coreean Chae Hoon Lim de la compania sud-coreeană Future Systems , care activează pe piața securității rețelelor de la sfârșitul anului. 1980 și protecția informațiilor. Algoritmul a fost dezvoltat în 1998 ca un cifr AES . După cum a recunoscut autorul, proiectarea algoritmului se bazează pe algoritmul SQUARE .
Algoritmul Crypton nu conține rețele Feistel tradiționale pentru cifrurile bloc . La baza acestui cifr se află așa-numita rețea SP ( funcția ciclică repetitivă a substituțiilor-permutărilor, axată pe procesarea neliniară paralelizată [1] a întregului bloc de date). Pe lângă viteza mare, avantajele unor astfel de algoritmi facilitează studiul rezistenței cifrului la metodele de criptoanaliza diferențială și liniară , care sunt principalele instrumente pentru spargerea cifrurilor bloc de astăzi.
O versiune a algoritmului Crypton v0.5 a fost inițial trimisă la competiția AES. Cu toate acestea, după cum a spus Che Hong Lim, el nu a avut suficient timp pentru a dezvolta versiunea completă. Și deja în prima etapă a competiției AES, în timpul analizei algoritmilor, versiunea Crypton v0.5 a fost înlocuită cu versiunea Crypton v1.0. Diferența dintre noua versiune și cea originală a fost în schimbarea tabelelor de înlocuire, în modificarea procesului de extindere a cheilor.
Ca și alți concurenți AES, Crypton este proiectat să cripteze blocuri de date pe 128 de biți. Criptarea folosește chei de criptare de mai multe dimensiuni fixe - de la 0 la 256 de biți cu o multiplicitate de 8 biți.
Structura algoritmului Crypton - structura „Pătrat” - este în multe privințe similară cu structura algoritmului Square , creat în 1997. Transformările criptografice pentru algoritmii cu această structură pot fi efectuate atât pe rânduri și coloane întregi ale matricei , cât și pe octeții săi individuali. (Este de remarcat faptul că algoritmul Square a fost dezvoltat de autorii viitorului câștigător al competiției AES - autorii algoritmului Rijndael - Vincent Raymen și Joan Dimen .)
Algoritmul Crypton reprezintă un bloc de 128 de biți de date criptate sub forma unui tablou de 4x4 octeți, peste care sunt efectuate mai multe runde de transformări în timpul procesului de criptare. În fiecare rundă, următoarele operații ar trebui să fie efectuate succesiv:
Algoritmul Crypton folosește 4 tabele de substituție. Fiecare dintre acestea înlocuiește o valoare de intrare de 8 biți cu o ieșire de aceeași dimensiune.
Toate tabelele sunt derivate din tabelul principal (vezi figura - calculul tabelelor de substituție derivate).
Mai jos este un exemplu de tabele:
Tabel :63 | ec | 59 | aa | db | 8e | 66 | c0 | 37 | 3c | paisprezece | ff | 13 | 44 | a9 | 91 |
3b | 78 | 8 D | ef | c2 | 2a | f0 | d7 | 61 | 9e | a5 | bc | 48 | cincisprezece | 12 | 47 |
ed | 42 | 1a | 33 | 38 | c8 | 17 | 90 | a6 | d5 | 5d | 65 | 6a | fe | 8f | a1 |
93 | c2 | 2f | 0c | 68 | 58 | df | f4 | 45 | unsprezece | 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 | cincizeci | 85 | 06 | 6f | 53 | e8 | anunț | 82 | 19 | e1 | ba | 36 | cb |
0e | 28 | f3 | 9b | 4a | 62 | 94 | 1f | 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 | optsprezece | 3a | 4c | b6 | e3 | 80 | ce |
49 | cf | 6b | b9 | f2 | 0d | DC | 64 | 95 | 46 | f7 | zece | 9a | douăzeci | a2 | 3f |
d6 | 87 | 70 | 3e | 21 | fd | 4d | 7b | 3c | ae | 09 | 8a | 04 | b3 | 54 | f8 |
treizeci | 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 | 5d | d9 | e2 | 27 | 6d | d0 | 88 |
c1 | 51 | e6 | 9c | 77 | fi | 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 |
8 D | b3 | 65 | aa | 6f | 3a | 99 | 03 | DC | f0 | cincizeci | ff | 4c | unsprezece | 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 | bc | treizeci | a1 | 61 | 7f | d3 | cincisprezece | 44 | 82 | 9e | 88 | 5a | ef | f5 |
74 | d2 | 12 | 83 | fe | 5d | a7 | 28 | 39 | 0e | 33 | e9 | c5 | e4 | 1f | c8 |
d1 | f4 | 7b | 41 | 16 | optsprezece | bd | 4d | a3 | b6 | 0a | 64 | 87 | ea | d8 | 2f |
38 | a0 | cf | 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 | anunț | e6 | cb | 34 | 73 | 91 | 56 | 19 | df | 40 | 6a | 80 | 8a | fc |
5b | 1e | c1 | f8 | 84 | f7 | 35 | ed | 0f | ba | 24 | 2a | zece | 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 | fi | 2c | 6d | 67 | 8b | 9c | b5 | 43 | 22 |
07 | 45 | 9b | 72 | dd | fa | 66 | 8c | 6b | af | 49 | b8 | d6 | douăzeci | paisprezece | b1 |
e2 | 6c | 8e | a5 | 32 | 4f | 01 | 98 | c7 | 13 | 7e | d4 | bb | f1 | 2d | 58 |
b1 | 72 | 76 | bf | ac | ee | 55 | 83 | ed | 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 | cincisprezece | 86 | 78 | 6e | eb | 32 |
b0 | ca | 4f | 23 | d2 | fb | 5e | 08 | 24 | 4d | 8a | zece | 09 | 51 | a3 | 9f |
f6 | 6b | 21 | c3 | 0d | 38 | 99 | 1f | 1c | 90 | 64 | fe | 8b | a6 | 48 | bd |
53 | e1 | ea | 57 | ae | 84 | b2 | 45 | 35 | 02 | 7f | d9 | c7 | 2a | d0 | 7c |
c9 | optsprezece | 65 | 00 | 97 | 2b | 06 | 6a | 34 | f3 | 2c | 92 | ef | dd | 7a | 56 |
a2 | c4 | 88 | b9 | cincizeci | 75 | d3 | e4 | unsprezece | ce | 4b | a7 | fd | 3f | fi | 81 |
8e | d5 | 5a | 49 | 42 | 54 | 70 | a1 | df | 87 | ab | 7d | f4 | 12 | 05 | 2e |
27 | 0f | c1 | treizeci | 66 | 98 | 3d | cb | b8 | e6 | 9c | 63 | e3 | bc | 19 | fa |
3a | 2f | 9e | f2 | 6f | 1a | 28 | 3b | c2 | 0e | 03 | c0 | b7 | 59 | a9 | d7 |
74 | 85 | d6 | anunț | 41 | ec | 8c | 71 | f0 | 93 | 5d | b6 | 1b | 68 | e5 | 44 |
07 | e0 | paisprezece | 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 | 8 D | 80 | d1 | e2 | b4 | 58 | 46 | ba | e9 | 01 | douăzeci | fc | 13 |
16 | f8 | 94 | 62 | 37 | cf | 69 | 9a | af | 77 | c5 | 3e | 7e | a5 | 2d | 0b |
b1 | f6 | 8e | 07 | 72 | 6b | d5 | e0 | 76 | 21 | 5a | paisprezece | bf | c3 | 49 | a8 |
ac | 0d | 42 | f9 | ee | 38 | 54 | 73 | 55 | 99 | 70 | CD | 83 | 1f | a1 | 4e |
ed | 1c | df | 25 | aa | 90 | 87 | bb | 47 | 64 | ab | 31 | d8 | fe | 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 | treizeci | 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 | bc | 82 | c8 | d0 | 19 | 52 | 67 | 7c | fa | 36 |
9d | c9 | 3a | 43 | a4 | optsprezece | 2f | 5c | 3c | 65 | 9e | db | e7 | 00 | f2 | 8 D |
c6 | 97 | 6f | 80 | b5 | 2b | 1a | d1 | f7 | 06 | 28 | e2 | DC | 6a | 3b | b4 |
61 | 34 | c2 | 58 | 79 | f3 | 0e | 46 | cincisprezece | 2c | 03 | ba | 86 | 92 | c0 | e9 |
78 | ef | b7 | 01 | 6e | dd | 59 | douăzeci | eb | 7a | a9 | fc | 32 | 56 | d7 | 13 |
b0 | a2 | 74 | 16 | ca | 4c | 85 | f8 | 4f | 88 | d6 | 94 | 23 | b9 | anunț | 62 |
d2 | cincizeci | 41 | 37 | fb | 75 | ec | cf | 5e | d3 | 8c | 69 | 08 | e4 | 71 | 9a |
24 | unsprezece | f0 | af | 4d | ce | 93 | 77 | 8a | 4b | 5d | c5 | zece | a7 | b6 | 3e |
09 | fd | 1b | 7e | 51 | 3f | 68 | a5 | a3 | fi | e5 | 2d | 9f | 81 | 44 | 0b |
Operația este utilizată în runde pare și în runde impare . Aceste operațiuni și tabele de înlocuire au o serie de proprietăți care sunt importante, în special pentru unificarea operațiunilor de criptare și decriptare . Proprietățile tabelelor și operațiilor:
unde este valoarea curentă a blocului de date criptat. Operațiile și pot fi definite după cum urmează:
Unde:
Există 4 constante speciale folosite aici , ale căror valori hexazecimale sunt date mai jos:
Aceste constante sunt combinate în secvențe de evacuare , enumerate mai jos:
unde este operația de concatenare .
Operația în sine este o mică permutare. În runde impare, se utilizează operația :
Unde:
În runde pare, se utilizează operația :
De fapt, această operație asigură că fiecare octet rezultat al fiecărei coloane are doi biți din fiecare octet sursă al aceleiași coloane.
Permutarea octetuluiAceastă permutare transformă un rând de date într-o coloană în cel mai simplu mod:
OperațiuneaAceastă operație este o adăugare pe biți a întregii matrice de date cu cheia rotundă:
unde: este noua valoare a blocului de date criptat; - cheia rundei curente .
Rețineți că este vorba de 12 runde de criptare recomandate de autorul algoritmului, Che Hong Lima, dar nu a fost stabilit un număr strict de runde. În plus față de 12 runde de criptare, înainte de prima rundă a algoritmului, se efectuează o operație preliminară , iar după 12 runde, se efectuează o transformare de ieșire , constând din operații efectuate secvențial și .
Decriptarea se realizează prin aplicarea operațiilor inverse în ordine inversă. Toate operațiile, cu excepția și sunt inverse față de ele însele și sunt ele însele legate de următoarele relații:
prin urmare, la descifrarea , - este folosit în runde pare și - în impare.
Merită remarcată încă o caracteristică: fiecare etapă poate fi executată în paralel, ceea ce este important atunci când este implementat pe sisteme moderne multi-core și multi-threaded . Algoritmul are o structură de rețea SP, ca Rijndael (care este câștigătorul competiției AES) De asemenea, o caracteristică a cifrului este că aceeași procedură poate fi folosită pentru a cripta și decripta, dar cu subchei diferite. Algoritmul este eficient atât în implementarea software cât și în cea hardware. Cifrul este suficient de rapid - la competiția AES, folosind compilatorul Borland C, a arătat cele mai bune rezultate dintre toți participanții.
Algoritmul Crypton necesită o cheie de 128 de biți pentru fiecare rundă, precum și o cheie de 128 de biți pentru pre-operație σ. Extinderea cheii are loc în două etape:
Cheile extinse sunt generate după cum urmează:
pentru unde și sunt secvențe definite prin următoarele formule:
Pentru a calcula din taste extinse - chei rotunde, sunt utilizate următoarele constante:
Rețineți că constantele pseudo-aleatoare A54FF53A și 3C6EF372 sunt obținute din părțile fracționale ale numerelor și respectiv.
Mai întâi, se calculează cheile pentru operația preliminară σ și prima rundă:
unde este rândul i al cheii rotunde . Ca și în cazul datelor criptate, cheia este furnizată sub forma unui tabel.
Constantele sunt calculate prin rotirea pe biți a fiecărui octet al constantului 1 bit spre stânga.
Pentru a doua și fiecare rundă par ulterioară, cheia se calculează după cum urmează:
unde <<< denotă operația de rotație pe biți a fiecărui octet (separat) al cheii extinse cu numărul specificat de biți la stânga și << este rotația pe biți a întregii chei cu numărul specificat de biți la stânga .
În mod similar, are loc calculul cheilor pentru runde impare:
Procedura de extindere a cheilor vă permite să generați chei rotunde din mers, adică în procesul de criptare, după cum este necesar. Acesta este un avantaj clar al algoritmului, cel puțin pentru că nu este necesară nicio memorie pentru a stoca cheile rotunde. Pentru decriptare, este, de asemenea, posibilă efectuarea unei proceduri de extindere directă a cheilor și utilizarea cheilor rotunde obținute în ordine inversă.
Când au analizat versiunea originală a algoritmului, Crypton v0.5, doi experți au descoperit în mod independent o clasă de chei slabe: existau 2 la puterea de 32 de chei de 256 de biți. De asemenea, a fost descoperit un atac asupra versiunii cu șase runde a algoritmului Crypton, similar cu atacul asupra algoritmului Square. Acesta a fost unul dintre motivele apariției unei noi versiuni a algoritmului - Crypton v1.0.
Cu toate acestea, potrivit experților de la Institutul NIST , dezavantajele de mai sus nu sunt grave. În plus, algoritmul a avut destule avantaje:
Dezvoltatorul a declarat rezistență garantată la criptoanaliza liniară și diferențială și , în general, la toate atacurile existente la momentul dezvoltării. Programul cheie reproiectat și noile tabele S-Box au eliminat toate deficiențele și vulnerabilitățile identificate .
Analiza de securitate a cifrului simetric bloc (BSC) Crypton arată că cifrul cu auto-înlocuire cu 12 runde (cu aceleași procese de codare și decriptare) cu o lungime a blocului de 128 de biți și o lungime a cheii de până la 128 de biți are o rezistență bună. la atacurile existente. Un atac integral asupra unui Crypton BSS cu 4 runde este mult mai eficient decât o căutare cu forță brută în întreg spațiul cheie.
Scurtă descriere a cifruluiCrypton este un cifru bloc. Lungimea cheii și lungimea blocului sunt de 128 de biți. Cele patru transformări funcționează cu un rezultat intermediar numit Stat. Starea poate fi reprezentată ca o matrice dreptunghiulară de 16 octeți:
UndeSă notăm o coloană de 4 octeți ca
Să ne imaginăm și cheia de criptare:
unde si .Cifrul definește un câmp Galois ale cărui elemente sunt octeți. Octeții sunt tratați ca polinoame peste
Operație de adunare - la adăugarea octeților, polinoamele corespunzătoare sunt adăugate peste .
Operație de înmulțire - în timpul înmulțirii, polinoamele corespunzătoare sunt înmulțite și polinomul rezultat este luat modulo dintr-un polinom simplu
În timpul funcționării algoritmului, cheia este extinsă (Key Schedule, Key Expansion). Primele 4 coloane (4 octeți fiecare) sunt cheia originală . Fiecare --lea set ulterior de 4 coloane este calculat din setul anterior și utilizat pentru a--a rundă, notat cu . O rundă constă din patru transformări elementare diferite care transformă o stare într-o stare :
Cu alte cuvinte, aceasta nu este altceva decât înmulțirea coloanelor cu matricea din stânga:
Operatia este reversibila:
Runda finală nu conține o operație MC. Formule care leagă stări și :
; ; Algoritm pentru implementarea unui atac integralAtacul integral se bazează pe posibilitatea selectării libere de către atacator a unui anumit set de texte clare pentru criptarea lor ulterioară. Este mai eficientă decât enumerarea exhaustivă pe întreg spațiul cheie.
Introducem definiții.
— un set de 256 de blocuri de intrare (matrice de stat), fiecare dintre ele având octeți (să le numim activi), ale căror valori sunt diferite pentru toate cele 256 de blocuri. Restul octeților (pasivi) rămân aceiași pentru toate cele 256 de blocuri din -set. Adică, pentru oricare, dacă octetul cu indexul (i, j) este activ și altfel .
-trusa. După transformările elementare BS și KA, blocurile -set vor avea ca rezultat un alt -set cu octeți activi în aceleași poziții ca și cel original. Conversia SR va muta acești octeți în funcție de offset-urile specificate în ea. După transformare, o mulțime MC nu va rămâne neapărat o mulțime în cazul general (rezultatul operației poate să nu mai satisfacă definiția unei mulțimi). Deoarece fiecare octet al rezultatului MC este o combinație liniară (cu coeficienți reversibili) a celor patru octeți de intrare ai aceleiași coloane , o coloană cu un singur octet activ în intrare va avea ca rezultat o coloană cu toți cei patru octeți activi în ieșire.
Luați în considerare criptarea -set. Doar un octet va fi activ în toate blocurile. Valoarea acestui octet este diferită în toate cele 256 de blocuri, iar restul octeților sunt la fel. În prima rundă, transformarea MC transformă un octet activ într-o coloană de 4 octeți activi, adică este . În a doua rundă, acești 4 octeți vor intra în 4 coloane diferite ca urmare a transformării SR, este un -set. Transformarea MC a următoarei, a treia runde va transforma acești octeți în 4 coloane care conțin octeții activi. Acest set este încă un set până când intră în intrarea MC din a treia rundă.
Proprietatea principală a unei mulțimi este suma pe biți modulo 2 ( ) a tuturor octeților aflați în aceleași locuri în întreaga mulțime este egală cu zero (suma pe biți a octeților inactivi (cu aceleași valori) este zero prin definiția lui „ ” operație și octeți activi, care parcurg toate cele 256 de valori, de asemenea, cu sumarea pe biți, vor da zero)
Rezultatul conversiei MC în a treia rundă de octeți a matricei de date de intrare în octeți ai matricei de date de ieșire este suma pe biți a tuturor blocurilor din setul de ieșire va fi egală cu zero:
Astfel există . Suma totală a datelor de intrare este zero. Această egalitate este încălcată de transformarea BS ulterioară.
Cheia este specificată în mod unic în reprezentarea R:
Pentru a efectua atacul , este necesar un set format din 256 de stări. Mulțimea poate fi obținută prin aplicarea a 2 transformări inverse SR și MC de la intrarea cifrului .
Schema unui atac integral de bază asupra unui Crypton cu 4 runde:
Pentru toți
pentru
daca ,
apoi
În această schemă, a patra rundă este inversată pas cu pas pentru a obține octeți a căror sumă totală este 0. Când suma
Dacă valoarea așteptată a octetului cheie a fost corectă, atunci va fi inclusă în posibilele opțiuni existente . Cele mai multe dintre valorile octeților răi vor fi eliminate. Datorită faptului că căutarea poate fi efectuată separat (în paralel) pentru fiecare octet al tastei, viteza de selectare a întregii valori a tastei rotunde este foarte mare. Mai departe după valoare , puteți găsi , și apoi și - cheia originală.
Primii pași către schimbarea standardelor de criptare au fost crearea competiției AES. A fost o competiție deschisă susținută de Institutul SUA de Standarde și Tehnologie - NIST (Institutul Național de Standarde și Tehnologie). Câștigătorul acestei competiții urma să fie noul standard de criptare din SUA. La competiție ar putea participa persoane fizice, companii atât din Statele Unite, cât și din afara țării.
Cerințe primare:
Cu toate acestea, în ciuda numărului mic de cerințe pentru algoritmi, au existat multe dorințe:
Rețineți că participanții la concursul AES au avut voie să facă modificări ale algoritmilor în timpul concursului, dacă acestea erau modificări minore. Pentru algoritmul Crypton, la furnizarea unei noi versiuni, juriul a considerat modificările semnificative, deoarece priveau tabelul de înlocuire, procedura de extindere a cheilor. Ca urmare, versiunea Crypton v0.5 a participat la competiție.
Absența dezavantajelor evidente și prezența avantajelor în algoritmul Crypton încă nu i-au permis să ajungă în finala competiției AES. Motivul pentru aceasta a fost participarea la competiția a doi algoritmi: Rijndael și Twofish . Acești algoritmi nu au avut problemele cheie slabe ale algoritmului Crypton. Mai mult, au fost mai rapide decât Crypton pe platformele țintă. S-a decis ca în viitor Crypton să piardă în fața acestor algoritmi în orice caz, așa că experții concursului nu l-au lăsat pe Crypton să treacă în finală. (Rijndael este viitorul câștigător al competiției).
Competiția a implicat versiunea primară a algoritmului, care a primit un indice de 0,5 după ceva timp. După ceva timp, au fost propuse mai multe ediții, cea mai recentă dintre acestea a fost versiunea 1.0 cu un program de chei revizuit și noi tabele de căutare.
Criptosisteme simetrice | |
---|---|
Cifruri în flux | |
Rețeaua Feistel | |
Rețeaua SP | |
Alte |