Delen via


Hash- en handtekeningalgoritmen

De volgende algoritmen berekenen hashes en digitale handtekeningen. Elk van deze algoritmen wordt ondersteund in de Microsoft Base-, Strong- en Enhanced Cryptographic Providers. Interne details van deze algoritmen vallen buiten het bereik van deze documentatie. Raadpleeg Aanvullende documentatie over cryptografievoor een lijst met aanvullende bronnen.

Algoritmen Beschrijving
Cipher Block Chaining (CBC) MAC
Een van de algoritmen (CALG_MAC) die door Microsoft-providers zijn geïmplementeerd, is een blokcoderingMessage Authentication Code (MAC). Deze methode versleutelt de basisgegevens met een blokcodering en gebruikt vervolgens het laatste versleutelde blok als de hash- waarde. Het versleutelingsalgoritmen dat wordt gebruikt om de MAC te bouwen, is het algoritme dat is opgegeven toen de sessiesleutel werd gemaakt.
HMAC
Een algoritme (CALG_HMAC) geïmplementeerd door Microsoft-providers. Dit algoritme maakt ook gebruik van een symmetrische sleutel om de hash-te maken, maar is complexer dan het eenvoudige CBC-ALGORITME (Cipher Block Chaining CBC). Het kan worden gebruikt met elk cursief cryptografisch hash-algoritme, zoals MD5 of SHA-1. Zie Een HMAC-maken voor meer informatie.
MD2, MD4 en MD5
Deze hash-algoritmen zijn allemaal ontwikkeld door RSA Data Security, Inc. Deze algoritmen zijn in opeenvolgende volgorde ontwikkeld. Alle drie genereren 128-bits hashwaarden. Alle drie zijn bekend dat ze zwakke punten hebben en mogen alleen worden gebruikt indien nodig voor compatibiliteitsdoeleinden. Voor nieuwe code raden we de SHA-2-serie hashes aan.
Deze algoritmen zijn bekend en kunnen uitgebreid worden bekeken in elke verwijzing naar cryptografie.
Berichtverificatiecode (MAC)
MAC-algoritmen zijn vergelijkbaar met hash--algoritmen, maar worden berekend met behulp van een symmetrische (sessie)-sleutel. De oorspronkelijke sessiesleutel is vereist om de hash-waarde opnieuw te compileren. De opnieuw gecomputeerde hashwaarde wordt gebruikt om te controleren of de basisgegevens niet zijn gewijzigd. Deze algoritmen worden soms keyed-hash-algoritmen genoemd. Zie Microsoft Cryptographic Service Providersom te zien welke Microsoft-providers MAC ondersteunen.
Secure Hash Algorithm (SHA-1)
Dit hash-algoritme is ontwikkeld door het National Institute of Standards and Technology (NIST) en door het National Security Agency (NSA). Dit algoritme is ontwikkeld voor gebruik met DSA (Digital Signature Algorithm) of DSS (Digital Signature Standard). Met dit algoritme wordt een 160-bits hash--waarde gegenereerd. SHA-1 is bekend dat er zwakke punten zijn en mag alleen worden gebruikt indien vereist voor compatibiliteitsdoeleinden. Voor nieuwe code raden we de SHA-2-serie hashes aan.
Secure Hash Algorithm - 2 (SHA-2)
Dit hash-algoritme is ontwikkeld als opvolger van SHA-1 door het National Institute of Standards and Technology (NIST) en het National Security Agency (NSA). Het heeft vier varianten: SHA-224, SHA-256, SHA-384 en SHA-512, die worden genoemd volgens het aantal bits in hun uitvoer. Van deze worden SHA-256, SHA-384 en SHA-512 geïmplementeerd in de Cryptografische Provider van Microsoft AES.
SSL3-clientautorisatie-algoritme
Dit algoritme wordt gebruikt voor SSL3-clientverificatie. In het SSL3-protocol wordt een samenvoeging van een MD5-hash en een SHA-hash ondertekend met een RSA-persoonlijke sleutel. CryptoAPI 2.0 en de Microsoft Base- en Enhanced Cryptographic Providers ondersteunen dit met de hash type CALG_SSL3_SHAMD5. Zie Een CALG_SSL3_SHAMD5 Hash-maken voor meer informatie.