Funcție hash de criptare ușoară

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 20 octombrie 2020; verificarea necesită 1 editare .

Funcția hash a criptografiei ușoare  este o funcție hash puternică din punct de vedere criptografic utilizată în criptografia „ușoară” [1] . În prezent, relevanța unor astfel de funcții hash a crescut dramatic datorită posibilității de a le utiliza în multe domenii de activitate (de la RFID la Internetul lucrurilor ) și la intersecția disciplinelor ( Blockchain și IoT ) . Având în vedere specificul utilizării acestor funcții hash, acestea sunt supuse unor cerințe suplimentare . Cele mai multe funcții hash moderne folosesc structura Merkle-Damgor și funcția burete ca bază .

Conceptul de criptografie ușoară

Criptografia ușoară este o secțiune a criptografiei care ia în considerare algoritmi pentru dispozitivele care nu au resurse suficiente pentru a implementa cifrurile existente , funcții hash , semnături electronice etc. [2] Criptografia "ușoară" a devenit extrem de relevantă în prezent datorită răspândirii a paradigmei smart home , unde multe dispozitive de dimensiuni reduse, cu putere de calcul limitată, memorie limitată și consum redus de energie comunică între ele, schimbând informații confidențiale ale chiriașului, pentru a-și îndeplini sarcinile [3] [4] . De asemenea, de interes deosebit sunt algoritmii pentru etichetele RFID [5] . Pentru a preveni atacatorii să folosească informațiile private ale utilizatorului, este necesară dezvoltarea și optimizarea specială a algoritmilor care pot funcționa cu resurse limitate și oferă un nivel adecvat de securitate [4] .

Funcții hash

Aplicație

Pentru ca destinatarul să se asigure că i-a fost trimis un mesaj de la destinatarul real, acesta este trimis împreună cu o semnătură electronică. În practică, nu mesajul este semnat, ci suma hash a acestuia, care poate reduce semnificativ resursele de calcul pentru crearea unei semnături (deoarece suma hash este de obicei cu ordine de mărime mai mică decât cheia) și poate crește puterea criptografică (un atacator). nu va putea afla datele originale doar din hash) [6] . Funcțiile hash sunt utilizate în tehnologia blockchain pentru a determina blocul care va fi adăugat la lanțul general. De exemplu: pentru a adăuga un nou bloc la platforma Bitcoin , trebuie să găsiți o sumă hash SHA-256 mai mică decât un anumit număr țintă. Următorul bloc creat va avea hash-ul precedentului [7] . Mai mult, funcțiile hash, în special funcțiile hash ale criptografiei ușoare, pot fi aplicate la intersecția disciplinelor. De exemplu: sunt folosite în blockchain-ul LSB, care este conceput pentru a fi utilizat în Internetul lucrurilor [8] .

De asemenea, sumele hash sunt folosite la verificarea parolelor. Dacă sistemele de operare ar stoca parole în fișiere, atunci crackerii care folosesc acces neautorizat ar putea avea acces la ele, extragerea hash-ului, la rândul său, nu le-ar oferi nimic [9] .

Cerințe

Cerințele de bază pentru funcțiile hash criptografice ușoare sunt aceleași ca pentru funcțiile hash criptografice obișnuite [10] :

Ținând cont de capacitățile dispozitivelor de calcul pe care vor fi produși algoritmii, precum și de sarcinile care trebuie efectuate, cerințelor de bază se adaugă cerințe speciale:

Atacurile asupra funcțiilor hash

  1. Atacul de „zile de naștere”  - folosit pentru a căuta o coliziune de al doilea fel , exploatează paradoxul zilelor de naștere . Pentru un atac de succes, numărul de apeluri de funcție hash ar trebui să fie de aproximativ , iar pentru calculatoarele cuantice [12]
  2. Atacul cub - eficient  pentru atacurile asupra funcțiilor hash și cifrurilor care folosesc LFSR [13]
  3. Atacul liniar ( în engleză  Criptanaliză liniară ) - conceput pentru funcții hash folosind cifruri bloc și flux [14]
  4. Atacuri diferențiale ( în engleză  Criptanalysis diferențial ) - eficient pentru funcții hash cu cifruri bloc [15]
  5. Atacul bumerang  este un atac diferenţial avansat care a fost aplicat cu succes funcţiilor hash [16] . Deci, de exemplu, pentru a găsi coliziuni SHA-0 folosind acest atac, a durat doar o oră pe un computer obișnuit [17]
  6. Atacul de lungire a mesajelor  - folosit pentru funcții hash bazate pe structura Merkle-Damgor [18] . Esența atacului este adăugarea de noi biți la sfârșitul mesajului. Caracteristicile vulnerabile includ: MD5 și SHA-1 [19] [20]
  7. Atacul multi-coliziune al lui Zhu [21]  vizează funcțiile hash care folosesc funcția burete ca bază , care este comună printre funcțiile de criptografie ușoare.
  8. Atac de rebound  - conceput pentru algoritmi asemănător AES [22]
  9. Criptanaliza  rotațională -creată pentru a sparge funcții hash bazate pe ARX ( comparație modulo - deplasare de biți - XOR ) [23]

Tipuri de hashes

Merkle - Damgor

Ideea principală

Să presupunem că ni se dă un vector de inițializare : (fix și deschis), o funcție de compresie care se mapează la și un mesaj , unde un bloc de biți, dacă nu un multiplu de , atunci adăugăm ultimul bloc cu 1 și zerouri [18] . De exemplu: dacă

,

apoi alimentam blocul ca intrare:

,

unde se adaugă unul pentru a evita coliziunile. Acum putem defini funcția hash :

Algoritm îmbunătățit

Pentru a îmbunătăți protecția împotriva atacurilor bazate pe extinderea mesajului de intrare, puteți adăuga un nou bloc, care va înregistra lungimea mesajului [18] . In acest caz va fi:

Există, de asemenea, o optimizare care vă permite să economisiți resurse de memorie (ceea ce este important pentru sarcinile de criptare ușoare): dacă există suficient spațiu în ultimul bloc pentru a înregistra lungimea mesajului, atunci acesta va fi scris acolo:

Funcția burete

Funcția sponge este utilizată pe scară largă în criptografie, este folosită pentru a crea algoritmi pentru PRNG [24] , stream și block ciphers și funcții hash [25] .

Ideea principală

Buretele de dimensiune poate fi împărțit în 2 părți: rata de biți și puterea . La inițializare, starea internă a buretelui este resetată la zero; mesajul este umplut cu zerouri astfel încât mărimea lui să fie un multiplu de .

Următorii sunt pașii:

  1. Absorbţie
    • Primii biți ai stării interne sunt înlocuiți cu rezultatul operației XOR a acestor biți și cu următorul bloc al mesajului original
    • Starea internă este gestionată de funcția de permutare
  1. Strângerea
    • Se citesc primii biți din starea internă a buretelui
    • Starea internă este gestionată de funcția de permutare [24] [25]
P-burete și T-burete

P(permutarea)-burete și T(transformațional)-burete sunt bureți care folosesc permutarea aleatorie și, respectiv, PRNG, pentru a-și actualiza starea internă. În articolul în care au fost introduse funcțiile burete, s-a arătat că bureții cu putere , rată de biți și vector de dimensiune , care primesc mesaje de lungime , sunt de așa natură încât pentru diferite atacuri, în medie, este necesar următorul număr de apeluri de funcție de actualizare. (se dau puteri a doi): [26] :

Burete Primul prototip Al doilea prototip coliziune Găsirea unui ciclu
T-burete
P-burete
JH Sponge

Buretele JH este numit astfel deoarece este similar ca structură cu funcția hash JH .

Etapa ei de absorbție constă din trei părți:

  1. Primii biți ai stării interne sunt înlocuiți cu rezultatul operației XOR a acestor biți și cu următorul bloc al mesajului original
  2. Starea internă este gestionată de funcția de permutare
  3. Ultimii biți ai stării interne sunt înlocuiți cu rezultatul operației XOR a acestor biți și cu următorul bloc al mesajului original [27]

Exemple de funcții hash în criptografia ușoară

GLUON

GLUON este o funcție hash care utilizează un burete T bazat pe codurile de flux X-FCSR-v2 și F-FCSR-H-v3 [28] bazate pe software : starea internă a buretelui este căptușită și încărcată în FCSR , care este sincronizat într-un interval de timp fix. Apoi unele celule FCSR sunt adăugate modulo 2 pentru a forma primul cuvânt al următoarei stări interne, FCSR este sincronizat, aceleași cuvinte sunt adăugate modulo 2 pentru a forma al doilea cuvânt al următoarei stări interne și așa mai departe.

Funcția are o putere criptografică ridicată. De exemplu: atacul preimagine are în general complexitate , unde  este dimensiunea matricei (care definește FCSR ) și este dimensiunea cuvântului alimentat FCSR.

O caracteristică a implementării GLUON este că datele din FCSR sunt scrise nu secvențial, ci în paralel, ceea ce crește semnificativ viteza de execuție. De asemenea, sumatorul (elementul care efectuează adăugarea ) , care este utilizat în FCSR , a fost optimizat după cum urmează :

Funcția de actualizare a lui GLUON-64 este multivalorică, iar comportamentul său este foarte diferit de cel al PRNG .

QUARK

QUARK este o funcție hash care utilizează un burete P cu o permutare orientată pe hardware. A fost implementat sub influența cifrurilor bloc ușoare KTANTAN [30] și KATAN [30] și a cifrului de flux orientat pe hardware Grain [31] . Cea mai mică versiune (hash de 136 de biți) se numește U-QUARK, cea medie (176 de biți) D-QUARK și cea mai lungă (256 de biți) S-QUARK.

Funcția de actualizare mapează vectorul la , încărcând fiecare jumătate într-un NFSR ( registru de deplasare cu feedback neliniar ) separat de lungime și apoi iterează peste acesta . NFSR-urile sunt legate între ele și cu LFSR-urile de lungime mică . Funcțiile și sunt funcții booleene alese datorită neliniarității și complexității algebrice . și sunt aceleași pentru toate versiunile și sunt împrumutate din Grain-v1, dar sunt determinate de la caz la caz.  

Specificul implementării QUARK este că nu conține valori intermediare ale funcției burete, care necesită elemente suplimentare pentru a le stoca. Cu alte cuvinte, după permutarea valorilor de stare, valorile nu sunt scrise în următoarea stare, ci sunt imediat introduse în funcția de permutare, primii biți XOR sunt trimiși cu mesajul [32] .

Are o putere criptografică ridicată. Datele privind rezistența la diferite atacuri sunt date mai jos [32] :

Dificultatea de a găsi un atac de succes:
Ciocniri Primul prototip Al doilea prototip

Această funcție hash are o implementare disponibilă public scrisă în C .

SipHash-2-4

SipHash are o structură ARX care a fost influențată de BLAKE și Skein . Acesta oferă o familie de mapări în sine și este destinat să fie utilizat ca MAC sau în tabele hash. Are o structură similară cu JH ca SPN-Hash și folosește umplutură care ține cont și de lungimea mesajului. Cu toate acestea, constă pur și simplu în adăugarea unui octet cu o lungime a mesajului modulo 256. SipHash nu pretinde că este rezistent la coliziuni și, evident, nu din cauza dimensiunii mici a sumei hash.

O caracteristică distinctivă a SipHash este că mesajele sunt „ xorate ”, nu ca în funcția obișnuită de burete, ci conform unui algoritm special:

  • Primul mesaj este xorxat cu ultimul sfert de burete
  • Buretele este procesat de două funcții de permutare
  • Primul mesaj este xed din nou, dar cu primul sfert de burete, în timp ce al doilea mesaj cu ultimul.
  • Buretele este procesat de două funcții de permutare
  • Al doilea mesaj este xed cu primul sfert de burete, iar al treilea sfert este xed cu 0xFF

În ciuda faptului că SipHash se bazează pe ARX, acesta nu este vulnerabil la un atac rotațional [33] .

Există materiale despre utilizarea SipHash pe github în domeniul public.

FOTOGRAFIE

PHOTON este un burete P bazat pe o permutare asemănătoare AES [34] . Pentru cea mai scăzută setare de securitate (PHOTON-80/20/16), rata de biți în timpul absorbției este de 20 și este de 16 în timpul stoarcerii. Permutarea constă din 12 iterații (pentru fiecare parametru de securitate) ale secvenței de transformări descrise mai jos, efectuate pe un pătrat de celule de 4 biți (8 biți pentru cea mai mare versiune). Transportorul PHOTON este format din 4 etape:

  1. Constante suplimentare (AddConstants)  - constantele suplimentare sunt alese pentru a fi diferite la fiecare iterație și astfel încât să nu existe simetrie între coloane, ca în arhitecturile similare AES (fără acest strat, un mesaj de intrare cu coloane egale va păstra această calitate după orice număr de iterații). Constante suplimentare pot fi generate de registrul de deplasare cu feedback liniar. Pentru performanțe ridicate, este implicată doar prima coloană a stării interne. După ce constantele au fost generate, acestea sunt adăugate modulo 2 la fiecare celulă.
  2. Substituție celulară (SubCells)  - Blocul S este aplicat pe fiecare celulă. Dacă celula are o lungime de 4 biți, atunci se folosește PRESENT Sbox SBOXPRE, dacă 8 biți - AES Sbox SBOXAES.
  3. Row shift (ShiftRows)  - identic cu AES.
  4. MixColumnsSerial  - Celulele sunt tratate ca Galois (sau pentru cel mai înalt parametru de securitate) și fiecare coloană este înmulțită cu o matrice MDS special concepută pentru implementare eficientă în hardware [35] .

Date criptografice:

Dificultatea de a găsi un atac de succes:
Ciocniri Primul prototip Al doilea prototip

Metoda de permutare folosită pentru a actualiza buretele este apropiată de cifrul LED [36] , care a fost dezvoltat ulterior de creatorii PHOTON.

SPONGENT

SPONGENT poate fi considerat ca un P-burete, unde permutarea este o versiune modificată a cifrului bloc PREZENT.

Numărul de iterații ale unei permutări asemănătoare PRESENT variază de la 45 pentru SPONGENT-88 la 140 pentru SPONGENT-256. Fiecare iterație constă din:

  1. Adăugarea Modulului 2 a conținutului LFSR sincronizat la fiecare iterație (poate fi considerată constantă pe iterație)
  2. Aplicarea unei S-box la un strat O 4×4 S-box care satisface aceleași criterii ca și o S-box PRESENT
  3. Schimbarea biților într-un mod similar cu PRESENT [37]

Din câte se știe, nu există niciun atac asupra SPONGENT, cu excepția rezolutoarelor liniare pentru versiunile cu iterație redusă [38] .

Codul SPONGENT în asamblator și C este în domeniul public.

SPN Hash

Principalul interes al SPN-Hash constă în apărarea sa dovedibilă împotriva atacurilor de coliziune diferențială. Acesta este un burete JH care utilizează, după cum sugerează și numele, o permutare bazată pe SPN . Structura SPN se bazează pe structura AES [34] : în primul rând, 8×8 S-box-uri sunt aplicate fiecărui octet intern de stare. S-box-ul folosit este exact același cu cel folosit în AES. Se aplică apoi un strat de amestecare mai complex; Punctele forte ale acestui hashing sunt difuzia bună și ușurința. În cele din urmă, constantele la fiecare iterație sunt scrise în starea internă (prin disjuncție strictă), similar cu LED și PHOTON. Aceste operațiuni se repetă de 10 ori pentru toate setările de securitate.

Indentația folosită este aceeași ca și în Merkle-Damgor amplificat: lungimea mesajului este adăugată la ultimul bloc [39] .

DM-PRESENT

DM-PRESENT este pur și simplu o schemă Merkle-Damgor în care funcția de compresie este cifrul bloc PREZENT în modul Davis-Meyer. DM-PRESENT-80 se bazează pe PRESENT-80 și DM-PRESENT-128 se bazează pe PRESENT-128. Această funcție hash este vulnerabilă la coliziuni și nu este rezistentă la recuperarea a doua preimagine, astfel de funcții hash vor fi utile doar în aplicațiile care necesită rezistență la recuperarea primei imagini și protecție pe 64 de biți [40] .

ARMADILLO

ARMADILLO este o primitivă multifuncțională concepută pentru utilizare ca FIL-MAC (Anexa I), pentru hashing și semnături digitale (Anexa II) și pentru PRNG și PRF (Anexa III). A fost spart de Naya Placencia și Peirin [41] . Ei au găsit o modalitate de a detecta rapid coliziunile atunci când sunt folosite ca funcție hash (câteva secunde pe un computer normal) [42] .

Vezi și

Literatură

  1. Poschmann, Axel York. Criptografia ușoară: inginerie criptografică pentru o lume omniprezentă . — Europ. Univ.-Verl, 2009. ISBN 978-3-89966-341-9 , 3-89966-341-1.
  2. 1 2 Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Raport despre criptografie ușoară . - Gaithersburg, MD: Institutul Național de Standarde și Tehnologie, 2017-03.
  3. Megha Agrawal, Jianying Zhou, Donghoon Chang. Un sondaj privind criptarea ușoară autentificată și provocările pentru securizarea IoT industrial  // Tendințe de securitate și confidențialitate în Internetul industrial al obiectelor. - Cham: Springer International Publishing, 2019. - pp. 71–94 . - ISBN 978-3-030-12329-1 , 978-3-030-12330-7 .
  4. 1 2 Susha Surendran, Amira Nassef, Babak D. Beheshti. Un studiu asupra algoritmilor criptografici pentru dispozitive IoT  // 2018 IEEE Long Island Systems, Applications and Technology Conference (LISAT). — IEEE, 2018-05. - ISBN 978-1-5386-5029-5 . - doi : 10.1109/lisat.2018.8378034 .
  5. Damith C. Ranasinghe. Criptografie ușoară pentru RFID cu costuri reduse  // Sisteme RFID în rețea și criptografie ușoară. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2008. — p. 311–346 . - ISBN 978-3-540-71640-2 , 978-3-540-71641-9 .
  6. F. Lefebvre, J. Czyz, B. Macq. Un algoritm soft hash robust pentru semnătură digitală a imaginilor  // Proceedings 2003 International Conference on Image Processing (Cat. No.03CH37429). — IEEE. — ISBN 0-7803-7750-8 . - doi : 10.1109/icip.2003.1246725 .
  7. Guy Zyskind, Oz Nathan, Alex „Sandy” Pentland. Descentralizarea confidențialității: utilizarea blockchain pentru a proteja datele personale  // 2015 IEEE Security and Privacy Workshops. — IEEE, 2015-05. — ISBN 978-1-4799-9933-0 . - doi : 10.1109/spw.2015.27 .
  8. Ali Dorri, Salil S. Kanhere, Raja Jurdak, Praveen Gauravaram. LSB: Un blockchain ușor scalabil pentru securitate și anonimat IoT  // Journal of Parallel and Distributed Computing. — 2019-12. - T. 134 . — S. 180–197 . — ISSN 0743-7315 . - doi : 10.1016/j.jpdc.2019.08.005 .
  9. Mohammad Peyravian, Nevenko Zunic. Metode pentru protejarea transmiterii parolelor  // Calculatoare și securitate. — 2000-07. - T. 19 , nr. 5 . — S. 466–469 . — ISSN 0167-4048 . - doi : 10.1016/s0167-4048(00)05032-x .
  10. Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Raport despre criptografie ușoară . - Gaithersburg, MD: Institutul Național de Standarde și Tehnologie, 2017-03.
  11. Schneier, Bruce, 1963-autor. Criptografia aplicată: protocoale, algoritmi și cod sursă în C . - ISBN 978-1-119-43902-8 , 1-119-43902-7.
  12. Gilles Brassard, Peter HØyer, Alain Tapp. Criptanaliza cuantică a funcțiilor fără hash și gheare  // LATIN'98: Informatică teoretică. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1998. — p. 163–169 . - ISBN 978-3-540-64275-6 , 978-3-540-69715-2 .
  13. Lathrop, Joel. Atacurile cuburilor asupra funcțiilor hash criptografice .
  14. Joan Daeman. [ https://pdfs.semanticscholar.org/5259/be9f357a368f356008af5749594aada2e479.pdf Strategii de proiectare a funcției de cifrare și hash bazate pe criptoanaliza liniară și diferențială]. - 1995. - 267 p.
  15. Bart Preneel, René Govaerts, Joos Vandewalle. Funcții hash bazate pe cifruri bloc: o abordare sintetică  // Advances in Cryptology - CRYPTO' 93. - Berlin, Heidelberg: Springer Berlin Heidelberg. — S. 368–378 . - ISBN 978-3-540-57766-9 .
  16. Antoine Joux, Thomas Peyrin. Funcțiile hash și atacul bumerangului (amplificat)  // Progrese în criptologie - CRYPTO 2007. - Berlin, Heidelberg: Springer Berlin Heidelberg. — S. 244–263 . — ISBN 978-3-540-74142-8 .
  17. Stephane Manuel, Thomas Peyrin. Coliziuni pe SHA-0 într-o oră  // Criptare rapidă a software-ului. — Berlin, Heidelberg: Springer Berlin Heidelberg. — S. 16–35 . - ISBN 978-3-540-71038-7 , 978-3-540-71039-4 .
  18. 1 2 3 Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, Prashant Puniya. Merkle-Damgård Revisited: How to Construct a Hash Function  // Advances in Cryptology - CRYPTO 2005. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2005. - pp. 430–448 . - ISBN 978-3-540-28114-6 , 978-3-540-31870-5 .
  19. Narayana D. Kashyap. Un atac semnificativ MD5 Hash Collision . — Biblioteca Universității de Stat din San Jose.
  20. Funcția Hash Davies-Meyer  // SpringerReference. — Berlin/Heidelberg: Springer-Verlag.
  21. Mohammad A. AlAhmad, Imad Fakhri Alshaikhli, Mridul Nandi. Joux multicolisions attack in sponge construction  // Proceedings of the 6th International Conference on Security of Information and Networks - SIN '13. - New York, New York, SUA: ACM Press, 2013. - ISBN 978-1-4503-2498-4 . - doi : 10.1145/2523514.2523551 .
  22. Krystian Matusiewicz, María Naya-Plasencia, Ivica Nikolić, Yu Sasaki, Martin Schlaffer. Rebound Attack on the Full Lane Compression Function  // Advances in Cryptology - ASIACRYPT 2009. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. - pp. 106–125 . - ISBN 978-3-642-10365-0 , 978-3-642-10366-7 .
  23. Dmitri Hovratovici, Ivica Nikolić. Criptanaliză rotațională a ARX  // Criptare rapidă a software-ului. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. — p. 333–346 . - ISBN 978-3-642-13857-7 , 978-3-642-13858-4 .
  24. 12 R.O. _ Gilbert. Evaluarea a patru generatoare de numere pseudoaleatoare . - Oficiul de Informaţii Ştiinţifice şi Tehnice (OSTI), 1973-05-01.
  25. 1 2 Bertoni, Guido, Joan Daemen, Michaël Peeters și Gilles Van Assche. Funcții de burete. (2007). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.8103&rep=rep1&type=pdf
  26. Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche. Generatoare de numere pseudo-aleatoare bazate pe burete  // Hardware criptografic și sisteme încorporate, CHES 2010. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. - P. 33–47 . - ISBN 978-3-642-15030-2 , 978-3-642-15031-9 .
  27. Hongjun Wu. Funcția Hash JH  //  Institutul pentru Cercetare Infocomm, Singapore. - 2011. - 1 ianuarie. — P. 54 .
  28. Franc̨ois Arnault, Thierry Berger, Cédric Lauradoux, Marine Minier, Benjamin Pousse. O nouă abordare pentru FCSR -uri  // Zonele selectate în criptografie. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. — p. 433–448 . — ISBN 9783642054433 , 9783642054457 .
  29. Thierry P. Berger, Joffrey D'Hayer, Kevin Marquet, Marine Minier, Gaël Thomas. The GLUON Family: A Lightweight Hash Function Family Based on FCSRs  // Progress in Cryptology - AFRICACRYPT 2012. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. - P. 306–323 . - ISBN 978-3-642-31409-4 , 978-3-642-31410-0 .
  30. 1 2 Christophe De Cannière, Orr Dunkelman, Miroslav Knežević. KATAN și KTANTAN - O familie de cifruri bloc mici și eficiente orientate pe hardware  // Note de curs în informatică. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2009. — p. 272–288 . — ISBN 9783642041372 , 9783642041389 .
  31. Martin Hell, Thomas Johansson, Alexander Maximov, Willi Meier. O propunere de stream Cipher: Grain-128  // 2006 IEEE International Symposium on Information Theory. — IEEE, 2006-07. — ISBN 142440505X , 1424405041 . - doi : 10.1109/isit.2006.261549 .
  32. 1 2 Jean-Philippe Aumasson, Luca Henzen, Willi Meier, María Naya-Plasencia. Quark: A Lightweight Hash  // Journal of Cryptology. — 10.05.2012. - T. 26 , nr. 2 . — S. 313–339 . - ISSN 1432-1378 0933-2790, 1432-1378 . - doi : 10.1007/s00145-012-9125-6 .
  33. Jean-Philippe Aumasson, Daniel J. Bernstein. SipHash: un PRF rapid cu introducere scurtă  // Note de curs în informatică. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — p. 489–508 . - ISBN 978-3-642-34930-0 , 978-3-642-34931-7 .
  34. 1 2 Joan Daemen, Vincent Rijmen. Rijndael/AES  // Enciclopedia Criptografiei și Securității. — Springer SUA. — S. 520–524 . — ISBN 9780387234731 .
  35. Jian Guo, Thomas Peyrin, Axel Poschmann. The PHOTON Family of Lightweight Hash Functions  // Advances in Cryptology - CRYPTO 2011. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. - pp. 222–239 . — ISBN 9783642227912 , 9783642227929 .
  36. Jian Guo, Thomas Peyrin, Axel Poschmann, Matt Robshaw. The LED Block Cipher  // Cryptographic Hardware and Embedded Systems - CHES 2011. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. - pp. 326–341 . — ISBN 9783642239502 , 9783642239519 .
  37. Andrey Bogdanov, Miroslav Knežević, Gregor Leander, Deniz Toz, Kerem Varıcı. spongent: A Lightweight Hash Function  // Cryptographic Hardware and Embedded Systems - CHES 2011. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. - pp. 312–325 . - ISBN 978-3-642-23950-2 , 978-3-642-23951-9 .
  38. Mohammed Ahmed Abdelraheem. Estimarea probabilităților de aproximări diferențiale și liniare cu greutate redusă pe cifruri asemănătoare prezentului  // Note de curs în informatică. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2013. — p. 368–382 . — ISBN 9783642376818 , 9783642376825 .
  39. Jiali Choy, Huihui Yap, Khoongming Khoo, Jian Guo, Thomas Peyrin. SPN-Hash: Improving the Provable Resistance against Differential Collision Attacks  // Progress in Cryptology - AFRICACRYPT 2012. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. - P. 270–286 . - ISBN 978-3-642-31409-4 , 978-3-642-31410-0 .
  40. Informații despre teza de doctorat la Facultatea de Inginerie Civilă și la Facultatea de Inginerie Mecanică a Universității de Tehnologie din Wroclaw  // Arhivele de Inginerie Civilă și Mecanică. — 2008-01. - T. 8 , nr. 2 . — S. 181–183 . — ISSN 1644-9665 . - doi : 10.1016/s1644-9665(12)60205-2 .
  41. Maria Naya-Plasencia, Thomas Peyrin. Criptanaliză practică a ARMADILLO2  // Criptare rapidă a software-ului. — Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. — p. 146–162 . — ISBN 9783642340468 , 9783642340475 .
  42. Stéphane Badel, Nilay Dağtekin, Jorge Nakahara, Khaled Ouafi, Nicolas Reffé. ARMADILLO: A Multi-purpose Cryptographic Primitive Dedicated to Hardware  // Cryptographic Hardware and Embedded Systems, CHES 2010. - Berlin, Heidelberg: Springer Berlin Heidelberg, 2010. - pp. 398–412 . — ISBN 9783642150302 , 9783642150319 .