Was ist ein sicherer Hash-Algorithmus?
Ein sicherer Hash-Algorithmus, auch bekannt unter dem Akronym SHA, ist ein Hash-Algorithmus, der als kryptografisch sicher gilt. Die ursprünglichen Daten, die einmal mit einem sicheren Hash-Algorithmus gehasht wurden, können normalerweise nicht mit einer realisierbaren Menge an Rechenleistung rekonstruiert werden. Sichere Hash-Algorithmen werden häufig in Kombination mit anderen Algorithmen verwendet, um Nachrichten, einschließlich digitaler Signaturen, zu authentifizieren.
Einige Netzwerkrouter und Firewalls implementieren sichere Hash-Algorithmen direkt in ihrer Hardware. Auf diese Weise können Datenpakete mit begrenzten Auswirkungen auf den Durchsatz authentifiziert werden. Es gibt auch eine sichere Hash-Algorithmus-Software, einschließlich vieler Open-Source-Implementierungen. Das US-amerikanische National Institute of Standards and Technology (NIST) und das Canadian Communications Security Establishment (CSE) führen gemeinsam das Cryptographic Module Verification Program (CMVP) durch. Dieses offizielle Programm bestätigt den korrekten Betrieb sicherer Hash-Algorithmus-Implementierungen für sensible Anwendungen.
Die US-Regierung hat mindestens sechs sichere Hash-Algorithmen standardisiert. SHA-0 und SHA-1 waren die frühesten Inkarnationen, die in den 1990er Jahren entwickelt wurden. Die in den 2000er Jahren entwickelte SHA-2-Serie umfasste SHA-224, -256, -384 und -512. Diese sind so konzipiert, dass zwei Dokumente mit unterschiedlichem Inhalt im Allgemeinen zwei eindeutige Sätze von Hashwerten erzeugen, wodurch Hash-Kollisionen vermieden werden.
Der SHA-0-Algorithmus, der erstmals 1993 vom NIST veröffentlicht wurde, wurde schnell eingestellt, nachdem eine signifikante Schwäche festgestellt wurde. Es wurde 1995 durch SHA-1 ersetzt, das einen zusätzlichen Rechenschritt enthält, der die unbekannten Probleme von SHA-0 angeht. Beide Algorithmen haben eine Nachricht von bis zu 2 64 -1 Bit in einem 160-Bit- "Digest". Beide verwenden bei ihrer Operation eine Blockgröße von 512 Bit und eine Wortgröße von 32 Bit.
SHA-1 wird in einigen gängigen Internetprotokollen und Sicherheitstools verwendet. Dazu gehören IPsec, PGP, SSL, S / MIME, SSH und TLS. SHA-1 wird normalerweise auch als Teil des Schutzsystems für nicht klassifizierte Regierungsdokumente verwendet. Der Privatsektor verwendet diesen sicheren Hash-Algorithmus auch für einige vertrauliche Informationen. Es ist geplant, dass es im Jahr 2010 aus dem öffentlichen Dienst genommen wird.
SHA-224, -256, -384 und -512 wurden vom NIST zwischen 2001 und 2004 veröffentlicht. Diese vier Algorithmen, auch als SHA-2-Familie bekannt, sind im Allgemeinen robuster als SHA-1. SHA-224 und SHA-256 verwenden die gleichen Block-, Wort- und maximalen Eingangsnachrichtengrößen wie SHA-1. Im Gegensatz dazu erstellt SHA-224 einen 224-Bit-Digest, während SHA-256 einen 256-Bit-Digest erstellt. SHA-384 und SHA-512 erhöhen die Blockgröße auf 1024 Bit, die Wortgröße auf 64 Bit und die maximale Länge der Eingabenachricht auf 2 128 -1 Bit. Der von SHA-384 erzeugte Digest ist 384 Bit lang, während der SHA-512-Digest 512 Bit enthält.
Wie SHA-0 und SHA-1 wurde auch die SHA-2-Familie von der US National Security Agency (NSA) entworfen. Obwohl schwerwiegende Mängel in SHA-2 nicht öffentlich bekannt gegeben wurden, hat NIST einen Wettbewerb zur Entwicklung des nächsten sicheren Hash-Algorithmus eröffnet. Dieser neue Algorithmus mit der Bezeichnung SHA-3 wird voraussichtlich 2012 aus einer Sammlung öffentlicher Einträge ausgewählt. Es wird erwartet, dass es sich um ein neues Design handelt, das nicht auf den vorhandenen Algorithmen basiert.