Hash- und Signaturalgorithmen

Die folgenden Algorithmen berechnen Hashes und digitale Signaturen. Jeder dieser Algorithmen wird in den grundlegenden, starken und erweiterten Microsoft-Kryptografieanbietern unterstützt. Interne Details dieser Algorithmen liegen außerhalb des Umfangs dieser Dokumentation. Eine Liste zusätzlicher Quellen finden Sie unter Zusätzliche Dokumentation zur Kryptografie.

Algorithmen Beschreibung
Chiffrenblock-Verkettung (Cipher Block Chaining, CBC) MAC
Einer der von Microsoft-Anbietern implementierten Algorithmen (CALG_MAC) ist ein Blockchiffre-Nachrichtenauthentifizierungscode (MAC). Diese Methode verschlüsselt die Basisdaten mit einer Blockchiffre und verwendet dann den letzten verschlüsselten Block als Hashwert. Der Verschlüsselungsalgorithmus, der zum Erstellen des MAC verwendet wird, ist derjenige, der beim Erstellen des Sitzungsschlüssels angegeben wurde.
HMAC
Ein Algorithmus (CALG_HMAC), der von Microsoft-Anbietern implementiert wird. Dieser Algorithmus verwendet auch einen symmetrischen Schlüssel, um den Hash zu erstellen, ist jedoch komplexer als der einfache MAC-Algorithmus zur Chiffrenblock-Verkettung (CBC). Er kann mit jedem iterierten kryptografischen Hashalgorithmus verwendet werden, z. B. MD5 oder SHA-1. Weitere Informationen finden Sie unter Einen HMAC erstellen .
MD2, MD4 und MD5
Diese Hashingalgorithmen wurden alle von RSA Data Security, Inc. entwickelt. Diese Algorithmen wurden in sequenzieller Reihenfolge entwickelt. Alle drei generieren 128-Bit-Hashwerte. Alle drei weisen bekanntermaßen Schwachstellen auf und sie sollten nur bei Bedarf für Kompatibilitätszwecke verwendet werden. Für neuen Code empfehlen wir die SHA-2-Hashfamilie.
Diese Algorithmen sind gängig und können in jeder Referenz zur Kryptografie ausführlich überprüft werden.
Nachrichtenauthentifizierungscode (MAC)
MAC-Algorithmen ähneln Hashalgorithmen , werden jedoch mithilfe eines symmetrischen (Sitzungs-) Schlüssels berechnet. Der ursprüngliche Sitzungsschlüssel ist erforderlich, um den Hashwert neu zu berechnen. Der neu berechnete Hashwert wird verwendet, um zu verifizieren, dass die Basisdaten nicht geändert wurden. Diese Algorithmen werden manchmal als schlüsselgebundene Hash-Algorithmen bezeichnet. Informationen dazu, welche Microsoft-Anbieter MAC unterstützen, finden Sie unter Microsoft-Kryptografiedienstanbieter.
Secure Hash Algorithm (SHA-1)
Dieser Hashingalgorithmus wurde vom National Institute of Standards and Technology (NIST) und von der National Security Agency (NSA) entwickelt. Dieser Algorithmus wurde für die Verwendung mit DSA (Digital Signature Algorithm) oder DSS (Digital Signature Standard) entwickelt. Dieser Algorithmus generiert einen 160-Bit-Hashwert. SHA-1 weist bekanntermaßen Schwachstellen auf und sollte nur verwendet werden, wenn dies aus Kompaitibilitätsgründen erforderlich ist. Für neuen Code empfehlen wir die SHA-2-Hashfamilie.
Secure Hash Algorithm – 2 (SHA-2)
Dieser Hashingalgorithmus wurde als Nachfolger von SHA-1 vom National Institute of Standards and Technology (NIST) und der National Security Agency (NSA) entwickelt. Er verfügt über vier Varianten – SHA-224, SHA-256, SHA-384 und SHA-512 – die gemäß der Anzahl der Bits in ihren Ausgaben benannt sind. Von diesen werden SHA-256, SHA-384 und SHA-512 im Microsoft AES-Kryptografieanbieter implementiert.
SSL3-Clientautorisierungsalgorithmus
Dieser Algorithmus wird für die SSL3-Clientauthentifizierung verwendet. Im SSL3-Protokoll wird eine Verkettung eines MD5-Hashs und eines SHA-Hashs mit einem privaten RSA-Schlüssel signiert. CryptoAPI 2.0 und die grundlegenden und erweiterten Microsoft-Kryptografieanbieter unterstützen dies mit dem Hashtyp CALG_SSL3_SHAMD5. Weitere Informationen finden Sie unter Erstellen eines CALG_SSL3_SHAMD5-Hash.