Algoritmos hash y firma

Los algoritmos siguientes calculan hashes y firmas digitales. Cada uno de estos algoritmos se admite en los proveedores criptográficos de Microsoft Base, Seguros y Mejorados. Los detalles internos de estos algoritmos están fuera del ámbito de esta documentación. Para obtener una lista de orígenes adicionales, consulte Documentación adicional sobre criptografía.

Algoritmos Descripción
Encadenamiento de bloques de cifrado (CBC) MAC
Uno de los algoritmos (CALG_MAC) implementado por los proveedores de Microsoft es un código de autenticación de mensajes de cifrado de bloque (MAC). Este método cifra los datos base con un cifrado de bloque y, a continuación, usa el último bloque cifrado como valor hash . El algoritmo de cifrado usado para compilar el MAC es el que se especificó cuando se creó la clave de sesión.
HMAC
Un algoritmo (CALG_HMAC) implementado por los proveedores de Microsoft. Este algoritmo también usa una clave simétrica para crear el hash, pero es más complejo que el algoritmo MAC simple de encadenamiento de bloques de cifrado (CBC). Se puede usar con cualquier algoritmo hash criptográfico iterado, como MD5 o SHA-1. Para obtener más información, consulte Creación de un HMAC.
MD2, MD4 y MD5
Estos algoritmos hash fueron desarrollados por RSA Data Security, Inc. Estos algoritmos se desarrollaron en orden secuencial. Los tres generan valores hash de 128 bits. Se sabe que los tres tienen puntos débiles y solo deben usarse cuando sea necesario con fines de compatibilidad. Para el código nuevo, se recomienda la familia SHA-2 de hashes.
Estos algoritmos son conocidos y se pueden revisar con detalle en cualquier referencia sobre criptografía.
Código de autenticación de mensajes (MAC)
Los algoritmos MAC son similares a los algoritmos hash , pero se calculan mediante una clave simétrica (sesión). La clave de sesión original es necesaria para volver a calcular el valor hash. El valor hash recomputed se usa para comprobar que no se cambiaron los datos base. Estos algoritmos a veces se denominan algoritmos hash con clave. Para ver qué proveedores de Microsoft admiten MAC, consulte Proveedores de servicios criptográficos de Microsoft.
Algoritmo hash seguro (SHA-1)
Este algoritmo hash fue desarrollado por el Instituto Nacional de Estándares y Tecnología (NIST) y por la Agencia Nacional de Seguridad (NSA). Este algoritmo se desarrolló para su uso con DSA (algoritmo de firma digital) o DSS (estándar de firma digital). Este algoritmo genera un valor hash de 160 bits. SHA-1 se sabe que tiene puntos débiles y solo se debe usar cuando sea necesario para fines de compatibilidad. Para el código nuevo, se recomienda la familia SHA-2 de hashes.
Algoritmo hash seguro: 2 (SHA-2)
Este algoritmo hash fue desarrollado como sucesor de SHA-1 por el Instituto Nacional de Estándares y Tecnología (NIST) y la Agencia Nacional de Seguridad (NSA). Tiene cuatro variantes (SHA-224, SHA-256, SHA-384 y SHA-512), que se denominan según el número de bits de sus salidas. De estos, SHA-256, SHA-384 y SHA-512 se implementan en el proveedor criptográfico de Microsoft AES.
Algoritmo de autorización de cliente SSL3
Este algoritmo se usa para la autenticación de cliente SSL3. En el protocolo SSL3, se firma una concatenación de un hash MD5 y un hash SHA con una clave privada RSA. CryptoAPI 2.0 y Microsoft Base y los proveedores criptográficos mejorados admiten esto con el tipo hash CALG_SSL3_SHAMD5. Para obtener más información, consulte Creación de un hash de CALG_SSL3_SHAMD5.