Hash- und Signaturalgorithmen

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

Algorithmen BESCHREIBUNG
CBC-MAC (Cipher Block Chaining)
Einer der von Microsoft-Anbietern implementierten Algorithmen (CALG_MAC) ist ein BlockchiffreMessage Authentication Code (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 der Algorithmus, der beim Erstellen des Sitzungsschlüssels angegeben wurde.
HMAC
Ein Von Microsoft-Anbietern implementierter Algorithmus (CALG_HMAC). Dieser Algorithmus verwendet auch einen symmetrischen Schlüssel , um den Hash zu erstellen, ist aber komplexer als der einfache CBC-MAC-Algorithmus ( Cipher Block Chaining ). Es 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 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 Schwächen auf und sollten nur verwendet werden, wenn dies aus Kompatibilitätsgründen erforderlich ist. Für neuen Code wird die SHA-2-Familie von Hashes empfohlen.
Diese Algorithmen sind bekannt und können in jeder Referenz zur Kryptografie ausführlich überprüft werden.
Nachrichtenauthentifizierungscode (MAC)
MAC-Algorithmen ähneln Hashalgorithmen, werden aber mit einem symmetrischen Schlüssel (Sitzungsschlüssel) berechnet. Der ursprüngliche Sitzungsschlüssel ist erforderlich, um den Hashwert neu zu berechnen. Der neu berechnete Hashwert wird verwendet, um zu überprüfen, ob die Basisdaten nicht geändert wurden. Diese Algorithmen werden manchmal auch 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 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 Schwächen auf und sollte nur verwendet werden, wenn dies aus Kompatibilitätsgründen erforderlich ist. Für neuen Code wird die SHA-2-Familie von Hashes empfohlen.
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. 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 microsoft Base and Enhanced Cryptographic Providers unterstützen dies mit dem Hashtyp CALG_SSL3_SHAMD5. Weitere Informationen finden Sie unter Erstellen eines CALG_SSL3_SHAMD5 Hash.