Merkle-Damgard Transformation

Ähnliche Dokumente
Effizienten MAC-Konstruktion aus der Praxis: NMAC Idee von NMAC:

Sicherer MAC für Nachrichten beliebiger Länge

RSA Full Domain Hash (RSA-FDH) Signaturen

RSA Full Domain Hash (RSA-FDH) Signaturen

Voll homomorpe Verschlüsselung

Kryptographie und Komplexität

Lösung zur Klausur zu Krypographie Sommersemester 2005

Sicherheit von hybrider Verschlüsselung

IT-Sicherheit - Sicherheit vernetzter Systeme -

Sicherheit von ElGamal

Homomorphe Verschlüsselung

MAC Message Authentication Codes

Hash-Algorithmen. Manuel Pöter TU-Wien - e November 2004

Urbild Angriff auf Inkrementelle Hashfunktionen

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

Ein typisches Problem

Die (Un-)Sicherheit von DES

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

Kap. 2: Fail-Stop Unterschriften

Wiederholung: Informationssicherheit Ziele

ElGamal Verschlüsselungsverfahren (1984)

Sichere Hashfunktionen

Prof. Dr. Martin Leischner Netzwerksysteme und TK. Hochschule Bonn-Rhein-Sieg. Modul 5: IPSEC

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Vorlesung Sicherheit

3: Zahlentheorie / Primzahlen

Hashfunktionen. Roman Brunnemann Stephan Müller. 23. November Einleitung Anforderungen Konstruktion Beispiel MD5 MD5 vs.

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Klausur

Message Authentication Codes

Kurze Einführung in kryptographische Grundlagen.

Reaktive Sicherheit. II. Passwörter. Dr. Michael Meier. technische universität dortmund

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

iterative Hashfunktionen

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Die Hashfunktion- Familie SHA und Angriffe darauf

Vorlesung Sicherheit

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Authentikation und digitale Signatur

Einführung in Computer Microsystems

Das Zweikinderproblem

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Übungen zur Vorlesung Systemsicherheit

Kryptographie. ein erprobter Lehrgang. AG-Tagung Informatik, April 2011 Alfred Nussbaumer, LSR für NÖ. LSR für NÖ, 28. April 2011 Alfred Nussbaumer

Übungen zu. Grundlagen der Kryptologie SS Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159

Vorlesung Sicherheit

IT-Sicherheit - Sicherheit vernetzter Systeme -

Sicherheit von PDF-Dateien

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

SSL-Protokoll und Internet-Sicherheit

Beweisbar sichere Verschlüsselung

Netzsicherheit I, WS 2008/2009 Übung 6. Prof. Dr. Jörg Schwenk

FH Schmalkalden Fachbereich Informatik. Kolloquium 21. März 2002

Kryptographie I Symmetrische Kryptographie

Digitale Signaturen. Sven Tabbert

Kryptographie und Fehlertoleranz für Digitale Magazine

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

(ikp = i-key-protocol, i=1,2,3)

Einführung in die Kryptographie ,

Transport Layer Security Nachtrag Angriffe

Kryptographie oder Verschlüsselungstechniken

Praktikum IT-Sicherheit

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

IT-Sicherheit Kapitel 11 SSL/TLS

Authentifikation und digitale Signatur

Denn es geht um ihr Geld:

Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Key Agreement. Diffie-Hellman Schlüsselaustausch. Key Agreement. Authentifizierter Diffie-Hellman Schlüsselaustausch

Grundlagen der Kryptographie

Vorlesung Sicherheit

Nachrichten- Verschlüsselung Mit S/MIME

Pseudozufallsgeneratoren

Das TLS-Protokoll Transport Layer Security Version 1.0 Seminar: Internet Dienste SS Christoph Moll

Hashfunktionen. Soviel Mathematik wie nötig, sowenig wie möglich. Wolfgang Dautermann. Chemnitzer Linuxtage 2010 FH JOANNEUM

9 Schlüsseleinigung, Schlüsselaustausch

IT-Sicherheit: Kryptographie

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

DIE DIGITALE SIGNATUR

Kryptologische Grundlagen

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Kryptografische Verfahren für Nicht-Mathematiker Linux höchstpersönlich.

Digitale Unterschriften mit ElGamal

SSL/TLS und SSL-Zertifikate

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Crypto Cheat Sheet. Steckbrief: Kryptographie. Manu Carus.

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

3 Betriebsarten bei Blockverschlüsselung

Ich bedanke mich bei Florian Böhl, Benny Fuhry, Gunnar Hartung, Jan Holz, Björn Kaidel, Eike Kiltz, Evgheni Kirzner, Jessica Koch, Julia Rohlfing,

Digitale Signaturen. Kapitel 10 p. 178

Kombinatorik von Zahlenfolgen

8 Komplexitätstheorie und Kryptologie

Transkript:

Merkle-Damgard Transformation Ziel: Konstruiere H : {0, 1} {0, 1} l aus h : {0, 1} 2l {0, 1} l. Algorithmus Merkle-Damgard Konstruktion Sei (Gen, h) eine kollisionsresistente Hashfunktion mit h : {0, 1} 2l {0, 1} l. Wir konstruieren (Gen, H) wie folgt. 1 Gen: s Gen(1 n ). 2 H: Bei Eingabe s und x {0, 1} L : Erweitere x mit Nullen, bis die Länge ein Vielfaches von l ist. Schreibe x = x1...x B mit x i {0, 1} l und B = L l. Setze xb+1 = L (binär kodiert). Initialisiere z 0 := 0 l, berechne z i := h s (z i 1 x i ) für i = 1,...,B + 1. Ausgabe des Hashwerts H s (x) := z B+1. Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 126 / 178

Merkle Damgard Konstruktion x 1 x 2 x B+1 = L z 0 = 0 n h s z 1 h s z 2... zb h s H s (x) Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 127 / 178

Sicherheit der Merkle-Damgard Konstruktion Satz Sicherheit der Merkle-Damgard Konstruktion Sei Π h = (Gen, h) kollisionsresistent. Dann ist auch Π H = (Gen, H) kollisionsresistent. Beweis: Sei A ein Angreifer für H s mit Erfolgsws ǫ(n). Wir konstruieren einen Angreifer A für h s. Algorithmus Angreifer A EINGABE: s 1 (x, x ) A(s). Sei x {0, 1} L und x {0, 1} L. Seien x 1...x B und x 1... x C die mit Nullen erweiterte Darstellung von x, x. 2 Falls L L, setze y := z B x B+1 und y := z C x C+1. 3 Sonst sei i maximal mit z i 1 x i z i 1 x i (existiert wegen x x ). Setze y := z i 1 x i und y := z i 1 x i. AUSGABE: (y, y ) mit h s (y) = h s (y ) Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 128 / 178

Sicherheit der Merkle-Damgard Konstruktion Korrektheit: Wir zeigen h s (y) = h s (y ) für y y. Damit folgt negl(n) Ws[HashColl A,Π h (n) = 1] = Ws[HashColl A,ΠH (n) = 1] = ǫ(n). Fall 1: L L Dann gilt x B+1 x B+1 und H s (x) = z B+1 = h s (z B x }{{ B+1 ) = h } s (z C x C+1) = }{{} z C+1 = H s (x ). y y Fall 2: L = L Sei i maximal mit z i 1 x i z i 1 x i. Aus der Maximalität von i folgt z i = z i. Damit gilt z i = h s (z i 1 x }{{} i ) = h s (z i 1 x i) = }{{} z i. y y Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 129 / 178

Hashfunktionen in der Praxis Praktische Hashfunktionen verwenden gewöhnlich kein s. Damit sind sie im theoretischen Sinne nicht kollisionsresistent, da ein trivialer Angriff existiert, der eine Kollision ausgibt. Trotzdem können die besten bekannten Angriffe natürlich Komplexität Ω(2 n 2) besitzen. Fast alle Hashfunktionen verwenden eine Kompressionsfunktion in Kombination mit der Merkle-Damgard Transformation. Als kollisionsresistent in der Praxis gelten derzeit z.b. SHA-2, TIGER, Whirlpool, FORK-256. Als nicht kollisionsresistent gelten: SHA-0, SHA-1, MD4, MD5, RIPEMD, Snefru, HAVAL, PANAMA, SMASH, etc. Kryptanalyse 2004 für SHA-0, SHA-1, MD4, MD5 von Wang et al. Seit 2008 Hash Algorithm Competition für neuen NIST-Standard. Finalisten (Dez 2010): BLAKE, Grøstl, JH, Keccak, Skein. Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 130 / 178

Effizienten MAC-Konstruktion mittels Hashfunktionen Idee von NMAC: Hashe m {0, 1} auf einen Hashwert in {0, 1} n. VerwendeΠ MAC3 für Nachrichten fixer Länge auf dem Hashwert. Wir konstruieren Π MAC3 mittels schlüsselabhängiger Hashfunktion, bei der ein Teil des Hasharguments aus dem Schlüssel besteht. Algorithmus MAC Π MAC3 für Nachrichten fester Länge n Sei (Gen h, h) eine kollisionsresistente Hashfkt h : {0, 1} 2n {0, 1} n. 1 Gen: s Gen h (1 n ), s kann öffentlich sein. Wähle k 1 R {0, 1} n. 2 Mac: Bei Eingabe (s, k 1 ) und m {0, 1} n, berechne t := h s (k 1 m). 3 Vrfy: Bei Eingabe (s, k 1 ) und (m, t) {0, 1} n {0, 1} n, verifiziere t? = h s (k 1 m). Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 131 / 178

NMAC Notation: Sei Hs IV eine Merkle-Damgard Hashfunktion, bei der der Initialisierungsvektor auf den Wert IV gesetzt ist. Algorithmus NMAC (Nested MAC) Sei Π h = (Gen h, h), Π MAC3 = (Gen, Mac, Vrfy ) wie zuvor. Sei (Gen h, H) die Merkle-Damgard Transformation von (Gen h, h). 1 Gen: s Gen h (1 n ). Wähle Schlüssel k 1, k 2 R {0, 1} n. 2 Mac: Bei Eingabe (s, k 1, k 2 ) und m {0, 1} n, berechne t := Mac s,k 1 (H k 2 s (m)) = h s (k 1 H k 2 s (m)). 3 Vrfy: Bei Eingabe (s, k 1, k 2 ) und (m, t) {0, 1} {0, 1} n, { 1 falls t = Mac s,k1,k Ausgabe = 2 (m). 0 sonst Praxis-Variante: Fixiere s, d.h. einzelne Hash-Funktion (z.b. SHA-1). Anmerkung: Wir können auch k 2 = 0 n setzen. Vorteil von Schlüssel k 2 : Sicherheit kann auch unter schwächerer Annahme gezeigt werden. Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 132 / 178

NMAC m 1 m 2 L k 2 h s h s... h s k 1 h s t Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 133 / 178

Sicherheit von NMAC Satz Sicherheit von NMAC Sei Π h = (Gen h, h) kollisionsresistent und sei Π MAC3 sicher. Dann ist auch NMAC sicher. Beweisskizze: Sei A ein Angreifer für NMAC. A stelle Mac( ) Orakelanfragen aus Q = {m 1,..., m q }. Anschließend gebe A gültiges (m, t) aus mit m / Q. Fall 1: Es existiert ein j [q] mit H k 2 s (m) = H k 2 s (m j ). Wegen m m j ist (m, m j ) eine Kollision für H k 2 s. Nach Merkle-Damgard Konstruktion liefert dies Kollision für h s. Fall 2: Es gilt H k 2 s (m) H k 2 s (m i ) für alle i [q]. Sei Q = {H k 2 s (m) m Q}. Es gilt H k 2 s (m) / Q. Damit ist (H k 2 s (m), t) eine gültige Fälschung für Π. Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 134 / 178

HMAC Hash-Based MAC Nachteil von NMAC: Benötigen das Setzen von IV in H. Idee von HMAC: Erzeuge k 1, k 2 durch Vorschalten einer Anwendung von h s. Definieren Konstanten opad, ipad und berechnen k 1 = h s (IV k opad) und k 2 = h s (IV k ipad). Algorithmus HMAC Sei (Gen h, H) wie zuvor. Seien opad, ipad {0, 1} n konstant. 1 Gen: s Gen h (1 n ). Wähle k R {0, 1} n. 2 Mac: Für (s, k) und m {0, 1} berechne Mac s,k (m) = H s (k opad H s (k ipad m)). 3 Vrfy: Für (s, k) und (m, t) {0, 1} {0, 1} n, verifiziere t? = Mac s,k (m). Anmerkung: Mac s,k (m) = H s (k opad H s (k ipad m) ) = Hs k1 (H k 2 s (m)). }{{} Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC k 2 und HMAC mittels Hashfunktionen 135 / 178

HMAC k ipad m 1 L IV h s h s... h s k opad h s IV h s t Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 136 / 178

HMAC ist eine Variante von NMAC Wir berechnen beim HMAC den MAC-Wert H k 1 s (H k 2 s (m)). D.h. die äußere Hashfunktion H k 1 s wird stets auf einen Nachrichtenblock H k 2 s (m) {0, 1} n fester Länge angewendet. Daher ist das Anhängen der Nachrichtenlänge bei H k 1 s unnötig. Entspricht der Berechnung von h k 1 s (H k 2 s (m)), analog zu NMAC. D.h. HMAC ist ein Spezialfall von NMAC, wobei k 1 und k 2 aus k mittels Anwendung von h s abgeleitet werden. Wir definieren den folgenden Pseudozufallsgenerator G(k) = h s (IV k opad) h }{{} s (IV k ipad). }{{} k 1 k 2 Korollar Sicherheit von HMAC mittels Sicherheit von NMAC Sei G ein Pseudozufallsgenerator,(Gen, h) kollisionsresistent und Π MAC3 sicher. Dann ist die HMAC-Konstruktion sicher. Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 137 / 178

Praktische Bedeutung von HMAC Anwendung von HMAC: Vorgestellt 1996 von Bellare, Canetti und Krawczyk. HMAC wird in der Praxis oft in Kombination mit SHA-1 verwendet. HMAC findet Anwendung z.b. in den Protokollen Internet Protocol Security (IPSec) und Transport Layer Security (TLS). Wurde 1998 standardisiert und ist weitverbreitet in der Praxis. HMAC ist im Vergleich zum CBC-MAC deutlich schneller. Krypto I - Vorlesung 11-10.01.2011 Sicherheit Merkle-Damgard, NMAC und HMAC mittels Hashfunktionen 138 / 178