Definition SHA (Secure Hash Algorithm)

Was ist SHA (Secure Hash Algorithm)?

| Autor / Redakteur: Stefan Luber / Peter Schmitz

SHA (Secure Hash Algorithm) ist eine kryptographische Hashfunktion zur Ermittlung eines Prüfwerts (Fingerabdruck) digitaler Daten.
SHA (Secure Hash Algorithm) ist eine kryptographische Hashfunktion zur Ermittlung eines Prüfwerts (Fingerabdruck) digitaler Daten. (Bild: gemeinfrei / Pixabay)

Der Secure Hash Algorithm existiert in verschiedenen Versionen und stellt Hashfunktionen zur Ermittlung unverwechselbarer Prüfwerte digitaler Daten zur Verfügung. Mit einem Prüfwert lässt sich die Integrität der Daten sicherstellen. SHA kommt beispielsweise für Signaturverfahren zum Einsatz. Eine wichtige Eigenschaft eines Hahsverfahrens ist die Kollisionssicherheit.

Die Abkürzung SHA steht für Secure Hash Algorithm. Es handelt sich um kryptografische Hashfunktionen, mit denen sich die Integrität digitaler Daten sicherstellen lässt. Oft wird der Secure Hash Algorithm auch als Fingerabdruck für digitale Daten bezeichnet. Mit Hilfe der Hashfunktion kann ein Prüfwert beliebiger digitaler Daten berechnet werden. Der Vergleich der Prüfwerte erzeugter und erhaltener Nachrichten ermöglicht es, Veränderungen oder Manipulationen zu erkennen. Der Secure Hash Algorithm stellt wichtige Grundfunktionen zum Erstellen digitaler Signaturen und digitaler Zertifikate bereit. Darüber hinaus kommt der Algorithmus in zahlreichen Protokollen und Anwendungen wie SSL (Secure Sockets Layer), IPSec (Internet Protocol Security), PGP (Pretty Good Privacy) oder S/MIME (Secure / Multipurpose Internet Mail Extensions) zum Einsatz. Eine wichtige Eigenschaft des Secure Hash Algorithm ist die Kollisionssicherheit. Verschiedene digitale Daten oder Nachrichten sollten niemals den gleichen Prüfwert erzeugen. Entwickelt wurde das Verfahren im Auftrag der Standardisierungsbehörde NIST (National Institute of Standards and Technology) von der National Security Agency (NSA) der USA. Die Vorstellung des Algorithmus erfolgte im Jahr 1991. Die ursprüngliche Version SHA-0 besaß gravierende Schwächen und wurde bereits 1995 durch eine korrigierte Nachfolgeversion SHA-1 abgelöst. Weitere verbesserte Versionen SHA-2 und SHA-3 folgten. Aufgrund erkannter Schwächen in der Version 1 wird heute empfohlen, die Versionen 2 oder 3 zur Bildung von Prüfwerten zu verwenden.

Grundsätzliches zur Hashfunktion

Hashfunktionen bilden eine Art digitalen Fingerabdruck für elektronische Dokumente. Sie erstellen aus beliebig langen Nachrichten einen eindeutigen Prüfwert fester Länge. Die Hashfunktion sollte auf keinen Fall umkehrbar sein und für verschiedene Nachrichten niemals gleiche Prüfwerte liefern (Kollisionssicherheit). Wichtige weitere Anforderungen an Hashfunktionen sind eine effiziente Berechenbarkeit und möglichst kurze Prüfwerte. Zur Berechnung des Prüfwerts kommen unterschiedliche mathematische und kryptografische Verfahren zum Einsatz. Zunächst wird die Nachricht nach einer bestimmten Methode aufgeteilt. Anschließend erfolgt die Bildung des Hashwerts. Eine sehr bekannte kryptografische Hashfunktion ist der Message-Digest Algorithm 5 (MD5). MD5 erzeugt aus beliebigen Nachrichten einen 128 Bit langen Hashwert. MD5 gilt heute allerdings als nicht mehr sicher, da es mit vertretbarem rechnerischen Aufwand möglich ist, aus unterschiedlichen Daten gleiche Hashwerte zu erzeugen. Deshalb kommen in der Regel die neueren Versionen des Secure Hash Algorithm zum Einsatz. Kurz zusammengefasst sind die wichtigsten Eigenschaften der Hashfunktionen folgende:

  • Erzeugen eines Prüfwerts aus Nachrichten beliebiger Länge
  • effiziente Berechnung
  • nicht umkehrbar
  • keine gleichen Hashwerte bei unterschiedlichen Ausgangsdaten (Kollisionssicherheit)
  • möglichst kurze Hashwerte

Die verschiedenen SHA-Versionen

Die Secure Hash Algorithm Version 0 (SHA-0)

Die erste Version des Secure Hash Algorithm wird auch als SHA-0 bezeichnet. Sie bildet aus Daten einer maximalen Länge von circa zwei Exbibyte Hashwerte mit einer Länge von 160 Bit. Im Vergleich zu MD5 mit einer Hashwertlänge von 128 Bit ist der Hashwert mit 160 Bit länger und weniger anfällig gegen Brute-Force-Methoden zur Erzeugung von Kollisionen.

Die initiale Version des Secure Hash Algorithm SHA-0 war aufgrund eines methodischen Fehlers und der daraus entstehenden Sicherheitsmängel schnell hinfällig und erlangte kaum praktische Bedeutung. Bereits 1995 folgte mit der Version SHA-1 eine korrigierte Nachfolgeversion, die die Sicherheitsprobleme behob. Mittlerweile gilt auch SHA-1 als nicht mehr hinreichend sicher. Deshalb erschienen die Versionen SHA-2 und SHA-3. Im Folgenden ein kurzer Überblick über die verschiedenen Secure Hash Algorithm Versionen SHA-1, SHA-2 und SHA-3.

Die Secure Hash Algorithm Version 1 (SHA-1)

SHA-1 ist die korrigierte Version von SHA-0. Korrigiert wurde nur ein relativ kleines Detail des Algorithmus. Das grundsätzliche Verfahren und die Anzahl der zur Prüfwertbildung zu durchlaufenden Runden veränderten sich nicht. Die Erzeugung von Kollisionen ist bei SHA-1 im Vergleich zu SHA-0 mit wesentlich mehr Aufwand verbunden. Seit etwa 2004 gilt SHA-1 ebenfalls als nicht mehr ausreichend sicher. Diese Version ist ebenfalls anfällig gegen Kollisionsangriffe, auch wenn erheblicher rechnerische Aufwand dafür notwendig ist. Trotz der erkannten Schwächen findet SHA-1 in zahlreichen Verfahren und Protokollen noch immer Verwendung. Sicherheitsexperten empfehlen dringend die Verwendung der Hashverfahren SHA-2 oder SHA-3.

Erfolgreiche Kollisionsattacke auf SHA-1 Hashfunktion

SHA-1 hat ausgedient

Erfolgreiche Kollisionsattacke auf SHA-1 Hashfunktion

09.03.17 - Die CW Amsterdam und Google haben zwei PDF-Dokumente mit dem gleichen SHA-1-Hashwert erzeugt. Die Auswirkungen sind weitreichend, wer auf SHA-1 setzt, sollte die Hashfunktion mittelfristig durch einen Nachfolger ersetzen. lesen

Die Secure Hash Algorithm Version 2 (SHA-2)

Die Secure Hash Algorithm Version 2 (SHA-2) unterscheidet sich in mehreren Merkmalen und Funktionen von SHA-1. So sind die Hashwerte nicht mehr 160 Bit, sondern 224, 256, 384 oder 512 Bit lang. Analog zu SHA-2 werden Bezeichnungen wie SHA-224, SHA-256, SHA-384 oder SHA-512 verwendet, die die Längen der Hashwerte benennen. Wie die Vorgängerversion nutzt SHA-2 eine Merkle-Damgård-Konstruktionmit Davies-Meyer-Kompressionsfunktion. Die Schlüssel und Datenworte sind 32 oder 64 Bit lang, die Nachrichtenblöcke 512 oder 1024 Bit. Zur Erzeugung des Hashwerts werden 64 oder 80 Runden mit mehreren unterschiedlichen logischen Funktionen durchlaufen. Heutzutage unterstützen fast alle gängigen Betriebssysteme den Secure Hash Algorithm in der Version 2 (SHA-2).

Die Secure Hash Algorithm Version 3 (SHA-3)

Die für SHA-1 und SHA-2 genutzte Merkle-Damgård-Konstruktion besitzt einige bereits 2004 erkannte Schwächen. Um diese Schwächen zu beseitigen und eine sichere SHA-Hashfunktion zu realisieren, suchte das National Institute of Standards and Technology (NIST) im Rahmen eines Wettbewerbs eine Alternative. Im Jahr 2012 entschied man sich für das von Guido Bertoni, Joan Daemen, Michaël Peeters und Gilles Van Assche entwickelte Keccak. Die Standardisierung von SHA-3 unter Verwendung von Keccak erfolgte schließlich im Jahr 2015. Grundsätzlich ist SHA-3 anders aufgebaut als SHA-2 und SHA-1. Es wurden mehrere Varianten standardisiert. Diese Varianten sind SHA-3-224, SHA-3-256, SHA-3-384 und SHA-3-512. Die letzte Zahl bezeichnet die Länge des Hashwerts. Zusätzlich existieren die Varianten SHAKE128 und SHAKE256. Mit SHAKE128 und SHAKE256 ist die Länge der Hashwerte nicht festgelegt. Die Hashwerte können in unterschiedlicher Länge erzeugt werden.

Erster Standard für Post-Quantum-Signaturen

TU Darmstadt

Erster Standard für Post-Quantum-Signaturen

02.08.18 - Quantencomputer sind schnell und haben Rechenpower ohne Ende. Geht es um die Kalkulation von Klimamodellen oder KI-Anwendungen, ist das eine tolle Sache. Nicht ganz so toll: Die Superrechner können auch zum Knacken der heute weit verbreiteten Public-Key-Krypto-Verfahren genutzt werden. Dem gilt es vorzubauen. lesen

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist ein TLSA-Record?

Definition TLSA-Record

Was ist ein TLSA-Record?

Ein TLSA-Record ist ein Eintrag im Domain Name System, mit dem sich Zertifikate und die Authentizität eines Servers einer bestimmten Domain prüfen lassen. Die Records kommen für DNS-based Authentication of Named Entities (DANE) zum Einsatz und machen die Prüfung eines Zertifikats über eine Zertifizierungsstelle (Certificate Authority) überflüssig. DANE wird für die Kommunikation mit verschlüsselten Webseiten oder den verschlüsselten Austausch von E-Mails genutzt. lesen

Linux-Passwörter und Python

Hacking mit Python, Teil 3

Linux-Passwörter und Python

Wie man mit Python und einem erlangten MD5-Hash das zugehörige Passwort entschlüsselt, haben wir uns in der Theorie schon angesehen. In diesem Beitrag demonstrieren wir zunächst, wie Linux-Distributionen Passwörter in der Praxis speichern und warum MD5 nicht sicher ist. lesen

Sicherheits-Upgrades unter MySQL 8.0 nutzen

Datenbank gegen Missbrauch sichern

Sicherheits-Upgrades unter MySQL 8.0 nutzen

Unbefugte Zugriffe auf Datenbanken sind fast schon an der Tagesordnung. Die meisten Zugriffe werden dabei unwissend von den eigenen Mitarbeitern ausgelöst. Vor allem schlechte Sicherheitskonfigurationen und der Missbrauch von Berechtigungen öffnen Unbefugten Tür und Tor zur Datenbank. Dabei kann der Schutz – zumindest mit MySQL 8.0 – so einfach sein, wenn Admins auf diese sieben Must-Do's achten. lesen

Was ist MD5?

Definition Message-Digest Algorithm 5 (MD5)

Was ist MD5?

Beim Message-Digest Algorithm 5 (MD5) handelt es sich um eine Hashfunktion, die aus einer bestimmten Zeichenkette oder Nachricht einen immer gleichen Hashwert erzeugt. MD5 ist für verschiedene Anwendungen wie die Überprüfung von Download-Dateien oder das Speichern von Passwörtern einsetzbar. lesen

Die Auswahl des richtigen VPN-Dienstes

Kriterien für den Vergleich von VPN-Anbietern

Die Auswahl des richtigen VPN-Dienstes

VPNs sind im Geschäftsumfeld eine der wichtigsten Sicherheitslösungen, die ein mobiler Mitarbeiter nutzen kann. Ein VPN schützt die Online-Verbindungen der mobilen Mitarbeiter, speziell wenn öffentliche WLAN-Hotspots in Hotels, Flughäfen oder Bahnhöfen genutzt werden. Privatanwender können mit einem VPN ebenfalls ihre Online-Verbindung schützen und gleichzeitig ihre Online-Aktivitäten verstecken. lesen

Whitelisting als neue Anti-Malware Strategie?

Mit alter Technik gegen neue Gefahren

Whitelisting als neue Anti-Malware Strategie?

Malware stellt nach wie vor, basierend auf der Menge, die die größte Bedrohung für den PC-Anwender dar. Auch wenn die Anzahl der Computerviren oder Würmer leicht rückläufig ist, Malicious Code, wie Ransomware und Trojaner sind dafür umso aktiver. lesen

eTLS hebelt Forward Secrecy von TLS 1.3 wieder aus

Transportverschlüsselung kontra Industrie

eTLS hebelt Forward Secrecy von TLS 1.3 wieder aus

Mit eTLS hat die ETSI eine Implementierungs­variante von TLS 1.3 entwickelt, welche die vollständige Forward Secrecy des IETF-Standards mit nicht-ephemeralen DH-Schlüsseln unterwandert. eTLS ist also ein vergleichsweise durchsichtiger Versuch einiger Interessengruppen, die Forward Secrecy von TLS 1.3 gleich wieder abzuschaffen. lesen

Erstes TPM für das vernetzte Auto

Infineon Optiga TPM SLI-9670

Erstes TPM für das vernetzte Auto

Vernetzte Fahrzeuge entwickeln sich zunehmend zu rollenden Computern – und brauchen Schutz vor Cyberangriffen. Moderne Trusted Platform Modules sollen die Kommunikation absichern. lesen

Was ist ein Hardware-Sicherheitsmodul (HSM)?

Definition Hardware Security Module / Hardware-Sicherheitsmodul (HSM)

Was ist ein Hardware-Sicherheitsmodul (HSM)?

Ein Hardware-Sicherheitsmodul ist eine eigenständige Hardware-Komponente, die kryptografische Verfahren absichert. Je nach Typ kann das Hardware-Sicherheitsmodul Schlüssel für kryptografische Verfahren erzeugen oder verwalten, Signaturen und Identitäten schützen oder die Übertragung von Daten absichern. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46053503 / Definitionen)