70 likes | 222 Views
Hashfunktionen SHA-1 (Secure Hash Algorithm). Gängige Hashfunktionen. MD5 128-bit Output Seit 2004 nicht mehr stark kollisionsresistent RIPEMD-160 160-bit Variante von MD-5 SHA-1 (Secure Hash Algorithm) 160-bit Output NIST-Standard. Gängige Hashfunktionen. Gegen Padding-Attacken.
E N D
Gängige Hashfunktionen • MD5 • 128-bit Output • Seit 2004 nicht mehr stark kollisionsresistent • RIPEMD-160 • 160-bit Variante von MD-5 • SHA-1 (Secure Hash Algorithm) • 160-bit Output • NIST-Standard
Gängige Hashfunktionen Gegen Padding-Attacken L x 512 Bits Nachricht 1000…000 Länge padding(1-512 Bits) 64 Bits 512 Bits 512 Bits 512 Bits 512 Bits Y1 Y2 … Yq … YL KSHA KSHA … KSHA … KSHA IV • Kompressionsfunktion • macht 512+160 zu 160 Bits Hashwert 160-bit Buffer initialisiert mit “magic values” 160 Bits
SHA-1 Kompressionsfunktion Buffer Aktueller Buffer (5x32=160 Bits) Yq (512 Bits) Vier Runden a 20 Schritte Eine Runde im Detail + + + + + Addition modulo 232
A A B B C C D D E E Ein Schritt SHA-1(4 Runden a 20 Schritte) + • Funktion in Runde • (BC)(BD) 0..19 • BCD 20..39 • (BC)(BD)(CD) 40..59 • BCD 60..79 ft + zykl. Linksshift um 5 Bits Wt • Block Yq wird in 32-Bit-Blöcke Wt zerlegt • W0..15= 16x32 Bit von Yq • W16..79: Wt=Wt-16Wt-14Wt-8Wt-3 + Kt zykl. Linksshift um 30 Bits Rundenkonstante(je 20 Schritte gleich) +
Eigenschaften • Jedes Outputbit hängt von jedem Inputbit ab • wichtig für Kollisionsresistenz • Urbild in 2160 Versuchen brute-force • Kollision in 280 Versuchen (birthday attack) • Schwächen bei der Kollisionsresistenz zeichnen sich ab • Kollisionen für SHA-1 mit weniger Runden
Birthday Paradox (Geburtstagsparadoxon) • Wie groß ist die Wahrscheinlichkeit, dass von 23 Personen in einem Raum zumindest 2 am selben Tag Geburtstag haben? > 50% • Wie viele Hashwerte muss man berechnen, um mit Wahrscheinlichkeit >50% eine Kollision zu entdecken? • Bei n verschiedenen möglichen Hashwerten: