Compartir a través de


Algoritmos hash y de firma

Los algoritmos siguientes calculan hashes y firmas digitales. Cada uno de estos algoritmos se admite en los proveedores criptográficos base, seguros y mejorados de Microsoft. 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
MAC de encadenamiento de bloques de cifrado (CBC)
Uno de los algoritmos (CALG_MAC) implementado por los proveedores de Microsoft es un código de autenticación de mensajes (MAC) de cifrado de bloques. 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 de encadenamiento de bloques de cifrado (CBC) simple. Se puede usar con cualquier algoritmo hash criptográfico iterado, como MD5 o SHA-1. Para obtener detalles, 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 debilidades y solo se deben usar cuando sea necesario con fines de compatibilidad. Para el nuevo código, 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 recalculado 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 de hash fue desarrollado por el National Institute of Standards and Technology (NIST, Instituto nacional de estándares y tecnología) y la National Security Agency (NSA, Agencia de seguridad nacional). 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 debilidades y solo debe usarse cuando sea necesario para fines de compatibilidad. Para el nuevo código, se recomienda la familia SHA-2 de hashes.
Algoritmo hash seguro - 2 (SHA-2)
Este algoritmo hash fue desarrollado como sucesor del SHA-1 por el Instituto Nacional de Normas y Tecnología (NIST) y la Agencia de Seguridad Nacional (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-1 con una clave privada RSA. CryptoAPI 2.0 y los proveedores criptográficos mejorados y básicos de Microsoft lo admiten con el tipo de hash CALG_SSL3_SHAMD5. Para obtener más información, consulte Creación de un hash de CALG_SSL3_SHAMD5.