In der Kryptographie MDC-2 ( Modification Detection Code 2 manchmal auch Meyer-Schilling genannt, [19456501]] standardisiert in ISO 10118-2) ist eine kryptographische Hashfunktion. MDC-2 ist eine Hash-Funktion, die auf einer Blockverschlüsselung mit einem Sicherheitsnachweis im Idealverschlüsselungsmodell basiert. [1] Die Länge des Ausgabehashs hängt von der zugrunde liegenden Blockverschlüsselung ab.
Algorithm [ edit ]
Für eine gegebene Nachricht M "/> an Hash und eine gegebene Blockverschlüsselung function geht der MDC-2-Algorithmus wie folgt vor. sei die Blocklänge, zwei verschiedene Konstanten der Größe . Wenn wobei jeweils "/> hat eine Größe n "/> , dann der Hash der Nachricht ist gegeben durch:
- für bis :
- return
] MDC-2DES-Hashes [ edit ]
Wenn MDC-2 die DES-Blockverschlüsselung verwendet, werden die 128-Bit- (16-Byte-) MDC-2-Hashes typischerweise als 32-stellige dargestellt Hexadezimalzahlen. wird als die 5-Byte-Zeichenfolge 5252525252525252 und wird als 8-Byte-Zeichenfolge 2525252525252525 gewählt (als Hex-Digits geschrieben). Zusätzlich wurde vor jeder Wiederholung das erste Byte A [0] von als (A [0] & 0x9f) ^ 0x20 und das erste Byte B [0] von wird als (A [0] & 0x9f) ^ 0x20 umgerechnet.
Nachfolgend wird ein 43-Byte-ASCII-Eingang (der mit fünf Null-Bytes aufgefüllt ist, so dass seine Länge ein Vielfaches der DES-Blockgröße von 8 Bytes ist) und des entsprechenden MDC-2-Hashwerts veranschaulicht:
MDC2 ("Der schnelle braune Fuchs springt über den Faulen d og")
= 000ed54e093d61679aefbeae05bfe33a
Selbst eine kleine Änderung in der Nachricht führt (mit Wahrscheinlichkeit) zu einem völlig anderen Hash, z. d in c ändern:
MDC2 ("Der schnelle braune Fuchs springt über die Faulenzer c og")
= 775f59f8e51aec29c57ac6ab850d58e8
Der Hash der Zeichenfolge mit der Länge Null lautet:
MDC2 ("")
= 525252525252525225252525252525
Patentausgaben [ edit ]
MDC-2 wurde von US. Patent 4,908,861 veröffentlicht am 13. März 1990, jedoch von IBM am 28. August 1987 eingereicht. Aufgrund von Patentbedenken wurde die Unterstützung für MDC-2 in OpenSSL auf den meisten Linux-Distributionen deaktiviert und wird von vielen anderen kryptographischen Bibliotheken nicht implementiert. Es ist in GPGs libgcrypt implementiert.
Das Patent sollte am 28. August 2007, zwanzig Jahre nach dem Anmeldetag, auslaufen. Sie ist 2002 abgelaufen [2] da IBM die Verlängerungsgebühr nicht entrichtet hat. Das kanadische Patent wurde nicht erneuert und es wurde kein europäisches Patent erteilt, so dass MDC-2 jetzt frei verwendet werden kann.
Siehe auch [ edit ]
Wenn MDC-2 die DES-Blockverschlüsselung verwendet, werden die 128-Bit- (16-Byte-) MDC-2-Hashes typischerweise als 32-stellige dargestellt Hexadezimalzahlen. wird als die 5-Byte-Zeichenfolge 5252525252525252 und wird als 8-Byte-Zeichenfolge 2525252525252525 gewählt (als Hex-Digits geschrieben). Zusätzlich wurde vor jeder Wiederholung das erste Byte A [0] von als (A [0] & 0x9f) ^ 0x20 und das erste Byte B [0] von wird als (A [0] & 0x9f) ^ 0x20 umgerechnet.
Nachfolgend wird ein 43-Byte-ASCII-Eingang (der mit fünf Null-Bytes aufgefüllt ist, so dass seine Länge ein Vielfaches der DES-Blockgröße von 8 Bytes ist) und des entsprechenden MDC-2-Hashwerts veranschaulicht:
MDC2 ("Der schnelle braune Fuchs springt über den Faulen d og")
= 000ed54e093d61679aefbeae05bfe33a
Selbst eine kleine Änderung in der Nachricht führt (mit Wahrscheinlichkeit) zu einem völlig anderen Hash, z. d in c ändern:
MDC2 ("Der schnelle braune Fuchs springt über die Faulenzer c og")
= 775f59f8e51aec29c57ac6ab850d58e8
Der Hash der Zeichenfolge mit der Länge Null lautet:
MDC2 ("")
= 525252525252525225252525252525
Patentausgaben [ edit ]
MDC-2 wurde von US. Patent 4,908,861 veröffentlicht am 13. März 1990, jedoch von IBM am 28. August 1987 eingereicht. Aufgrund von Patentbedenken wurde die Unterstützung für MDC-2 in OpenSSL auf den meisten Linux-Distributionen deaktiviert und wird von vielen anderen kryptographischen Bibliotheken nicht implementiert. Es ist in GPGs libgcrypt implementiert.
Das Patent sollte am 28. August 2007, zwanzig Jahre nach dem Anmeldetag, auslaufen. Sie ist 2002 abgelaufen [2] da IBM die Verlängerungsgebühr nicht entrichtet hat. Das kanadische Patent wurde nicht erneuert und es wurde kein europäisches Patent erteilt, so dass MDC-2 jetzt frei verwendet werden kann.
Không có nhận xét nào:
Đăng nhận xét