www.wikidata.de-de.nina.az
Eine kryptographische Hashfunktion oder kryptologische Hashfunktion ist eine Hashfunktion Streuwertfunktion die bestimmte Eigenschaften erfullt mit denen sie fur kryptographische Anwendungszwecke geeignet ist Eine Hashfunktion erzeugt effizient aus einem Eingabewert etwa einer Nachricht oder einer Datei einen Ausgabewert fester Lange den Hashwert Fur den kryptographischen Einsatz werden weitere Eigenschaften gefordert eine kryptographische Hashfunktion stellt eine Einwegfunktion dar bietet Kollisionsresistenz und erzeugt einen pseudozufalligen Hashwert Kryptographische Hashfunktionen werden zur Integritatsprufung von Dateien oder Nachrichten eingesetzt Dafur wird die Funktion auf die zu prufende Datei angewendet und mit einem bekannten Hashwert verglichen Weicht der neue Hashwert davon ab wurde die Datei verandert 1 Um zu verhindern dass ein Angreifer sowohl Datei als auch Hashwert verandert kann ein schlusselbasiertes kryptographisches Verfahren eingesetzt werden beispielsweise eine digitale Signatur oder ein Message Authentication Code Weiter dienen kryptographische Hashfunktionen zur sicheren Speicherung von Passwortern Wenn ein System ein eingegebenes Passwort pruft vergleicht es dessen Hashwert mit einem in einer Datenbank gespeicherten Hashwert Stimmen beide Werte uberein ist das Passwort richtig So kann vermieden werden das Passwort im Klartext abzuspeichern Ein Angreifer der Lesezugriff auf die Datenbank hat erlangt somit nicht das Passwort 2 Ausserdem konnen kryptographische Hashfunktionen als Pseudo Zufallszahlengeneratoren und zur Konstruktion von Blockchiffren eingesetzt werden Es gibt viele kryptographische Hashfunktionen Einige davon wie zum Beispiel der MD5 oder SHA 1 gelten nicht mehr als sicher weil sie keine starke Kollisionsresistenz siehe Eigenschaft 6 gewahrleisten Zu den in der Praxis oft verwendeten Funktionen die heute noch als sicher gelten gehoren die Algorithmenfamilien SHA 2 und SHA 3 Inhaltsverzeichnis 1 Eigenschaften 2 Klassifikation und Begriffe 3 Konstruktion 3 1 Merkle Damgard Verfahren 3 1 1 Blockchiffre basierte Kompressionsfunktionen 3 1 2 Kompressionsfunktionen die auf algebraischen Strukturen basieren 3 2 Sponge Verfahren 4 Angriffe 4 1 Black Box Angriffe 4 2 Angriffe auf die Kompressionsfunktion 4 3 Angriffe auf die Blockchiffrierung 5 Ubersicht von Hashfunktionen 6 Siehe auch 7 Literatur 8 Weblinks 9 EinzelnachweiseEigenschaften BearbeitenEine kryptographische Hashfunktion weist folgende Eigenschaften auf 3 4 Beliebige Eingabelange Die Hashfunktion verarbeitet beliebig lange Daten also eine beliebige Folge von Bits oder Bytes Feste Ausgabelange Die Hashfunktion erzeugt einen Hashwert fester Lange beispielsweise 256 Bits Effizienz Die Berechnung des Hashwerts h x y displaystyle h x y nbsp ist effizient fur beliebige Eingaben x displaystyle x nbsp Einwegfunktion auch Urbild Resistenz englisch preimage resistance Es ist praktisch unmoglich zu einem gegebenen Ausgabewert y displaystyle y nbsp einen Eingabewert x displaystyle x nbsp zu finden den die Hashfunktion auf y displaystyle y nbsp abbildet h x y displaystyle h x y nbsp Schwache Kollisionsresistenz englisch weak collision resistance oder auch Zweites Urbild Resistenz englisch second preimage resistance Es ist praktisch unmoglich fur einen gegebenen Eingabewert x displaystyle x nbsp einen davon verschiedenen Eingabewert x displaystyle x nbsp zu finden der denselben Hashwert ergibt h x h x x x displaystyle h x h x x neq x nbsp Starke Kollisionsresistenz englisch strong collision resistance Es ist praktisch unmoglich ein beliebiges Paar von zwei verschiedenen Eingabewerte x displaystyle x nbsp und x displaystyle x nbsp zu finden die denselben Hashwert ergeben Der Unterschied zur schwachen Kollisionsresistenz besteht darin dass hier beide Eingabewerte x displaystyle x nbsp und x displaystyle x nbsp frei gewahlt werden durfen Pseudozufalligkeit Die Ausgabe der Hashfunktion ist zwar deterministisch aber scheinbar zufallig Statistische Tests konnen die Ausgabe der Hashfunktion nicht von einem nicht deterministischen statistisch gleichverteilten Zufallszahlengeneratoren unterscheiden Die ersten drei Eigenschaften sind erforderlich fur die praktische Verwendbarkeit einer Hashfunktion Mathematisch stellt eine Hashfunktion eine Abbildung von einer grossen Definitionsmenge auf eine kleinere Zielmenge dar wodurch die Abbildung nicht injektiv ist Daraus ergibt sich notwendigerweise die Existenz von Kollisionen also Paaren von Eingabewerten die denselben Hashwert ergeben 5 Die Kollisionsresistenz einer kryptographischen Hashfunktion besteht darin dass es nur unter einem unrealistisch hohen Rechenaufwand moglich ist eine solche Kollision zu berechnen Somit ist es zwar theoretisch moglich aber praktisch unrealistisch Die Sicherheit einer kryptographischen Hashfunktion hangt von den letzten vier Eigenschaften ab Die Eigenschaft der Pseudozufalligkeit wird in der Literatur nicht immer explizit genannt ist aber notwendige Voraussetzung fur die Einwegeigenschaft und Kollisionsresistenz sowie fur Anwendungszwecke wie beispielsweise Schlusselableitung 4 Eine weitere mogliche Eigenschaft ist die Resistenz gegen Beinahe Kollisionen englisch near collision resistance Hierbei soll es praktisch unmoglich sein zwei verschiedene Eingabewerte x displaystyle x nbsp und x displaystyle x nbsp zu finden deren Hashwerte h x displaystyle h x nbsp und h x displaystyle h x nbsp sich nur in wenigen Bits unterscheiden Klassifikation und Begriffe BearbeitenHashfunktionen konnen in schlussellose und schlusselabhangige Hashfunktionen eingeteilt werden Eine schlussellose Hashfunktion erhalt nur die Nachricht als Eingabewert wahrend eine schlusselabhangige Hashfunktion neben der Nachricht einen geheimen Schlussel als zweiten Eingabewert erhalt Nach ihrem Einsatzzweck wird eine schlussellose Hashfunktion auch Modification Detection Code und eine schlusselabhangige Hashfunktion Message Authentication Code MAC genannt 5 Zu den MACs zahlen Konstrukte wie HMAC CBC MAC oder UMAC Die schlussellosen Hashfunktionen werden ferner unterteilt in Einweg Hashfunktionen englisch One Way Hash Function kurz OWHF und kollisionsresistente Hashfunktionen englisch Collision Resistant Hash Function kurz CRHF Eine Einweg Hashfunktionen erfullt die Einwegeigenschaft und schwache Kollisionsresistenz wahrend eine kollisionsresistente Hashfunktion zusatzlich die starke Kollisionsresistenz erfullt 5 Der Hashwert wird auch Fingerprint genannt englisch fur Fingerabdruck da er eine Nachricht oder Datei nahezu eindeutig identifiziert Ein anderer Begriff fur den Hashwert ist message digest englisch fur Nachrichten Kurzfassung Konstruktion BearbeitenDie meisten kryptographischen Hashfunktionen teilen die zu hashende Nachricht in Abschnitte gleicher Lange m displaystyle m nbsp die nacheinander in einen Datenblock der Lange n displaystyle n nbsp eingearbeitet werden Die Nachricht wird ggfs auf ein Vielfaches von m displaystyle m nbsp verlangert wobei oft auch eine Kodierung der Lange der Ausgangsnachricht angefugt wird Es gibt eine Verkettungsfunktion die einen Nachrichtenabschnitt und den aktuellen Wert des Datenblocks als Eingabe erhalt und den nachsten Wert des Datenblocks berechnet Manche Hashalgorithmen sehen noch weitere Eingaben in die Verkettungsfunktion vor zum Beispiel die Zahl der bis dahin verarbeiteten Nachrichtenblocke oder bits siehe etwa das HAIFA Verfahren Die Grosse des Datenblocks betragt typischerweise 128 bis 512 Bit teils auch mehr bei SHA 3 z B 1600 Bit Nach Verarbeitung des letzten Nachrichtenabschnitts wird der Hashwert dem Datenblock entnommen teils wird zuvor noch eine Finalisierungsfunktion darauf angewandt Die Verkettungsfunktion ist nach den Prinzipien der Konfusion und der Diffusion entworfen um zu erreichen dass man nicht durch gezielte Konstruktion der eingegebenen Nachrichtenabschnitte zwei verschiedene Nachrichten erzeugen kann die den gleichen Hashwert ergeben Kollisionssicherheit nbsp Die Merkle Damgard Konstruktion erzeugt den Hashwert aus den Nachrichtenblocken durch wiederholte Anwendung der KompressionsfunktionDie meisten Hashfunktionen die vor 2010 entwickelt wurden folgen der Merkle Damgard Konstruktion Im Zuge des SHA 3 Wettbewerbs wurde diese Konstruktion durch verschiedene weitere Methoden erganzt oder modifiziert Merkle Damgard Verfahren Bearbeiten In der Merkle Damgard Konstruktion wird eine Kompressionsfunktion als Verkettungsfunktion genutzt die kollisionssicher ist d h es ist schwer verschiedene Eingaben zu finden die die gleiche Ausgabe liefern Daraus ergibt sich auch die Eigenschaft einer Einwegfunktion d h man kann nur schwer zu einer gegebenen Ausgabe einen passenden Eingabewert finden Die Kompressionsfunktion kann auf verschiedene Arten dargestellt werden oft wird sie aus einer Blockchiffre konstruiert Bei der Merkle Damgard Konstruktion wird die eingegebene Nachricht M displaystyle M nbsp zuerst erweitert und dabei auch eine Kodierung der Nachrichtenlange angefugt Dann wird sie in Blocke M 1 displaystyle M 1 nbsp bis M t displaystyle M t nbsp der Lange m displaystyle m nbsp geteilt Die Kompressionsfunktion f 0 1 m n 0 1 n displaystyle f 0 1 m n rightarrow 0 1 n nbsp erhalt einen Nachrichtenblock und den Verkettungsblock als Eingabe und gibt den nachsten Verkettungsblock aus IV bezeichnet einen konstanten Startwert fur den Verkettungsblock initial value Der Wert des letzten Blocks H t displaystyle H t nbsp ist das Resultat also der Hashwert der Nachricht M displaystyle M nbsp H 0 I V H i f M i H i 1 i 1 2 t h M H t displaystyle begin aligned H 0 amp IV H i amp f left M i H i 1 right qquad i 1 2 dotsc t h left M right amp H t end aligned nbsp Blockchiffre basierte Kompressionsfunktionen Bearbeiten Die Kompressionsfunktion f displaystyle f nbsp wird aus einer Blockverschlusselung E displaystyle E nbsp konstruiert E K x displaystyle E K x nbsp soll die Verschlusselung von x displaystyle x nbsp mit der Blockchiffre E displaystyle E nbsp unter dem Schlussel K displaystyle K nbsp bezeichnen displaystyle oplus nbsp steht fur das bitweise XOR Wie oben sind M i displaystyle M i nbsp die Nachrichtenblocke und H i displaystyle H i nbsp die Werte des Verkettungsblocks Einige verbreitete Kompressionsfunktionen sind Davies Meyer wird unter anderem in MD4 MD5 und SHA verwendet verschlusselt den Verkettungsblock mit dem Nachrichtenabschnitt als Schlussel der Schlusseltext wird dann noch mit dem Verkettungsblock verknupft typisch per XOR H i E M i H i 1 H i 1 displaystyle H i E M i H i 1 oplus H i 1 nbsp Matyas Meyer Oseas verschlusselt umgekehrt den Nachrichtenabschnitt mit dem Verkettungsblock Dabei dient die Funktion g displaystyle g nbsp zur Anpassung der Blockgrossen und ist haufig die Identitat H i E g H i 1 M i M i displaystyle H i E g H i 1 M i oplus M i nbsp Miyaguchi Preneel ist sehr ahnlich wie Matyas Meyer Oseas nur wird auch der Verkettungsblock mit dem Schlusseltext verknupft H i E g H i 1 M i M i H i 1 displaystyle H i E g H i 1 M i oplus M i oplus H i 1 nbsp Hirose nutzt einen Verkettungsblock von der doppelten Breite eines Klar bzw Schlusseltextblocks der Blockchiffre G i H i displaystyle G i H i nbsp bezeichnen je eine Halfte des Verkettungsblocks Hier ist g displaystyle g nbsp eine fixpunktfreie Funktion die simpel gehalten werden kann es genugt z B nur ein Bit zu invertieren displaystyle nbsp bezeichnet die Konkatenation d h das Aneinanderfugen zweier Bitblocke G i E H i 1 M i G i 1 G i 1 displaystyle G i E H i 1 M i G i 1 oplus G i 1 nbsp H i E H i 1 M i g G i 1 g G i 1 displaystyle H i E H i 1 M i g G i 1 oplus g G i 1 nbsp Die Hashfunktion MDC 2 beruht im Wesentlichen auf der zweifachen Anwendung der Matyas Meyer Oseas Konstruktion G L displaystyle G L nbsp bzw G R displaystyle G R nbsp bezeichnen die linke bzw rechte Halfte eines Datenblocks G displaystyle G nbsp und damit ein Viertel eines Verkettungsblocks G i E G i 1 L H i 1 R M i M i displaystyle G i E G i 1 L H i 1 R M i oplus M i nbsp H i E H i 1 L G i 1 R M i M i displaystyle H i E H i 1 L G i 1 R M i oplus M i nbsp Kompressionsfunktionen die auf algebraischen Strukturen basieren Bearbeiten Um die Sicherheit der Kompressionsfunktion auf ein schwieriges Problem reduzieren zu konnen wird deren Operation in entsprechenden algebraischen Strukturen definiert Der Preis fur die beweisbare Sicherheit ist ein Verlust an Geschwindigkeit MASH Modular Arithmetic Secure Hash verwendet einen RSA ahnlichen Modulus n p q displaystyle n pq nbsp mit p displaystyle p nbsp und q displaystyle q nbsp Primzahlen Die Kompressionsfunktion ist im Kern H i M i H i 1 A 2 mod n H i 1 displaystyle H i M i oplus H i 1 lor A 2 bmod n oplus H i 1 nbsp wobei A fur eine Konstante und displaystyle lor nbsp fur bitweises inklusives Oder steht Sponge Verfahren Bearbeiten Sponge Konstruktionen haben grundsatzlich andere Eigenschaften als Merkle Damgard Konstruktionen Der bekannteste Vertreter dieser Klasse ist SHA 3 Angriffe BearbeitenAngriffe gegen Hashfunktionen konnen allgemeiner Art sein und nur von der Bit Lange des Hashwerts abhangen und den Hash Algorithmus als Black Box behandeln Sie konnen sich andererseits gegen die Kompressionsfunktion richten Bei Hashfunktionen die auf einem Block Chiffre basieren kann ein Angriff gegen die zugrundeliegende Block Chiffrierung erfolgen Uberdies sind Angriffe auf die Implementierung des Hash Algorithmus moglich Black Box Angriffe Bearbeiten Black Box Angriffe sind Angriffe auf Hashfunktionen bei denen uber die eigentliche Funktionsweise der Hashfunktion nichts bekannt ist Lediglich die Lange des Hashwerts n displaystyle n nbsp wird als bekannt vorausgesetzt und man nimmt an dass die Hashwerte gleichverteilt sind Raten englisch 2nd preimage Der Angreifer wahlt zufallig eine Nachricht und vergleicht deren Hashwert mit dem einer gegebenen Nachricht Die Erfolgsrate bei diesem Vorgehen liegt bei 2 n displaystyle 2 n nbsp fur einen n displaystyle n nbsp Bit langen Hashwert Kollisionsangriff Der Angreifer erzeugt viele Variationen einer echten Nachricht und viele Variationen einer gefalschten Nachricht Anschliessend vergleicht er die beiden Mengen und sucht nach zwei Nachrichten v e c h t displaystyle v mathrm echt nbsp und v f a l s c h displaystyle v mathrm falsch nbsp die den gleichen Hashwert haben Eine Kollision ist nach 2 n 2 displaystyle 2 frac n 2 nbsp Versuchen zu erwarten Angriffe auf die Kompressionsfunktion Bearbeiten Meet in the Middle Der Angreifer erzeugt Variationen der ersten Halfte einer gefalschten Nachricht und Variationen der zweiten Halfte Er berechnet die Hashwerte vorwarts beim Startwert IV beginnend und ruckwarts vom Hash Resultat aus und versucht eine Kollision am Angriffspunkt zu finden Das heisst er muss die Kompressionsfunktion effizient invertieren konnen gegeben H i 1 displaystyle H i 1 nbsp ein Paar H i M i 1 displaystyle H i M i 1 nbsp finden so dass gilt f H i M i 1 H i 1 displaystyle f H i M i 1 H i 1 nbsp Correcting Block Attack Der Angreifer ersetzt alle Blocke einer Nachricht bis auf einen etwa den ersten Anschliessend legt er diese Variable so fest dass sie im Laufe der Verkettung den gewunschten Gesamt Hashwert liefert Fixed Point Attack Der Angreifer sucht nach einem H i 1 displaystyle H i 1 nbsp und M i displaystyle M i nbsp so dass f M i H i 1 H i 1 displaystyle f M i H i 1 H i 1 nbsp In diesem Fall kann er an diesem Punkt Nachrichtenblocke einfugen ohne den Hashwert zu andern Differenzielle Kryptanalyse Differenzielle Kryptanalyse ist ein Angriff auf Blockchiffriersysteme die auf Hashfunktionen ubertragen werden kann Hierbei werden Eingabedifferenzen und die korrespondierenden Ausgabedifferenzen untersucht Eine Differenz von Null entspricht dann einer Kollision Boomerang Attack Der Boomerang Angriff ist eine Erweiterung der differenziellen Kryptanalyse Er verbindet zwei unabhangige Differentialpfade zu einem Angriff 6 Rebound Attack Die innere Struktur einer Hashfunktion wird als dreiteilig betrachtet mit E E bw E in E iw Die Inboundphase ist ein Meet in the Middle Angriff dem vorwarts wie ruckwarts eine differenzielle Kryptanalyse folgt 7 Herding Hierbei bildet der Angreifer aus zahlreichen Zwischenwerten eine Struktur sog Diamond Structure Von jedem der Zwischenwerte ausgehend kann eine Nachricht erstellt werden die denselben Hashwert H ergibt Bei einer gegebenen Nachricht P preimage sucht der Angreifer einen einzelnen Block der an P angehangt einen der gespeicherten Zwischenwerte in der Struktur ergibt Dann erzeugt der Angreifer eine Folge von Nachrichtenblocken die diesen Zwischenwert mit H verbinden 8 Angriffe auf die Blockchiffrierung Bearbeiten Schwachstellen eines Blockchiffrierverfahrens die solange das Verfahren zur Verschlusselung verwendet wird eigentlich irrelevant sind konnen bedeutende Auswirkungen haben wenn es zur Konstruktion eines Hash Verfahrens herangezogen wird Diese waren z B schwache Schlussel oder eine Komplementareigenschaft Ubersicht von Hashfunktionen BearbeitenSnefru wurde 1990 von Ralph Merkle entworfen Der Kern der Hashfunktion ist ahnlich dem Blockchiffriersystem Khafre Merkle Snefru gilt als unsicher N Hash wurde 1990 bei Nippon Telephone and Telegraph entwickelt Der Algorithmus ahnelt dem Blockchiffriersystem FEAL Nippon T amp T N Hash gilt als unsicher 9 FFT Hash ist eine Hashfunktion auf der Basis der Fast Fourier Transformation Sie wurde von Schnorr 1991 erstmals vorgestellt aber bald geknackt 10 Spater folgte eine zweite Version 11 Sie gilt als unsicher MD4 wurde 1990 von Ronald Rivest entwickelt 12 Sie erzeugt nach drei Runden einen 128 Bit langen Hashwert Zu Beginn wird die Lange der Nachricht auf ein ganzzahliges Vielfaches von 512 Bit gebracht Dazu wird sie mit einer 1 und entsprechend vielen 0 aufgefullt so dass M 448 mod 512 displaystyle M equiv 448 pmod 512 nbsp ist Ihr wird die Lange der ursprunglichen Nachricht in 64 Bit Darstellung angehangt Als Nachstes wird der Puffer initialisiert Die Hauptschleife besteht aus drei Runden mit je 16 Schritten Jede Runde erhalt als Eingabe einen 512 Bit langen Nachrichtenblock und den 128 Bit langen Pufferinhalt Jede Runde benutzt 16 mal eine nichtlineare Rundenfunktion Der ausgegebene Hashwert ist die Konkatenation Verkettung der letzten 32 Bit Worte im Puffer 13 MD4 gilt als unsicher MD5 1991 veroffentlichte Rivest ein verbessertes Hash Verfahren noch bevor eine ernsthafte Schwache von MD4 aufgedeckt wurde Die wesentlichen Veranderungen sind MD5 hat eine vierte Runde Die vierte Runde hat eine neue Rundenfunktion die der zweiten Runde wurde durch eine neue Funktion ersetzt Die additiven Konstanten wurden neu definiert Der erste partielle Angriff auf MD5 von 1993 fand Pseudokollisionen d h es konnen zu einem Nachrichtenblock zwei sich in nur wenigen Bits voneinander unterscheidende Verkettungsvariablen V1 und V2 gefunden werden die denselben Output ergeben 14 Der Angriff hatte allerdings keine schwerwiegenden Konsequenzen Ein neuer effizienter Angriff erfolgte 2005 15 Hierbei suchten die Autoren nach einem Nachrichtenpaar mit je zwei Blocken die nach Verarbeitung des zweiten Blocks eine Kollision erzeugen MD5 gilt als unsicher SHA Das NIST schlug 1993 den Secure Hash Algorithm SHA vor Zwei Jahre spater wurde er durch SHA 1 ersetzt SHA 1 unterscheidet sich von seinem Vorganger nur durch eine zusatzliche 1 Bit Rotation Die Nachricht wird wie bei MD4 aufgefullt Der Puffer wird mit funf Konstanten initialisiert Die Hauptschleife besteht aus vier Runden mit je 20 Schritten 1998 wurde eine differentielle Analyse gegen SHA 0 und SHA 1 durchgefuhrt 16 2002 wurden vom NIST drei weitere Varianten des Algorithmus veroffentlicht die grossere Hashwerte erzeugen Es handelt sich dabei um SHA 256 SHA 384 und SHA 512 wobei die angefugte Zahl jeweils die Lange des Hashwerts in Bit angibt 2004 wurde ein verbesserter Angriff auf SHA 0 beschrieben 17 Hier fanden die Autoren Beinahe Kollisionen sowie Kollisionen fur eine auf 65 Runden reduzierte Version von SHA Ein Jahr spater berichten dieselben Autoren von einem Angriff auf die volle Rundenzahl von SHA 0 mit einer Komplexitat von 251 18 Im selben Jahr gelang ein verbesserter Angriff gegen SHA 0 mit einer Komplexitat von 239 Hash Operationen 19 und gegen SHA 1 mit einer Komplexitat von 269 20 Im Februar 2017 wurde die erste Kollision fur SHA 1 veroffentlicht 21 RIPEMD RIPE MD wurde 1992 im Rahmen des Projekts RACE Integrity Primitives Evaluation RIPE der Europaischen Union entwickelt 1996 wurde die ursprungliche Hashwert Lange von 128 auf 160 Bits erweitert 22 Ausserdem wurden die Varianten RIPEMD 256 und RIPEMD 320 eingefuhrt Die Nachricht wird wie bei MD4 aufgefullt Der Puffer wird mit funf Konstanten initialisiert Die Hauptschleife besteht aus funf Runden mit je 16 Schritten Der Algorithmus lauft in zwei Ausfuhrungen parallel Nach jedem Block werden die beiden Ausgabewerte beider Linien zu den Verkettungsvariablen addiert Im ursprunglichen RIPEMD konnten mit einer Komplexitat von 2 16 displaystyle 2 16 nbsp Kollisionen gefunden werden 23 so dass es nicht verwendet werden sollte HAVAL wurde 1992 vorgestellt und gehort ebenfalls zur MD4 Familie Die Nachrichten werden in 1024 Bit langen Blocken verarbeitet Der Hashwert kann 128 160 192 224 oder 256 Bit lang sein Auch die Rundenzahl kann von drei bis funf variieren Jede Runde besteht aus 16 Schritten 24 2003 konnten fur HAVAL mit drei Runden Kollisionen gefunden werden Der Angriff gelingt gegen alle moglichen Ausgabelangen Die Komplexitat entspricht dabei 229 Rechenschritten der Kompressionsfunktion HAVAL sollte deswegen nicht fur Applikationen verwendet werden die Kollisionsresistenz erfordern 25 Tiger wurde 1996 von Anderson und Biham entwickelt Nachrichtenpadding ist wie bei MD4 d h der Nachricht wird eine 1 plus eine Folge von 0 sowie die Nachrichtenlange als ein 63 Bit Wort angehangt Das Resultat wird in 512 Bit lange Blocke geteilt Der Hashwert enthalt 192 Bits Aus Grunden der Kompatibilitat sind TIGER 128 oder TIGER 160 definiert die die ersten 128 bzw 160 Bits von TIGER 192 verwenden 26 PANAMA ist von Daemen und Clapp und stammt von 1998 27 Es verarbeitet Nachrichtenblocke mit 256 Bit Lange und gibt einen Hashwert mit 256 Bit aus Der Puffer ist ein lineares Schieberegister mit 32 Zustanden mit je acht Worten Einer der Autoren konnte Kollisionen in nur 26 Auswertungen der Update Funktion erzeugen so dass Panama nicht als kollisionsresistent gelten kann 28 Whirlpool wurde von Rijmen und Barreto entworfen Es beruht auf dem Miyaguchi Preneel Schema Die Nachricht wird wie bei MD4 aufgefullt Die aufgefullte Nachricht wird in 512 Bit lange Blocke geteilt Der Hashwert ist 512 Bit lang Whirlpool verwendet als Funktion eine AES Variante in 10 Runden 29 SMASH wurde 2005 von Knudsen entwickelt Nach dem Nachrichtenpadding zu Beginn wird die Nachricht wahlweise in 256 bzw 512 Bit langen Blocken verarbeitet und liefert einen 256 bzw 512 Bit langen Hashwert Die Hauptrunde besteht aus mehreren Runden die H Runden und L Runden genannt werden Drei verschiedene H Runden sind definiert Jede H Runde enthalt eine eigene S Box Substitutionstabelle die an die des Blockchiffrierverfahrens Serpent angelehnt ist In der L Runde werden Links oder Rechtsverschiebungen durchgefuhrt 30 SMASH wurde bald erfolgreich angegriffen und gilt als unsicher 31 FORK 256 wurde beim Cryptographic Hash Workshop von Hong et al vorgestellt 32 Es verarbeitet 512 Bit lange Nachrichtenblocke unterteilt in 16 Worte und liefert einen 256 Bit langen Hashwert Die Hauptschleife besteht aus vier Verzweigungen und acht Schritten je Zweig FORK 256 gilt als unsicher SHA 3 Keccak Das Design Prinzip von SHA 3 unterscheidet sich von den Hash Funktionen der MD Gruppe einschliesslich SHA 2 Es ist eine sog sponge construction Schwamm Konstruktion Die Sponge Construction ist eine iterative Funktion bei der der State Anzahl Bits im internen Zustand grosser ist als das Output Ausgabebits Damit sollen generische Angriffe wie etwa eine Kollision mit Komplexitat unter 2 n 2 displaystyle 2 n 2 nbsp abgewehrt werden BLAKE 2008 von Jean Philippe Aumasson Luca Henzen Willi Meier und Raphael C W Phan entwickelt war einer der Finalisten im SHA 3 Auswahlverfahren Siehe auch BearbeitenSalt Kryptologie Literatur BearbeitenAlfred J Menezes Paul C van Oorschot Scott A Vanstone Handbook of Applied Cryptography CRC Press 1996 S 321 384 Bart Preneel Cryptographic Primitives for Information Authentication State of the Art State of the Art in Applied Cryptography LNCS 1528 Springer Verlag 1998 S 49 104 Douglas R Stinson Cryptography Theory and Practice Chapman amp Hall CRC 2002 S 117 154 Weblinks BearbeitenUbersicht uber Hash Funktionen englisch NIST Ausschreibung englisch Kandidaten der Hashfunktion Ausschreibung englisch Keccak SpezifikationEinzelnachweise Bearbeiten Easttom 2021 S 207 f Easttom 2021 S 208 f William Easttom Modern Cryptography Applied Mathematics for Encryption and Information Security Springer International Publishing Cham 2021 ISBN 978 3 03063114 7 S 206 doi 10 1007 978 3 030 63115 4 a b William Stallings Cryptography and Network Security Pearson Education Limited Essex 2017 ISBN 978 1 292 15858 7 S 349 f a b c Alfred Menezes Paul van Oorschot Scott Vanstone Handbook of Applied Cryptography CRC Press 1996 Kap 9 S 324 uwaterloo ca PDF Antoine Joux Thomas Peyrin Hash Functions and the Amplified Boomerang Attack Advances in Cryptology CRYPTO2007 LNCS4622 Springer Verlag 2007 S 244 263 Florian Mendel Christian Rechberger Martin Schlaffer Soren S Thomsen The Rebound Attack Cryptanalysis of Reduced Whirlpool and Grostl Fast Software Encryption LNCS5665 Springer Verlag 2009 S 260 276 John Kelsey Tadayoshi Kohno Herding Hash Functions and the Nostradamus Attack iacr org PDF Bruce Schneier Angewandte Kryptographie Addison Wesley 1996 S 491 524 Serge Vaudenay FFT Hash is not yet Collision free Advances in Cryptology CRYPTO 92 LNCS 740 Springer Verlag 1993 S 587 593 Claus Peter Schnorr Serge Vaudenay Parallel FFT Hashing Fast Software Encryption LNCS 809 Springer Verlag 1994 S 149 156 Ronald L Rivest The MD4 Message Digest Algorithm Advances in Cryptology CRYPTO 90 LNCS 537 Springer Verlag 1991 S 303 311 William Stallings Cryptography and Network Security Prentice Hall 1999 S 271 297 Bert den Boer Antoon Bosselaers Collisions for the Compression Function of MD5 Advances in Cryptology EUROCRYPT 93 LNCS 765 Springer Verlag 1994 S 293 304 Xiaoyun Wang Hongbo Yu How to Break MD5 and Other Hash Functions Advances in Cryptology EUROCRYPT 2005 LNCS 3496 Springer Verlag 2005 S 19 35 Florent Chabaud Antoine Joux Differential Collisions in SHA 0 Advances in Cryptology CRYPTO 98 LNCS 1462 Springer Verlag 1999 S 56 71 Eli Biham Rafi Chen Near Collisions of SHA 0 Advances in Cryptology CRYPTO 2004 LNCS 3152 Springer Verlag 2005 S 290 305 Eli Biham Rafi Chen et al Collisions of SHA 0 and Reduced SHA 1 Advances in Cryptology EUROCRYPTO 2005 LNCS 3494 Springer Verlag 2005 S 526 541 Xiaoyun Wang Hongbo Yu Yiqun Lisa Yin Efficient Collision Search Attacks on SHA 0 Advances in Cryptology CRYPTO 2005 LNCS 3621 Springer Verlag 2006 S 1 16 Xiaoyun Wang Hongbo Yu Yiqun Lisa Yin Finding Collisions in the Full SHA 1 Advances in Cryptology CRYPTO 2005 LNCS 3621 Springer Verlag 2006 S 17 36 Marc Stevens Elie Bursztein Pierre Karpman Ange Albertini Yarik Markov The first collision for full SHA 1 Hans Dobbertin A Basselaers Bart Preneel RIPEMD 160 A Strengthened Version of RIPEMD Fast Software Encryption LNCS 1039 Springer Verlag 1996 S 71 79 Xiaoyun Wang et al Cryptanalysis of the Hash Functions MD4 and RIPEMD Advances in Cryptology EUROCRYPT 2005 LNCS 3494 Springer Verlag 2005 S 1 18 Yuliang Zheng Josef Pieprzyk Jennifer Seberry HAVAL A one way hashing algorithm with variable length of output AUSCRYPT 92 LNCS 718 Springer Verlag 1993 S 83 104 Bart Van Rompay Alex Biryukov Bart Preneel Joos Vandewalle Cryptanalysis of 3 Pass HAVAL Advances in Cryptology ASIACRYPT 2003 LNCS 2894 Springer Verlag 2003 S 228 245 Tiger A Fast New Hash Function Designed in 1995 Joan Daemen Craig Clapp Fast Hashing and Stream Encryption with PANAMA Fast Software Encryption LNCS 1372 Springer Verlag 1998 S 60 74 Joan Daemen Gilles van Assche Producing Collisions for PANAMA Instantaneously Fast Software Encryption LNCS 4593 Springer Verlag 2007 S 1 18 The WHIRLPOOL Hash Function Memento vom 8 April 2006 im Internet Archive Lars R Knudsen SMASH A Cryptographic Hash Function Fast Software Encryption LNCS 3557 Springer Verlag 2005 S 228 242 Norbert Pramstaller Christian Rechberger Vincent Rijmen Smashing SMASH Cryptology ePrint Archive Report 2005 081 http csrc nist gov groups ST hash first workshop html Abgerufen von https de wikipedia org w index php title Kryptographische Hashfunktion amp oldid 236921344