Skein

Skein
Skein
EntwicklerBruce Schneier, Stefan Lucks, Niels Ferguson, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas, Jesse Walker
VeröffentlichtOktober 2010 (Version 1.3)
Abgeleitet vonBlockchiffre Threefish
ZertifizierungSHA-3-Finalist
Länge des Hashwertes (Bit)variabel, üblich sind 256 und 512
KonstruktionUnique Block Iteration,
ähnelt HAIFA-Konstruktion
Runden72

Skein (englisch für „Strang“) bezeichnet eine Familie von kryptographischen Hashfunktionen und wurde von Niels Ferguson, Stefan Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas und Jesse Walker entwickelt. Skein war ein Kandidat im Wettbewerb für den zukünftigen Standard SHA-3, in dem er im Dezember 2010 die Runde der Finalisten erreichte.

Aufbau

Speziell für Skein wurde die Konstruktionsmethode Unique Block Iteration (UBI) entwickelt, die die früher übliche Merkle-Damgård-Konstruktion ersetzt. UBI funktioniert ähnlich wie die HAIFA-Konstruktion. Die Nachricht wird erweitert und in Blöcke geteilt, die nacheinander verarbeitet werden. Jeder Nachrichtenblock wird zusammen mit einem Verkettungswert und einigen Verwaltungsdaten, unter anderem einem Zähler für die schon verarbeiteten Nachrichtenbits, in eine Kompressionsfunktion eingegeben, die den nächsten Verkettungswert liefert. Der letzte Verkettungswert wird durch einen weiteren Aufruf der Kompressionsfunktion finalisiert, was den Hashwert ergibt.

Skein verwendet eine Matyas–Meyer–Oseas-Kompressionsfunktion, die auf der Blockverschlüsselung Threefish basiert. Der Nachrichtenblock wird als Klartext und der Verkettungswert mit den Verwaltungsdaten als Schlüssel/Tweak eingegeben. Der nächste Verkettungswert entsteht durch XOR von Klar- und Schlüsseltext. Threefish verschlüsselt in 72 Runden bei einer Blockgröße von 256 oder 512 Bit. Für die Blockgröße 1024 Bit kommen 80 Runden zur Anwendung.

Das Design ist optimiert, um auf 64-Bit-Prozessoren eine hohe Performance zu erreichen. Bei einer Blockgröße von 512 Bit beträgt der Rechenaufwand auf einem Intel Core 2 Duo etwa 6 Zyklen pro Byte.[1]

Schwächen

Auf der zweiten SHA-3-Konferenz zeigten Dmitry Khovratovich, Ivica Nikolié und Christian Rechberger eine mögliche Schwäche in Threefish und der Kompressionsfunktion von Skein.[2] Daraufhin passten die Autoren den Algorithmus geringfügig an.[3]

Weblinks

Einzelnachweise

  1. Ferguson et al.: The Skein Hash Function Family, 1. Oktober 2010, Online (Memento des Originals vom 24. August 2014 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.skein-hash.info (PDF; 479 kB)
  2. http://csrc.nist.gov/groups/ST/hash/sha-3/Round2/Aug2010/documents/papers/RECHBERGER_rot-rebound.pdf
  3. http://www.schneier.com/blog/archives/2010/09/more_skein_news.html

Auf dieser Seite verwendete Medien

Skein-logo.png
Autor/Urheber:

Mary Cooper

, Lizenz: Logo

Logo des Skein-Hashalgorithmus