Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hashing-Algorithmen (German)

Hashing-Algorithmen (German)

Short presentation about hashing algorithms (md5, sha-1), secure hashing, salting and hash tables.

(Designed like http://zachholman.com/posts/slide-design-for-developers/ but with less awesome typography. You can ask me for a Keynote template.)

Pascal Hertleif

January 10, 2012
Tweet

More Decks by Pascal Hertleif

Other Decks in Science

Transcript

  1. Hashing. Pascal Hertleif. 9.1.12 GLIEDERUNG Was machen Hash-Algorithmen? Sicheres Hashing

    • Beispiele: MD5 und SHA-1 • Kollisionssicherheit Hashtabellen 2
  2. Hashing. Pascal Hertleif. 9.1.12 WAS ES MACHT 4 Eingabe (binär)

    Hash-Wert mit fester Länge Verarbeitung durch Algorithmus
  3. Hashing. Pascal Hertleif. 9.1.12 ZIEL: ALGORITHMUS MIT ƒ(x) = ƒ(y)

    㱺 x = y 9 Mathematisch ist das für Hash- Algorithmen Unfug.
  4. Hashing. Pascal Hertleif. 9.1.12 INFORMATIK: Kollisionen vermeiden! k so groß

    wählen, dass »in der Praxis« für jede Eingabe ein einmaliger Hash-Wert entsteht. Lösung & Herausforderung! 10
  5. Hashing. Pascal Hertleif. 9.1.12 Beispiel #2 MD5 message digest v5

    11 1991, RONALD L. RIVEST 128 bit (32 Hex-Zeichen)
  6. Hashing. Pascal Hertleif. 9.1.12 Beispiel #2 MD5 12 md5(“haustier”) =

    38fdc332005a584c6d44606dbc1a5429 md5(“Haustier”) = 44fc474b6932895b665550de30e75d5c
  7. Hashing. Pascal Hertleif. 9.1.12 Beispiel #2 MD5 13 md5 des

    Open Office 3.3 Installer (Mac): 03b6704231b0c76195d0be3c61ffc847
  8. Hashing. Pascal Hertleif. 9.1.12 Beispiel #3 SHA-1 15 sha1(“haustier”) =

    8d4a2c54d25517665a942afb6994b4bb5d12f114 Prüfsumme eines zufälligen Git-Diffs: ef6f41f0eb2c9d539b11006fb0b7442035f9c233
  9. Hashing. Pascal Hertleif. 9.1.12 NICHT KOLLISIONSSICHER MD5 • 2004: Kollisionen

    gefunden von Shandong Universität • heute mit einer Grafikkarte und 30 Minuten Zeit reproduzierbar, vgl. md5cracker.org 17
  10. Hashing. Pascal Hertleif. 9.1.12 NICHT KOLLISIONSSICHER SHA-1 • 2005, ebenfalls

    Shandong Universität: Aufwand, Kollisionen zu finden, bei 263 (statt 280) Berechnungen • Ausschreibung der NSA für SHA-3 18
  11. Hashing. Pascal Hertleif. 9.1.12 SALTING Regenbogen-Tabellen: • Array: Hash-Werte und

    passende Ursprungstexte Salting: • zufälliger Text (Salt) • Speichere: Salt, hash(Passwort+Salt) 20
  12. Hashing. Pascal Hertleif. 9.1.12 HASH TABLES Hashwerte als Tabellen-Index (spezielle

    Hash-Funktion) Schneller Zugriff (im ∅) durch fast direkte Adressierung • Hashwert von gesuchtem Schlüssel = Adresse Zu beachten: Kollisionsbehandlung 22
  13. Hashing. Pascal Hertleif. 9.1.12 AUFBAU 23 Abb. 1, frei nach

    Wiki Commons, 2009, siehe Quellen hash function keys John Smith Lisa Smith Sandra Dee buckets 00 01 521-8976 02 521-1234 03 : : 13 14 521-9655 15
  14. Hashing. Pascal Hertleif. 9.1.12 KOLLISIONSBEHANDLUNG • lineares Sondieren (Doppelung auf

    nächsten Index) • doppeltes Hashen (zweite Hash-Funktion) • Verkettung 24
  15. Hashing. Pascal Hertleif. 9.1.12 VERKETTUNG IM KOLLISIONSFALL 25 Abb. 2,

    frei nach Wiki Commons, 2009, siehe Quellen keys John Smith Lisa Smith Sam Doe Sandra Dee Ted Baker buckets 000 001 002 : : 151 152 153 154 : : 253 254 255 entries Lisa Smith 521-8976 John Smith 521-1234 Sandra Dee 521-9655 Ted Baker 418-4165 Sam Doe 521-5030
  16. Hashing. Pascal Hertleif. 9.1.12 HASHTABELLEN ÜBERBLICK + wenig Speicherverbrauch +

    Avarage Case: O(1) – Worst Case: O(n) (n: Anzahl der Einträge) – Kollisionen, Überfüllung (Entartung) 26
  17. Hashing. Pascal Hertleif. 9.1.12 eigene Beispiele! Quellen PROF. DR. CHRISTIAN

    SCHINDELHAUER: Taschenbuch der Algorithmen. eXamen.press. 2008. T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST: Introduction to Algorithms. The MIT Press. 2001. Abbildungen von Wiki Commons, zu finden auf http:// en.wikipedia.org/wiki/Hash_table, 8.1.12 16:40 28