Wir stellen Skein vor

Hash-Funktionen können als Hauptbeschäftigte der modernen Kryptographie angesehen werden. Ursprünglich entwickelt, um die Effizienz digitaler Signaturen zu verbessern, werden sie heute in fast allen Teilen der Infrastruktur verwendet, in denen Informationen gespeichert und ausgetauscht werden. Sie finden sich in kryptografischen Protokollen, bei der Arbeit mit Verschlüsselungsschlüsseln, bei sicheren Webverbindungen und sogar beim Scannen nach Malware. Ohne Hash-Funktionen würden die meisten Dinge um uns herum einfach nicht funktionieren.





Die häufigsten Hash-Funktionen sind SHA-0, SHA-1 und SHA-2, einschließlich SHA-256 und SHA-512. Am Ende des ersten Jahrzehnts des 21. Jahrhunderts wurden jedoch für jedes von ihnen Methoden der Kollisionstechnik vorgestellt, die das Vorhandensein von Schwachstellen in den Algorithmen zeigten und die Sicherheit einer elektronischen digitalen Signatur auf der Grundlage dieser Hash-Funktionen in Frage stellten. In diesem Zusammenhang hat das US-amerikanische National Institute of Standards and Technology (NIST) 2007 einen Wettbewerb für einen neuen kryptografischen Standard SHA-3 angekündigt.





Einführung

Ausgestattet mit einer Liste von Anforderungen, zu denen die Beständigkeit gegen bekannte Angriffe, die Minimierung der Speichernutzung und die Optimierung für 64-Bit-Prozessoren gehörten, reichte ein Wissenschaftlerteam unter der Leitung von Bruce Schneier, Autor der Blockchiffren Twofish und Blowfish, 2008 seine Familie variabler Hash-Funktionen ein Bittiefe Strang, was wörtlich "Garnstrang" bedeutet. Unglücklicherweise für die Autoren verlor der Skein-Algorithmus 2012 im SHA-3-Finale gegen den schnelleren und weniger verletzlichen Keccak. 





Skein besteht aus drei Teilen:





  • konfigurierbare symmetrische Drei-Fisch-Block-Chiffre





  • eindeutiger Iterationsblock (UBI)





  • optionales Argumentationssystem





Lass uns in Ordnung gehen.





Drei Fische

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





Abschließend möchte ich die Anwendungsbereiche der Skein-Hash-Funktion erwähnen. Mit dem System zusätzlicher Argumente kann der Algorithmus zur Berechnung der MAC- oder HMAC-Nachrichtenauthentifizierungscodes (Hash-basierter MAC) konfiguriert werden. Strang kann auch als Zufallszahlengenerator oder als Mechanismus zur Berechnung einer elektronischen digitalen Signatur dienen.








All Articles