SHA1

Aus NeoWiki

Wechseln zu: Navigation, Suche

Artikel basiert auf SHA1 aus der freien Enzyklopädie Wikipedia und steht unter der GNU FDL-Lizenz. In der Wikipedia ist eine Liste der Autoren verfügbar.


Sicherer Hash-Algorithmus - Secure Hash Algorithm


SHA bezeichnet eine Gruppe standardisierter kryptographischer Hash-Funktionen. Diese dienen zur Berechnung eines eindeutigen Prüfwerts für beliebige elektronische Daten. Meist handelt es sich dabei um Nachrichten. Es gilt als praktisch unmöglich, zwei verschiedene Nachrichten, auch Kollisionen genannt, mit dem gleichen SHA-Wert zu finden.

Aufbau einer Runde von SHA-1
vergrößern
Aufbau einer Runde von SHA-1

Das NIST (National Institute of Standards and Technology) entwickelte zusammen mit der NSA (National Security Agency) eine zum Signieren gedachte sichere Hash-Funktion als Bestandteil des Digital Signature Algorithms (DSA) für den Digital Signature Standard (DSS). Die Funktion wurde 1994 veröffentlicht. Diese als Secure Hash Standard (SHS) bezeichnete Norm spezifiziert den sicheren Hash-Algorithmus (SHA) mit einem Hashwert von 160 Bit Länge für beliebige digitale Daten bzw. Nachrichten. Die Begrenzung auf Daten mit maximal 264 − 1 Bit hat keine praktische Relevanz (264 = 18.446.744.073.709.551.616). Der Algorithmus ähnelt im Aufbau dem von Ronald L. Rivest entwickelten MD4. Der SHA wurde wegen eines „Designfehlers“ 1995 korrigiert. Diese neue und die ursprüngliche Variante sind heute als SHA-1 und SHA-0 bekannt. Sie unterscheiden sich nur in einem kleinen Detail (Linksshift), nicht jedoch in der Anzahl der durchlaufenen Runden oder sonstiger Maßnahmen, die unmittelbar eine wesentlich höhere Sicherheit erwarten lassen. Die Kryptoanalyse bestätigt jedoch, dass der Linksshift die Berechnung von Kollisionen offenbar erheblich erschwert.

Prinzipiell wurde von den gleichen Entwurfszielen wie beim MD4 ausgegangen. Mit seinem längeren Hashwert von 160 Bit ist SHA aber widerstandsfähiger gegen Brute-Force-Angriffe zum Auffinden von Kollisionen. Weshalb die Linksshiftoperation einen „Designfehler“ im 1993 veröffentlichten Algorithmus korrigiert, wurde vom NIST nicht erläutert. Der heute gebräuchliche, 1995 veröffentlichte SHA-1 Algorithmus unterscheidet sich jedoch nur in diesem Detail.

Erweiterungen

Das NIST hat im August 2002 drei weitere Varianten des Algorithmus veröffentlicht, die größere Hashwerte erzeugen. Es handelt sich dabei um den SHA-256, SHA-384 und SHA-512 wobei die angefügte Zahl jeweils die Länge des Hashwerts (in Bit) angibt. Mit SHA-384 und SHA-512 können (theoretisch) Daten bis zu einer Größe von 2128 Bit verarbeitet werden. In der Praxis sind Dateien mit mehr als 264 Bit jedoch unrealistisch. Im Februar 2004 wurde eine weitere Version, SHA-224, veröffentlicht.

Die Algorithmen SHA-1 und SHA-256 sind auch die Basis für die Blockverschlüsselung SHACAL.

Schwächen

Am 15. Februar 2005 meldete der Kryptographieexperte Bruce Schneier in seinem Blog, dass die Wissenschaftler Xiaoyun Wang, Yiqun Lisa Yin und Hongbo Yu an der Shandong University in China erfolgreich SHA-1 gebrochen hätten. Ihnen sei es gelungen, den Aufwand zur Kollisionsberechnung von 280 auf 269 zu verringern. 269 Berechnungen könnten eventuell mit Hochleistungsrechnern durchgeführt werden. Kollisionen wurden aber bis heute nicht veröffentlicht.

Kurze Zeit später, am 17. August 2005, wurde von Xiaoyun Wang, Andrew Yao und Frances Yao auf der Konferenz CRYPTO 2005 ein weiterer, effizienterer Kollisionsangriff auf SHA-1 vorgestellt, welcher den Berechnungsaufwand auf 263 reduziert.

Falls tatsächlich Kollisionen berechnet werden könnten, bliebe es aber fraglich, ob diese von Crackern ausgenutzt werden könnten. Dies wäre bei der elektronischen Signatur denkbar. Ein Angriffsszenario setzt jedoch voraus, dass der Angreifer eine zweite sinnvolle Variante eines Dokuments erzeugen kann, die den gleichen SHA-Wert und damit auch die gleiche Signatur ergibt. Er könnte dann behaupten, diese zweite Variante wäre signiert worden.


Weblinks

Persönliche Werkzeuge