Compartilhar via


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.

Constant/value Description
BCRYPT_3DES_ALGORITHM
L"3DES"
O algoritmo de criptografia simétrica padrão de criptografia de dados triplo.
Standard: SP800-67, SP800-38A
BCRYPT_3DES_112_ALGORITHM
L"3DES_112"
O algoritmo de criptografia simétrica padrão de criptografia de dados triplos de 112 bits.
Standard: SP800-67, SP800-38A
BCRYPT_AES_ALGORITHM
L"AES"
O algoritmo de criptografia simétrica AES (padrão de criptografia avançada).
Padrão: FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
L"AES-CMAC"
O algoritmo de criptografia simétrica CMAC (código de autenticação de mensagem) baseado em criptografia baseada em criptografia AES (padrão de criptografia avançada).
Padrão: SP 800-38B
Nota: Esse algoritmo tem suporte a partir do Windows 8.
BCRYPT_AES_GMAC_ALGORITHM
L"AES-GMAC"
O algoritmo de criptografia simétrica GMAC (código de autenticação de mensagem) galois (AES) padrão de criptografia avançada.
Padrão: SP800-38D
Nota: 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_CHACHA20_POLY1305_ALGORITHM
L"CHACHA20_POLY1305"
O algoritmo AEAD ChaCha20-Poly1305.
Padrão: RFC 8439
Nota: O suporte para esse algoritmo começa com o Windows 10.
BCRYPT_CSHAKE128_ALGORITHM
L"CSHAKE128"
O XOF personalizável derivado do SHA3 com força de 128 bits.
Padrão: SP800-185.
Nota: O suporte para esse algoritmo começa com o Windows 11, versão 24H2.
BCRYPT_CSHAKE256_ALGORITHM
L"CSHAKE256"
O XOF personalizável derivado do SHA3 com força de 256 bits.
Padrão: SP800-185.
Nota: O suporte para esse algoritmo começa com o Windows 11, versão 24H2.
BCRYPT_DES_ALGORITHM
L"DES"
O algoritmo de criptografia simétrica padrão de criptografia de dados.
Padrão: FIPS 46-3, FIPS 81
BCRYPT_DESX_ALGORITHM
L"DESX"
O algoritmo de criptografia simétrica padrão de criptografia de dados estendido.
Padrão: Nenhum
BCRYPT_DH_ALGORITHM
L"DH"
O algoritmo Diffie-Hellman troca de chaves.
Padrão: PKCS nº 3
BCRYPT_DSA_ALGORITHM
L"DSA"
O algoritmo de assinatura digital.
Padrão: FIPS 186-2
Observação: Começando com o Windows 8, esse algoritmo 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_ECDH_ALGORITHM
L"ECDH"
Curva elíptica principal genérica Diffie-Hellman algoritmo de troca de chaves (consulte a seção Comentários para obter mais informações).
Padrão: SP800-56A.
BCRYPT_ECDSA_ALGORITHM
L"ECDSA"
Algoritmo de assinatura digital de curva elíptica principal genérica (consulte a seção Comentários para obter mais informações).
Padrão: ANSI X9.62.
BCRYPT_ECDH_P256_ALGORITHM
L"ECDH_P256"
A curva elíptica principal de 256 bits Diffie-Hellman algoritmo de troca de chaves.
Standard: SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
L"ECDH_P384"
A curva elíptica principal de 384 bits Diffie-Hellman algoritmo de troca de chaves.
Standard: SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
L"ECDH_P521"
A curva elíptica principal de 521 bits Diffie-Hellman algoritmo de troca de chaves.
Standard: SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
L"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
L"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
L"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_HKDF_ALGORITHM
L"HKDF"
A função de derivação de chave Extract-and-Expand baseada em HMAC.
Padrão: RFC 5869
Nota: O suporte para esse algoritmo começa com o Windows 10.
BCRYPT_KMAC128_ALGORITHM
L"KMAC128"
O KMAC (código de autenticação de mensagem Keccak) derivado do SHA3 baseado em CSHAKE128.
Padrão: SP800-185.
Nota: O suporte para esse algoritmo começa com o Windows 11, versão 24H2.
BCRYPT_KMAC256_ALGORITHM
L"KMAC256"
O KMAC (código de autenticação de mensagem Keccak) derivado do SHA3 baseado em CSHAKE256.
Padrão: SP800-185.
Nota: O suporte para esse algoritmo começa com o Windows 11, versão 24H2.
BCRYPT_LMS_ALGORITHM
L"LMS"
O algoritmo Leighton-Micali Hash-Based Signature. Padrão: RFC 8554.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
BCRYPT_MD2_ALGORITHM
L"MD2"
O algoritmo de hash MD2.
Padrão: RFC 1319
BCRYPT_MD4_ALGORITHM
L"MD4"
O algoritmo de hash MD4.
Padrão: RFC 1320
BCRYPT_MD5_ALGORITHM
L"MD5"
O algoritmo de hash MD5.
Padrão: RFC 1321
BCRYPT_MLDSA_ALGORITHM
L"ML-DSA"
O algoritmo module-Lattice-Based digital Signature (ML-DSA).
Padrão: FIPS 204.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
BCRYPT_MLKEM_ALGORITHM
L"ML-KEM"
O algoritmo Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM).
Padrão: FIPS 203.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
BCRYPT_RC2_ALGORITHM
L"RC2"
O algoritmo de criptografia simétrica RC2.
Padrão: RFC 2268
BCRYPT_RC4_ALGORITHM
L"RC4"
O algoritmo de criptografia simétrica RC4.
Padrão: Vários
BCRYPT_RNG_ALGORITHM
L"RNG"
O algoritmo de 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 do 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.
Nota: 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
L"DUALECRNG"
O algoritmo de 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 de 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 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
L"FIPS186DSARNG"
O algoritmo de 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
L"RSA"
O algoritmo de chave pública RSA.
Standard: PKCS nº 1 v1.5 e v2.0.
BCRYPT_RSA_SIGN_ALGORITHM
L"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.
Standard: PKCS nº 1 v1.5 e v2.0.
BCRYPT_SHA1_ALGORITHM
L"SHA1"
O algoritmo de hash seguro de 160 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA256_ALGORITHM
L"SHA256"
O algoritmo de hash seguro de 256 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA384_ALGORITHM
L"SHA384"
O algoritmo de hash seguro de 384 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA512_ALGORITHM
L"SHA512"
O algoritmo de hash seguro de 512 bits.
Padrão: FIPS 180-2, FIPS 198.
BCRYPT_SHA3_256_ALGORITHM
L"SHA3-256"
O algoritmo de hash seguro sha3 de 256 bits.
Padrão: FIPS 202.
Windows 11, versão 24H2: O suporte para esse algoritmo começa.
BCRYPT_SHA3_384_ALGORITHM
L"SHA3-384"
O algoritmo de hash seguro sha3 de 384 bits.
Padrão: FIPS 202.
Windows 11, versão 24H2: O suporte para esse algoritmo começa.
BCRYPT_SHA3_512_ALGORITHM
L"SHA3-512"
O algoritmo de hash seguro SHA3 de 512 bits.
Padrão: FIPS 202.
Windows 11, versão 24H2: O suporte para esse algoritmo começa.
BCRYPT_SHAKE128_ALGORITHM
L"SHAKE128"
O XOF SHA3 com força de 128 bits.
Padrão: FIPS 202.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
BCRYPT_SHAKE256_ALGORITHM
L"SHAKE256"
O XOF SHA3 com força de 256 bits.
Padrão: FIPS 202.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
BCRYPT_SLHDSA_ALGORITHM
L"SLH-DSA"
O algoritmo de assinatura digital baseado em Hash sem estado (SLH-DSA).
Padrão: FIPS 205.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
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 de função de derivação de chave baseada em senha 2 (PBKDF2). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_XMSS_ALGORITHM
L"XMSS"
O algoritmo de assinatura baseado em hash com estado EXtended Merkle Signature Scheme (XMSS). XMSS Standard: RFC 8391.

Nota: Esse identificador faz parte de um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. O identificador está disponível em versões de pré-lançamento do Windows Insider Preview.
BCRYPT_XTS_AES_ALGORITHM
L"XTS-AES"
O algoritmo de criptografia simétrica AES (padrão de criptografia avançada) no modo XTS.
Padrão: SP-800-38E, IEEE Std 1619-2007.
Windows 10: O suporte para esse algoritmo começa.

Remarks

Para usar BCRYPT_ECDSA_ALGORITHM 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 para 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.

Requirements

Requirement Value
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]
Header
Bcrypt.h

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey

Identificadores de propriedade CNG

BCryptSetProperty