Identificadores de algoritmo de CNG

Los siguientes identificadores se usan para identificar algoritmos de cifrado estándar en diversas funciones y estructuras de CNG, como la estructura de CRYPT_INTERFACE_REG . Es posible que los proveedores de terceros tengan algoritmos adicionales que admitan.

Constante o valor Descripción
BCRYPT_3DES_ALGORITHM
"3DES"
El algoritmo de cifrado simétrico estándar de cifrado de datos triple.
Estándar: SP800-67, SP800-38A
BCRYPT_3DES_112_ALGORITHM
"3DES_112"
El algoritmo de cifrado simétrico estándar de cifrado de datos de 112 bits.
Estándar: SP800-67, SP800-38A
BCRYPT_AES_ALGORITHM
"AES"
Algoritmo de cifrado simétrico estándar de cifrado avanzado.
Estándar: FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
"AES-CMAC"
Algoritmo de cifrado simétrico de código de autenticación de mensajes (CMAC) basado en cifrado estándar de cifrado avanzado (AES).
Estándar: SP 800-38B
Windows 8: Comienza la compatibilidad con este algoritmo.

BCRYPT_AES_GMAC_ALGORITHM
"AES-GMAC"
Algoritmo de cifrado simétrico de código de autenticación de mensajes (GMAC) galois estándar de cifrado avanzado (AES).
Estándar: SP800-38D
Windows Vista: Este algoritmo se admite a partir de Windows Vista con SP1.
BCRYPT_CAPI_KDF_ALGORITHM
L"CAPI_KDF"
Algoritmo de función de derivación de claves crypto API (CAPI). Usada por las funciones BCryptKeyDerivation y NCryptKeyDerivation .
BCRYPT_DES_ALGORITHM
"DES"
Algoritmo de cifrado simétrico estándar de cifrado de datos.
Estándar: FIPS 46-3, FIPS 81
BCRYPT_DESX_ALGORITHM
"DESX"
Algoritmo de cifrado simétrico estándar de cifrado de datos extendido.
Estándar: Ninguno
BCRYPT_DH_ALGORITHM
"DH"
Algoritmo de intercambio de claves Diffie-Hellman.
Estándar: PKCS #3
BCRYPT_DSA_ALGORITHM
"DSA"
Algoritmo de firma digital.
Estándar: FIPS 186-2
Windows 8: A partir de Windows 8, este algoritmo admite FIPS 186-3. Las claves menores o iguales que 1024 bits se adhieren a FIPS 186-2 y las claves mayores que 1024 a FIPS 186-3.
BCRYPT_ECDH_P256_ALGORITHM
"ECDH_P256"
La curva elíptica primo de 256 bits Diffie-Hellman algoritmo de intercambio de claves.
Estándar: SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
"ECDH_P384"
La curva elíptica primo de 384 bits Diffie-Hellman algoritmo de intercambio de claves.
Estándar: SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
"ECDH_P521"
La curva elíptica primo de 521 bits Diffie-Hellman algoritmo de intercambio de claves.
Estándar: SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
"ECDSA_P256"
Algoritmo de firma digital de curva elíptica primo de 256 bits (FIPS 186-2).
Estándar: FIPS 186-2, X9.62
BCRYPT_ECDSA_P384_ALGORITHM
"ECDSA_P384"
El algoritmo de firma digital de curva elíptica de 384 bits (FIPS 186-2).
Estándar: FIPS 186-2, X9.62
BCRYPT_ECDSA_P521_ALGORITHM
"ECDSA_P521"
El algoritmo de firma digital de curva elíptica de 521 bits (FIPS 186-2).
Estándar: FIPS 186-2, X9.62
BCRYPT_MD2_ALGORITHM
"MD2"
Algoritmo hash MD2.
Estándar: RFC 1319
BCRYPT_MD4_ALGORITHM
"MD4"
Algoritmo hash MD4.
Estándar: RFC 1320
BCRYPT_MD5_ALGORITHM
"MD5"
Algoritmo hash MD5.
Estándar: RFC 1321
BCRYPT_RC2_ALGORITHM
"RC2"
Algoritmo de cifrado simétrico de bloque RC2.
Estándar: RFC 2268
BCRYPT_RC4_ALGORITHM
"RC4"
Algoritmo de cifrado simétrico RC4.
Estándar: varios
BCRYPT_RNG_ALGORITHM
"RNG"
Algoritmo de generador de números aleatorios.
Estándar: FIPS 186-2, FIPS 140-2, NIST SP 800-90
Nota: A partir de Windows Vista con SP1 y Windows Server 2008, el generador de números aleatorios se basa en el modo de contador AES especificado en el estándar NIST SP 800-90.
Windows Vista: El generador de números aleatorios se basa en el generador de números aleatorios basado en hash especificado en el estándar FIPS 186-2.
Windows 8: A partir de Windows 8, el algoritmo RNG admite FIPS 186-3. Las claves menores o iguales que 1024 bits se adhieren a FIPS 186-2 y las claves mayores que 1024 a FIPS 186-3.
BCRYPT_RNG_DUAL_EC_ALGORITHM
"DUALECRNG"
Algoritmo de generador de números aleatorios de curva elíptica dual.
Estándar: SP800-90.
Windows 8: A partir de Windows 8, el algoritmo EC RNG admite FIPS 186-3. Las claves menores o iguales que 1024 bits se adhieren a FIPS 186-2 y las claves mayores que 1024 a FIPS 186-3.
Windows 10: A partir de Windows 10, se ha quitado el algoritmo de generador de números aleatorios de curva elíptica dual. Los usos existentes de este algoritmo seguirán funcionando; sin embargo, el generador de números aleatorios se basa en el modo de contador AES especificado en el estándar NIST SP 800-90. El nuevo código debe usar BCRYPT_RNG_ALGORITHM y se recomienda cambiar el código existente para usar BCRYPT_RNG_ALGORITHM.
BCRYPT_RNG_FIPS186_DSA_ALGORITHM
"FIPS186DSARNG"
El algoritmo de generador de números aleatorios adecuado para DSA (algoritmo de firma digital).
Estándar: FIPS 186-2.
Windows 8: Comienza la compatibilidad con FIPS 186-3.
BCRYPT_RSA_ALGORITHM
"RSA"
Algoritmo de clave pública RSA.
Estándar: PKCS #1 v1.5 y v2.0.
BCRYPT_RSA_SIGN_ALGORITHM
"RSA_SIGN"
Algoritmo de firma RSA. Este algoritmo no se admite actualmente. Puede usar el algoritmo de BCRYPT_RSA_ALGORITHM para realizar operaciones de firma RSA.
Estándar: PKCS #1 v1.5 y v2.0.
BCRYPT_SHA1_ALGORITHM
"SHA1"
Algoritmo hash seguro de 160 bits.
Estándar: FIPS 180-2, FIPS 198.
BCRYPT_SHA256_ALGORITHM
"SHA256"
Algoritmo hash seguro de 256 bits.
Estándar: FIPS 180-2, FIPS 198.
BCRYPT_SHA384_ALGORITHM
"SHA384"
Algoritmo hash seguro de 384 bits.
Estándar: FIPS 180-2, FIPS 198.
BCRYPT_SHA512_ALGORITHM
"SHA512"
Algoritmo hash seguro de 512 bits.
Estándar: FIPS 180-2, FIPS 198.
BCRYPT_SP800108_CTR_HMAC_ALGORITHM
L"SP800_108_CTR_HMAC"
Modo contador, algoritmo de función de derivación de claves de código de autenticación de mensajes basado en hash (HMAC). Usado por las funciones BCryptKeyDerivation y NCryptKeyDerivation .
BCRYPT_SP80056A_CONCAT_ALGORITHM
L"SP800_56A_CONCAT"
Algoritmo de función de derivación de claves SP800-56A. Usado por las funciones BCryptKeyDerivation y NCryptKeyDerivation .
BCRYPT_PBKDF2_ALGORITHM
L"PBKDF2"
Algoritmo de derivación de claves basada en contraseña 2 (PBKDF2). Usado por las funciones BCryptKeyDerivation y NCryptKeyDerivation .
BCRYPT_ECDSA_ALGORITHM
"ECDSA"
Algoritmo genérico de firma digital de curva elíptica principal (vea Comentarios para obtener más información).
Estándar: ANSI X9.62.
BCRYPT_ECDH_ALGORITHM
"ECDH"
Curva elíptica genérica Diffie-Hellman algoritmo de intercambio de claves (vea Comentarios para obtener más información).
Estándar: SP800-56A.
BCRYPT_XTS_AES_ALGORITHM
"XTS-AES"
Algoritmo de cifrado simétrico estándar de cifrado avanzado en modo XTS.
Estándar: SP-800-38E, IEEE Std 1619-2007.
Windows 10: Comienza la compatibilidad con este algoritmo.

Comentarios

Para usar BCRYPT_ECDSA_ALGORITM o BCRYPT_ECDH_ALGORITHM, llame a BCryptOpenAlgorithmProvider con BCRYPT_ECDSA_ALGORITHM o BCRYPT_ECDH_ALGORITHM como pszAlgId. A continuación, use BCryptSetProperty para establecer la propiedad BCRYPT_ECC_CURVE_NAME en un algoritmo con nombre enumerado en curvas con nombre CNG.

Para proporcionar directamente parámetros de curva elíptica definidos por el usuario, use BCryptSetProperty para establecer la propiedad BCRYPT_ECC_PARAMETERS . Descargue el Kit para desarrolladores del proveedor criptográfico de Windows 10 (CPDK) para obtener más información.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Bcrypt.h

Consulte también

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey