Identificadores de algoritmo CNG

Os identificadores a seguir são usados para identificar algoritmos de criptografia padrão em várias funções e estruturas CNG, como a estrutura CRYPT_INTERFACE_REG . Provedores de terceiros podem ter algoritmos adicionais aos quais dão suporte.

Constante/valor Descrição
BCRYPT_3DES_ALGORITHM
"3DES"
O algoritmo de criptografia simétrica padrão de criptografia de dados triplo.
Standard: SP800-67, SP800-38A
BCRYPT_3DES_112_ALGORITHM
"3DES_112"
O algoritmo de criptografia simétrica padrão de criptografia de dados triplo de 112 bits.
Standard: SP800-67, SP800-38A
BCRYPT_AES_ALGORITHM
"AES"
O algoritmo de criptografia simétrica padrão de criptografia avançada.
Padrão: FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
"AES-CMAC"
O algoritmo de criptografia simétrica CMAC (código de autenticação de mensagem baseado em criptografia AES) padrão avançado.
Standard: SP 800-38B
Windows 8: O suporte para esse algoritmo começa.

BCRYPT_AES_GMAC_ALGORITHM
"AES-GMAC"
O algoritmo de criptografia simétrica GMAC (código de autenticação de mensagem) AES (padrão de criptografia avançada).
Standard: SP800-38D
Windows Vista: Esse algoritmo tem suporte a partir do Windows Vista com SP1.
BCRYPT_CAPI_KDF_ALGORITHM
L"CAPI_KDF"
Algoritmo de função de derivação de chave capi (API de criptografia). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_DES_ALGORITHM
"DES"
O algoritmo de criptografia simétrica padrão de criptografia de dados.
Padrão: FIPS 46-3, FIPS 81
BCRYPT_DESX_ALGORITHM
"DESX"
O algoritmo de criptografia simétrica padrão de criptografia de dados estendido.
Padrão: Nenhum
BCRYPT_DH_ALGORITHM
"DH"
O algoritmo Diffie-Hellman troca de chaves.
Padrão: PKCS nº 3
BCRYPT_DSA_ALGORITHM
"DSA"
O algoritmo de assinatura digital.
Padrão: FIPS 186-2
Windows 8: A partir do Windows 8, esse algoritmo dá suporte ao FIPS 186-3. Chaves menores ou iguais a 1024 bits aderem ao FIPS 186-2 e chaves maiores que 1024 a FIPS 186-3.
BCRYPT_ECDH_P256_ALGORITHM
"ECDH_P256"
A curva elíptica principal de 256 bits Diffie-Hellman algoritmo de troca de chaves.
Standard: SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
"ECDH_P384"
A curva elíptica principal de 384 bits Diffie-Hellman algoritmo de troca de chaves.
Standard: SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
"ECDH_P521"
A curva elíptica principal de 521 bits Diffie-Hellman algoritmo de troca de chaves.
Standard: SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
"ECDSA_P256"
O algoritmo de assinatura digital de curva elíptica principal de 256 bits (FIPS 186-2).
Padrão: FIPS 186-2, X9.62
BCRYPT_ECDSA_P384_ALGORITHM
"ECDSA_P384"
O algoritmo de assinatura digital de curva elíptica principal de 384 bits (FIPS 186-2).
Padrão: FIPS 186-2, X9.62
BCRYPT_ECDSA_P521_ALGORITHM
"ECDSA_P521"
O algoritmo de assinatura digital de curva elíptica principal de 521 bits (FIPS 186-2).
Padrão: FIPS 186-2, X9.62
BCRYPT_MD2_ALGORITHM
"MD2"
O algoritmo de hash MD2.
Padrão: RFC 1319
BCRYPT_MD4_ALGORITHM
"MD4"
O algoritmo de hash MD4.
Padrão: RFC 1320
BCRYPT_MD5_ALGORITHM
"MD5"
O algoritmo de hash MD5.
Padrão: RFC 1321
BCRYPT_RC2_ALGORITHM
"RC2"
O algoritmo de criptografia simétrica de bloco RC2.
Padrão: RFC 2268
BCRYPT_RC4_ALGORITHM
"RC4"
O algoritmo de criptografia simétrica RC4.
Padrão: Vários
BCRYPT_RNG_ALGORITHM
"RNG"
O algoritmo gerador de número aleatório.
Padrão: FIPS 186-2, FIPS 140-2, NIST SP 800-90
Nota: A partir do Windows Vista com SP1 e Windows Server 2008, o gerador de número aleatório é baseado no modo de contador AES especificado no padrão NIST SP 800-90.
Windows Vista: O gerador de número aleatório é baseado no gerador de número aleatório baseado em hash especificado no padrão FIPS 186-2.
Windows 8: A partir do Windows 8, o algoritmo RNG dá suporte ao FIPS 186-3. Chaves menores ou iguais a 1.024 bits aderem ao FIPS 186-2 e chaves maiores que 1024 para FIPS 186-3.
BCRYPT_RNG_DUAL_EC_ALGORITHM
"DUALECRNG"
O algoritmo gerador de número aleatório de curva elíptica dupla.
Padrão: SP800-90.
Windows 8: A partir do Windows 8, o algoritmo EC RNG dá suporte ao FIPS 186-3. Chaves menores ou iguais a 1.024 bits aderem ao FIPS 186-2 e chaves maiores que 1024 para FIPS 186-3.
Windows 10: A partir do Windows 10, o algoritmo gerador de número aleatório de curva elíptica dupla foi removido. Os usos existentes desse algoritmo continuarão a funcionar; no entanto, o gerador de número aleatório é baseado no modo de contador do AES especificado no padrão NIST SP 800-90. O novo código deve usar BCRYPT_RNG_ALGORITHM e é recomendável que o código existente seja alterado para usar BCRYPT_RNG_ALGORITHM.
BCRYPT_RNG_FIPS186_DSA_ALGORITHM
"FIPS186DSARNG"
O algoritmo gerador de número aleatório adequado para DSA (Algoritmo de Assinatura Digital).
Padrão: FIPS 186-2.
Windows 8: O suporte para FIPS 186-3 começa.
BCRYPT_RSA_ALGORITHM
"RSA"
O algoritmo de chave pública RSA.
Padrão: PKCS nº 1 v1.5 e v2.0.
BCRYPT_RSA_SIGN_ALGORITHM
"RSA_SIGN"
O algoritmo de assinatura RSA. No momento, não há suporte para esse algoritmo. Você pode usar o algoritmo BCRYPT_RSA_ALGORITHM para executar operações de assinatura RSA.
Padrão: PKCS nº 1 v1.5 e v2.0.
BCRYPT_SHA1_ALGORITHM
"SHA1"
O algoritmo de hash seguro de 160 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA256_ALGORITHM
"SHA256"
O algoritmo de hash seguro de 256 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA384_ALGORITHM
"SHA384"
O algoritmo de hash seguro de 384 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA512_ALGORITHM
"SHA512"
O algoritmo de hash seguro de 512 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SP800108_CTR_HMAC_ALGORITHM
L"SP800_108_CTR_HMAC"
Modo de contador, algoritmo de função de derivação de chave HMAC (código de autenticação de mensagem baseado em hash). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_SP80056A_CONCAT_ALGORITHM
L"SP800_56A_CONCAT"
Algoritmo de função de derivação de chave SP800-56A. Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_PBKDF2_ALGORITHM
L"PBKDF2"
Algoritmo PBKDF2 (função de derivação de chave baseada em senha 2). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_ECDSA_ALGORITHM
"ECDSA"
Algoritmo de assinatura digital de curva elíptica principal genérica (consulte Comentários para obter mais informações).
Padrão: ANSI X9.62.
BCRYPT_ECDH_ALGORITHM
"ECDH"
Curva elíptica principal genérica Diffie-Hellman algoritmo de troca de chaves (consulte Comentários para obter mais informações).
Padrão: SP800-56A.
BCRYPT_XTS_AES_ALGORITHM
"XTS-AES"
O algoritmo avançado de criptografia simétrica padrão no modo XTS.
Padrão: SP-800-38E, IEEE Std 1619-2007.
Windows 10: O suporte para esse algoritmo começa.

Comentários

Para usar BCRYPT_ECDSA_ALGORITM ou BCRYPT_ECDH_ALGORITHM, chame BCryptOpenAlgorithmProvider com BCRYPT_ECDSA_ALGORITHM ou BCRYPT_ECDH_ALGORITHM como o pszAlgId. Em seguida, use BCryptSetProperty para definir a propriedade BCRYPT_ECC_CURVE_NAME como um algoritmo nomeado listado em Curvas Nomeadas CNG.

Para fornecer parâmetros de curva elíptica definidos pelo usuário diretamente, use BCryptSetProperty para definir a propriedade BCRYPT_ECC_PARAMETERS . Baixe o CPDK (Cryptographic Provider Developer Kit) do Windows 10 para obter mais informações.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
parâmetro
Bcrypt.h

Confira também

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey