CRYPTON

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 6 iunie 2015; verificările necesită 27 de modificări .
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.

Structura algoritmului. Caracteristici cheie

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 .)

Criptare

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:

Înlocuire tabel

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
Masa
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
Masa
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
Tabel :
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:

  •  - valoarea curentă a unui anumit octet de date;
  •  - valoarea octetului de date după operație;
Transformare liniară

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:

  •  - operațiune logică pe biți „și”;
  • și  — valoarea liniei i-a a datelor prelucrate înainte și, respectiv, după operație.

Î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 octetului

Această permutare transformă un rând de date într-o coloană în cel mai simplu mod:

Operațiunea

Această 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 .

Decriptare

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.

Procedura de extindere a cheii

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:

  1. în prima etapă, sunt generate opt chei extinse;
  2. în a doua etapă, cheile rotunde sunt calculate din tastele extinse.

Generare extinsă a cheilor

Cheile extinse sunt generate după cum urmează:

  • Dacă cheia de criptare este mai mică de 256 de biți, este umplută cu zerouri de biți până când ajunge la cheia originală de 32 de biți :
  • Cheia K este analizată în secvențe și , primul dintre care conține doar octeți pari ai cheii, al doilea conține doar octeți impari:
  • Peste secvențele și , o rundă de criptare a algoritmului Crypton este efectuată folosind o cheie rotundă constând din zero biți. În consecință , se efectuează transformări de runde impare pentru și transformări de rotunde pare pentru. Secvențele rezultate sunt notate cu și .
  • Se calculează 8 chei extinse:

pentru unde și  sunt secvențe definite prin următoarele formule:

Calcularea tastelor rotunde

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ă:

  • Primele patru taste extinse sunt modificate:

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 .

  • Calculul tastei rotunde folosind taste extinse modificate:

Î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ă.

Securitate

Dezavantajele algoritmului Crypton

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.

Avantajele algoritmului Crypton

Cu toate acestea, potrivit experților de la Institutul NIST , dezavantajele de mai sus nu sunt grave. În plus, algoritmul a avut destule avantaje:

  1. algoritmul este eficient la nivel software și hardware datorită gradului ridicat de paralelism și utilizării unor operații logice ANDS/XORS foarte simple;
  2. algoritmul nu este supus atacurilor asupra timpului de execuție și a consumului de energie;
  3. rezistență bună la atacurile existente;
  4. posibilitatea paralelizării operațiilor în procesul de criptare;
  5. extindere rapidă a cheilor, generare rapidă a cheilor: criptarea listei de chei este mult mai rapidă decât criptarea unui singur bloc, deci este foarte eficientă în aplicațiile care necesită schimbări frecvente ale cheilor (de exemplu, modul hash).
  6. viteză suficient de mare pe toate platformele țintă;
  7. cerințele mici pentru RAM și capacitatea de a extinde cheia din mers fac posibilă utilizarea algoritmului Crypton în carduri inteligente cu resurse minime;
  8. algoritmul acceptă dimensiuni suplimentare ale cheilor dincolo de cele stabilite de concurență (128, 192, 256 biți).

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 .

Atacul integral asupra cifrului Crypton (4 runde)

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 cifrului

Crypton 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:

Unde

Să 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  :

  • Byte substitution - BS (Byte Substitution): aplicarea unei permutări sau
  • Row shift - SR (Shift Rows): deplasare ciclică a octeților conform regulii:
  • Mixarea coloanelor - MC (Mix Columns: fiecare coloană de stare este modificată printr-o transformare liniară

Cu alte cuvinte, aceasta nu este altceva decât înmulțirea coloanelor cu matricea din stânga:

Operatia este reversibila:

  • Adăugarea unei chei rotunde - KA (Key Addition): o cheie rotundă este adăugată la starea curentă.

Runda finală nu conține o operație MC. Formule care leagă stări și :

; ; Algoritm pentru implementarea unui atac integral

Atacul 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 .

 - ck octeți activi.  este mulțimea stărilor de la sfârșitul rundei r.


-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ă.

Concurs AES

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:

  1. 128 de biți - dimensiunea blocului de date criptate.
  2. Trei sau mai multe dimensiuni de cheie trebuie să fie acceptate de algoritm (128, 256, 192 - biții sunt dimensiunile cheilor obligatorii pentru concurs).

Cu toate acestea, în ciuda numărului mic de cerințe pentru algoritmi, au existat multe dorințe:

  1. algoritmul trebuie să fie rezistent la atacurile criptoanalitice cunoscute la momentul competiției;
  2. structura algoritmului trebuie să fie clară, simplă și justificată;
  3. nu trebuie să existe chei slabe și echivalente ;
  4. viteza de criptare a datelor ar trebui să fie mare pe toate platformele hardware potențiale de la 8 la 64 de biți.
  5. structura algoritmului ar trebui să permită paralelizarea operațiilor în sisteme multiprocesor și implementări hardware.
  6. algoritmul trebuie să impună cerințe minime pentru memoria operațională și nevolatilă .
  7. nu ar trebui să existe restricții privind utilizarea algoritmilor.

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).

Versiuni ale algoritmului Crypton

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.

Note

  1. Buharov O.E., Bogolyubov D.P. Sistem de sprijinire a deciziilor de auto-învățare paralelă bazat pe algoritmi genetici și rețele neuronale  (rusă)  // Administrator de sistem. - 2014. - Nr. Emisiune Nr. 9 (142) . Arhivat din original pe 28 ianuarie 2021.

Literatură

  • Chae Hoon Lim. CRYPTON: o nouă specificație și analiză de criptare bloc pe 128 de biți. - 1998. - doi : 10.1.1.52.5771 .
  • Algoritmi de criptare. Director special / Autor: Sergey Petrovich Panasenko / Editura: „BHV-St. Petersburg”, 2009

Link -uri