Upload
trantuyen
View
229
Download
3
Embed Size (px)
Citation preview
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
NIST Hash Function Competitionand the SHA-3 Standard
Julian Fammler, Martin Huemer, Eva Lugstein
Department of Computer SciencesUniversity of Salzburg
June 10, 2013
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
UbersichtAufgabenSonstiges
National Institute of Standards and Technology
I Bundesbehorde der Vereinigten Staaten mit Sitz inGaithersburg (Maryland) und in Boulder (Colorado)
I fruherer Name der Behorde war von 1901 bis 1988 ”TheNational Bureau of Standards” (NBS)
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
UbersichtAufgabenSonstiges
I NIST gehort zur technologischen Administration desHandelsministeriums und ist fur Standardisierungsprozessezustandig.
I Aus diesen ist der Verschlusselungsalgorithmus DES wie auchAES hervorgegangen.
I Weiters werden die Federal Information Processing Standards(FIPS) veroffentlicht, die fur US-Behorden gelten.
I NIST hatte im Jahr 2009 ein Budget von 819 Mio. US-Dollar(plus zus. 610 Mio. US-Dollar aus dem American Recoveryand Reinvestment Act) zur Verfugung. Nach Kurzungenbetrug das Budget 2012 noch 750.8 Mio. US-Dollar. NISTbeschaftigt 2.900 Mitarbeiter.
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
UbersichtAufgabenSonstiges
I Deutsches Pendant:Physikalisch-Technische Bundesanstalt (PTB)
I NIST-F1:Name der institutseigenen Atomuhr, die zur koordiniertenWeltzeit beitragt; theoretische Ungenauigkeit von einerSekunde in 60 Millionen Jahren.
I NIST gab in den 70er Jahren verschiedene Auftrage, wie etwadie Messung der Lichtgeschwindigkeit und die Neudefinitiondes Meters.
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
KollisionenPreimage-AttackePreimage-Attacke: Beispiel
Hashfunktionen
I ”Hashfunktion” stammt vom englischen Verb hash, was sovielwie ”zerhacken” bedeutet.
I Eine Hashfunktion (Streuwertfunktion) ist eine Abbildung, dieeine große Eingabemenge (Schlussel) auf eine kleinereZielmenge (Hashwerte) abbildet.
I Dabei kann die Eingabemenge auch Elemente mitunterschiedlichen Langen enthalten, die Elemente derZielmenge haben dagegen meist eine feste Lange.
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
KollisionenPreimage-AttackePreimage-Attacke: Beispiel
Kollisionen
I Eine Kollision tritt dann auf, wenn zwei verschiedenenEingabedaten derselbe Hashwert zugeordnet wird.
I Die Menge der moglichen Hashwerte ist meist kleiner, als dieder Eingabe, daher sind Kollisionen prinzipiell unvermeidlich.Verfahren zur Kollisionserkennung sind daher sehr wichtig.
I Eine gute Hashfunktion zeichnet sich dadurch aus, dass sie furdie Eingaben, fur die sie entworfen wurde, moglichst wenigeKollisionen erzeugt.
I In der Kryptologie wird gefordert, dass Kollisionen sehr schwerzu finden sind, damit modifizierte Daten nicht zufallig dengleichen Hashwert besitzen, wie das Original.
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
KollisionenPreimage-AttackePreimage-Attacke: Beispiel
Preimage-Attacke
I Urbild-Angriffe sind Angriffe auf eine kryptologischeHashfunktion.
I Ziel ist es, entweder zu einem gegebenen Hash einerunbekannten Nachricht (Erstes-Urbild-Angriff/First-Preimage
Attack),
I oder zu einer gegebenen Nachricht selbst(Zweites-Urbild-Angriff/ Second-Preimage Attack) eine weitereNachricht zu finden, die den gleichen Hash erzeugt.
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
KollisionenPreimage-AttackePreimage-Attacke: Beispiel
Preimage-Attacke: Beispiel
I Der Text eines Vertrags (”Ich bestelle eine Kaffeemaschine fur100 e”) sei mit Hilfe eines Hashes signiert.
I Ein Angreifer kann entweder den Hash der Signatur alleineoder noch zusatzlich den Text des Vertrags kennen. Fur denverwendeten Hash-Algorithmus existiert ein Urbild-Angriff.Im ersten Fall ist nur eine First-Preimage Attack moglich, imzweiten Fall sind es beide Angriffsvarianten. Damit kann derAngreifer nun Texte erzeugen, die den gleichen Hash wie derVertrag besitzen.
I Diese Texte sind im Normalfall keine sinnvolle Nachricht.Deshalb muss der Angreifer solange Texte erzeugen, bis dieseeine sinnvolle Nachricht bilden und fur seinen Angriff tauglichsind (”Ich bestelle 200 Kaffeemaschinen fur je 2000 e”).
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
Secure Hash StandardsGeschichte (MD5, SHA-1)SHA-0SHA-1SHA-2
SHA-3 Vorganger
I MD5: Message Digest Algorithm 5, 1991
I SHA-0: Secure Hash Algorithm 0, 1993
I SHA-1: Secure Hash Algorithm 1, 1995
I SHA-2: Secure Hash Algorithm 2, 2001
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
Secure Hash StandardsGeschichte (MD5, SHA-1)SHA-0SHA-1SHA-2
Secure Hash Standards
Secure Hash Standards spezifizieren Hash-Algorithmen, welche zurUberprufung der Datenintegritat verwendet werden konnen:
I SHA-0 (1993), spater offiziell ersetzt durch SHA-1
I SHA-1 (1995)
I SHA-2 (2001), Varianten: SHA-224/256/384/512
I SHA-3 (2012)
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
Secure Hash StandardsGeschichte (MD5, SHA-1)SHA-0SHA-1SHA-2
I Kryptoanalysie abhangig von Rechenleistung
I Versuch bei Brute-Force Attacken: Minimiere die Anzahl derHash-Durchlaufe
Algorithmus Veroffentlichung erfolgreiche Kollission
MD5 1991 2004SHA-0 1993 2004SHA-1 1995 -SHA-2 2001 -
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
Secure Hash StandardsGeschichte (MD5, SHA-1)SHA-0SHA-1SHA-2
SHA-0
I 1993 als SHA vorgestellt, erst 1995 (nach Veroffentlichungvon SHA-1) in SHA-0 korrigiert
I Unterscheidet sich von SHA-1 nur durch eine Linksrotation(zirkularer Linksshift), welcher dessen Sicherheit stark erhohte
I Hashwert: 160-Bit
I maximale Datenlange: 264 - 1 Bit ≈ 2mio. Terabyte
I Erste Kollision: 1998
I Brute-Force-Durchbruch: 2004 Komplexitat von 280 auf 240
verkleinert
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
Secure Hash StandardsGeschichte (MD5, SHA-1)SHA-0SHA-1SHA-2
SHA-1
I Konstruktionsprinzip des Algorithmus ahnlich wie MD5:I besteht aus 80 DurchlaufenI verwendet 4 logische Funktionen, Wechsel nach 20 DurchlaufenI verwendet 4 konstante 32-Bit wordsI jede Funktion operiert mit 3 32-Bit words x,y,z und erzeugt ein
32-bit word als Output
I Hashwert: 160-Bit
I maximale Datenlange: 264 - 1 Bit ≈ 2 mio Terabyte
I Bis dato nur theoretische Kollissionen gefunden (Komplexitatim Bereich 250 - 260), oder Kollissionen mit starkenEinschrankungen
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
Secure Hash StandardsGeschichte (MD5, SHA-1)SHA-0SHA-1SHA-2
SHA-2
I 4 Varianten veroffentlicht, Unterschied in Lange des Hashes und verwendeterinterner Konstanten
I Algorithmus:I verwendet 6 logische Funktionen (2 wie bei SHA-1, Grundbaustein der 4
Neuen: ROTR und SHR)I SHA-224/256: verwendet 64 konstante 32-Bit words (ersten 32 Bit der
Nachkommastellen der Quadratwurzeln der 64 ersten Primzahlen)I SHA-224/256: verwendet 80 konstante 64-Bit words (ersten 64 Bit der
Nachkommastellen der Quadratwurzeln der 80 ersten Primzahlen)
I Hashwert: 224, 256, 384 od. 512 Bit
I maximale Datenlange (SHA-224/256):264 - 1 Bit ≈ 2mio. Terabyte
I maximale Datenlange (SHA-384/512):2128 - 1 Bit ≈ 3, 8 ∗ 1025 Terabyte
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
MotivationBeurteilungskriterienEinreichungen und AblaufFinalisten
NIST Hash Function Competition
I offener Wettbewerb zur Bestimmung des SHA-3 Algorithmus
I Dauer: 2.11.2007 - 2.10.2012
I System ahnlich dem der Entwicklung von AES
I Evaluierung durch die Offentlichkeit
I Bewertung und Auswahl durch das NIST
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
MotivationBeurteilungskriterienEinreichungen und AblaufFinalisten
I Suche nach SHA-3 wurde initiiert, weil erfolgreiche Angriffeauf SHA-1 und MD5 prinzipiell auch auf deren NachfolgerSHA-2 anwendbar sind
I Vertrauen in Sicherheit von SHA-2 war dadurch angeschlagen
I SHA-3 ist eher Alternative zu, nicht Ersetzung von SHA-2
I signifikante Unterschiede in Funktionsweise undImplementierung des SHA-3 Algorithmus sollten esunwahrscheinlich machen, dass Angriffsmethoden gegenSHA-2 auch gegen SHA-3 wirksam sind
I ”ready when needed”I SHA-3 ist ein Ruckfallplan, um im Fall eines wirksamen
Angriffs gegen SHA-2 sofort eine angemessene Alternative zurHand zu haben
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
MotivationBeurteilungskriterienEinreichungen und AblaufFinalisten
I SicherheitI Kosten und Performance
I CPU EffizienzI Speicheranforderungen
I Algorithmus und ImplementationscharakteristikenI FlexibilitatI Einfachheit und Designverstandlichkeit
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
MotivationBeurteilungskriterienEinreichungen und AblaufFinalisten
I Ankundigung am 2.11.2007
I 51 von 64 Einreichungen werden nach knapp einjahrigerVorbereitungszeit akzeptiert
I nach wiederrum einem Jahr Evaluierungszeit werden am24.7.2009 14 Einreichungen in die zweite Runde aufgenommen
I nach erneuter einjahriger Evaluierungsperiode stehen die 5Finalisten fest
I am 2.10.2012 wird Keccak zum Sieger ernannt
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
MotivationBeurteilungskriterienEinreichungen und AblaufFinalisten
I BLAKEI hohe Sicherheit und Performance, einfaches Design
I GrøstlI solide Performance, sehr ausfuhrliche Kryptanalyse
I JHI solide Sicherheit, gute Performance, innovatives Design
I SkeinI hohe Sicherheit und Geschwindigkeit
I KeccakI hohe Sicherheit, sehr einfaches Design
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
SHA-3: Keccak
I Team wird Ende 2005 zusammengerufen
I Vorganger: Panama, RadioGatun, Gnoblio
I Keccak wird erst kurz vor der NIST Deadline entworfen
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Schwammfunktion
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Funktionsweise
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Funktionsweise: Beispiel
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Aufbau
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Keccak-f
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Sicherheit
I keine bedenkenswerten Sicherheitslucken trotz signifikanterKryptanalyse
I die meisten kryptanalytischen Erfolge gegen Keccak sind reintheoretischer Natur
I Der ”Keccak Crunchy Crypto Collision and Preimage Contest”wurde vor Kurzem um ein Jahr verlangert, da seit Marz 2012keine neuen Schwachstellen gefunden wurden.
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Performance
I durchschnittlich in Softwareanwendungen
I uberragend in Hardware, aufgrund von hoher Parallelisierungim Design (die 5x5 Lanes der Implementierung konnen auf x64Prozessoren jeweils als 64bit Datenwort implementiert werden)
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard
NISTHashfunktionen
SHA-3 VorgangerNIST Hash Function Competition
SHA-3: Keccak
SchwammfunktionFuktionsweiseAufbauSicherheitPerformance
Quellen
I www.nist.gov/
http://www.nist.gov/public_affairs/nandyou.cfm
http://www.nist.gov/itl/csd/ct/hash_competition.cfm
I http://keccak.noekeon.org/
http://keccak.noekeon.org/files.html
http://keccak.noekeon.org/Keccak-reference-3.0.pdf
http://keccak.noekeon.org/Keccak-submission-3.pdf
http://keccak.noekeon.org/Keccak-implementation-3.2.pdf
http://sponge.noekeon.org/CSF-0.1.pdf
I http://www.wikipedia.org/
Julian Fammler, Martin Huemer, Eva Lugstein NIST Hash Function Competition and the SHA-3 Standard