Présentation de Skein

Les fonctions de hachage peuvent être considérées comme la principale force de travail de la cryptographie moderne. Créés à l'origine pour améliorer l'efficacité des signatures numériques, ils sont désormais utilisés dans pratiquement toutes les parties de l'infrastructure où les informations sont stockées et échangées. Ils peuvent être trouvés dans des protocoles cryptographiques, en train de travailler avec des clés de cryptage, des connexions Web sécurisées et même de rechercher des logiciels malveillants. Sans les fonctions de hachage, la plupart des choses autour de nous ne fonctionneraient tout simplement pas.





Les fonctions de hachage les plus courantes sont SHA-0, SHA-1 et SHA-2, qui incluent SHA-256 et SHA-512. Mais à la fin de la première décennie du XXIe siècle, des méthodes d'ingénierie de collision ont été présentées pour chacune d'entre elles, qui ont montré la présence de vulnérabilités dans les algorithmes et remis en cause la sécurité d'une signature numérique électronique basée sur ces fonctions de hachage. À cet égard, l'Institut national américain des normes et de la technologie (NIST) a annoncé en 2007 un concours pour une nouvelle norme cryptographique SHA-3.





introduction

ArmĂ©e d'une liste d'exigences incluant la rĂ©sistance aux attaques connues, la minimisation de l'utilisation de la mĂ©moire et l'optimisation des processeurs 64 bits, une Ă©quipe de scientifiques dirigĂ©e par Bruce Schneier, auteur des chiffrements par blocs Twofish et Blowfish, a soumis sa famille de fonctions de hachage variable en 2008 profondeur de bits Skein, qui signifie littĂ©ralement "Ă©cheveau de fil". Malheureusement pour les auteurs, en 2012, l'algorithme Skein a perdu face au Keccak plus rapide et moins vulnĂ©rable lors de la finale SHA-3. 





Il y a trois parties Ă  Skein:





  • chiffrement par bloc symĂ©trique configurable Ă  trois poissons





  • bloc d'itĂ©rations unique (UBI)





  • système d'argument optionnel





Allons dans l'ordre.





Trois poissons

Threefish — , Skein. , , , Blowfish Twofish. Threefish - (sp-), , MIX, , XOR 2 64 . , 4 . tweak-.





Threefish TF(K, T, P),  





K —





T — tweak-





P -





. Threefish 256, 512 1024 . , . : 72 80 256/512- 1024- . Tweak- 128 .





MIX (k1, k2) (g1, g2) , :





g1 = (k1 + k2) mod 264





g2 = (k2 ≪ R) ⊕ g1 , R — ,





UBI

Skein Threefish Unique Block Iteration. UBI . , , . F(S, A, T):





S — Nb





A —





T —





A, , n Nb





F(S, A, T) :





H0=S





Hi+1 = TF(Hi ; T + min(NA; (i+1) Nb) + ai 2126 + bi (B2119+ 2127) ; Ai)Ai





a0=bk-1= 1, ai=bi=0, A 8 B=0, B=1





, . Skein , -.





: , , , . :





  • Configuration —





  • Output —





:





  • Public Key - , ,





  • Message -





  • Nonce -





  • Key - Skein MAC(message authentication code) KDF(key derivation function)





  • Personalization - ,





Skein

, . Skein, -, . UBI-. 3, UBI: , , . S = 0. Skein .





264 , , .





À la fin, je voudrais mentionner les domaines d'application de la fonction de hachage Skein. En utilisant le système d'arguments supplémentaires, il est possible de configurer l'algorithme de calcul des codes d'authentification de message MAC ou HMAC (MAC basé sur le hachage). Skein peut également servir de générateur de nombres aléatoires ou de mécanisme de calcul d'une signature numérique.








All Articles