Hash- und Signaturalgorithmen

Die folgenden Algorithmen berechnen Hashes und digitale Signaturen. Jeder dieser Algorithmen wird in den Kryptografieanbietern Microsoft Base, Strong und Enhanced unterstützt. Interne Details dieser Algorithmen gehen über den Rahmen dieser Dokumentation hinaus. Eine Liste der zusätzlichen Quellen finden Sie in der zusätzlichen Dokumentation zur Kryptografie.

Algorithmen Beschreibung
Cipher Block Chaining (CBC) MAC
Einer der von Microsoft-Anbietern implementierten Algorithmen (CALG MAC) ist _ ein Blockchiffren-Nachrichtenauthentifizierungscode (MAC). Diese Methode verschlüsselt die Basisdaten mit einem Blockchiffren und verwendet dann den letzten verschlüsselten Block als Hashwert. Der Verschlüsselungsalgorithmus, der zum Erstellen des MAC verwendet wird, wurde beim Erstellen des Sitzungsschlüssels angegeben.
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 CBC-MAC-Algorithmus (Cipher Block Chaining). Sie kann mit jedem iterierten kryptografischen Hashalgorithmus wie MD5 oder SHA-1 verwendet werden. Weitere Informationen finden Sie unter Erstellen eines HMAC.
MD2, MD4 und MD5
Diese Hashalgorithmen wurden alle von RSA Data Security, Inc. entwickelt. Diese Algorithmen wurden in sequenzieller Reihenfolge entwickelt. Alle drei generieren 128-Bit-Hashwerte. Es ist bekannt, dass alle drei Schwachstellen haben, und sollten nur verwendet werden, wenn dies aus Kompatibilitätsgründen erforderlich ist. Für neuen Code empfehlen wir die SHA-2-Hashfamilie.
Diese Algorithmen sind bekannt und können in jeder Referenz zur Kryptografie ausführlich überprüft werden.
Nachrichtenauthentifizierungscode (MAC)
MAC-Algorithmen ähneln Hashalgorithmen, werden jedoch mithilfe eines symmetrischen Schlüssels (Sitzungsschlüssel) berechnet. Der ursprüngliche Sitzungsschlüssel ist erforderlich, um den Hashwert neu zu kompilen. Der neu berechnete Hashwert wird verwendet, um sicherzustellen, dass die Basisdaten nicht geändert wurden. Diese Algorithmen werden manchmal als Schlüsselhashalgorithmen bezeichnet. Informationen dazu, welche Microsoft-Anbieter MAC unterstützen, finden Sie unter Microsoft Cryptographic Service Providers.
Sicherer Hashalgorithmus (SHA-1)
Dieser Hashalgorithmus wurde vom National Institute of Standards and Technology (NIST) und 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 ist bekannt, dass es Schwachstellen gibt, und sollte nur verwendet werden, wenn dies aus Kompatibilitätsgründen erforderlich ist. Für neuen Code empfehlen wir die SHA-2-Hashfamilie.
Sicherer Hashalgorithmus – 2 (SHA-2)
Dieser Hashalgorithmus wurde als Nachfolger von SHA-1 vom National Institute of Standards and Technology (NIST) und der National Security Agency (NSA) entwickelt. Es verfügt über vier Varianten – SHA-224, SHA-256, SHA-384 und SHA-512 – die entsprechend der Anzahl der Bits in ihren Ausgaben benannt werden. Davon werden SHA-256, SHA-384 und SHA-512 im Microsoft AES Cryptographic Provider 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 Microsoft Base- und Enhanced Cryptographic Providers unterstützen dies mit dem Hashtyp CALG _ SSL3 _ SHAMD5. Weitere Informationen finden Sie unter Creating a CALG _ SSL3 _ SHAMD5 Hash.