Partilhar 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 . Os fornecedores de terceiros podem ter algoritmos adicionais suportados.

Constant/value Description
BCRYPT_3DES_ALGORITHM
L"3DES"
O algoritmo de encriptação simétrica padrão de encriptação de dados tripla.
Padrão: SP800-67, SP800-38A
BCRYPT_3DES_112_ALGORITHM
L"3DES_112"
O algoritmo de encriptação simétrica padrão de encriptação de dados tripla de 112 bits.
Padrão: SP800-67, SP800-38A
BCRYPT_AES_ALGORITHM
L"AES"
O algoritmo de encriptação simétrica AES (Advanced Encryption Standard).
Padrão: FIPS 197
BCRYPT_AES_CMAC_ALGORITHM
L"AES-CMAC"
O algoritmo de encriptação simétrica baseado em código de autenticação de mensagem (CMAC) baseado em encriptação avançada de encriptação padrão de encriptação (AES).
Padrão: SP 800-38B
Observação: Este algoritmo é suportado a partir do Windows 8.
BCRYPT_AES_GMAC_ALGORITHM
L"AES-GMAC"
O algoritmo de encriptação simétrica de código de autenticação de mensagem avançada (AES) Galois (GMAC).
Padrão: SP800-38D
Observação: Este algoritmo é suportado a partir do Windows Vista com SP1.
BCRYPT_CAPI_KDF_ALGORITHM
L"CAPI_KDF"
Algoritmo de função de derivação de chave Crypto API (CAPI). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_CHACHA20_POLY1305_ALGORITHM
L"CHACHA20_POLY1305"
O ChaCha20-Poly1305 algoritmo AEAD.
Padrão: RFC 8439
Observação: O suporte para este 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.
Observação: O suporte para este 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.
Observação: O suporte para este algoritmo começa com o Windows 11, versão 24H2.
BCRYPT_DES_ALGORITHM
L"DES"
O algoritmo de encriptação simétrica padrão de encriptação de dados.
Padrão: FIPS 46-3, FIPS 81
BCRYPT_DESX_ALGORITHM
L"DESX"
O algoritmo de encriptação simétrica padrão de encriptação de dados alargada.
Padrão: Nenhum
BCRYPT_DH_ALGORITHM
L"DH"
O Diffie-Hellman algoritmo de troca de chaves.
Padrão: PKCS #3
BCRYPT_DSA_ALGORITHM
L"DSA"
O algoritmo de assinatura digital.
Padrão: FIPS 186-2
Nota: A partir do Windows 8, este algoritmo suporta FIPS 186-3. As chaves menores ou iguais a 1024 bits aderem ao FIPS 186-2 e as chaves maiores que 1024 ao FIPS 186-3.
BCRYPT_ECDH_ALGORITHM
L"ECDH"
Curva elíptica prime 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 genérico de assinatura digital de curva elíptica primo (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 prime de 256 bits Diffie-Hellman algoritmo de troca de chaves.
Padrão: SP800-56A
BCRYPT_ECDH_P384_ALGORITHM
L"ECDH_P384"
A curva elíptica prime de 384 bits Diffie-Hellman algoritmo de troca de chaves.
Padrão: SP800-56A
BCRYPT_ECDH_P521_ALGORITHM
L"ECDH_P521"
A curva elíptica prime de 521 bits Diffie-Hellman algoritmo de troca de chaves.
Padrão: SP800-56A
BCRYPT_ECDSA_P256_ALGORITHM
L"ECDSA_P256"
O algoritmo de assinatura digital de curva elíptica prime 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 prime 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 prime 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
Observação: O suporte para este algoritmo começa com o Windows 10.
BCRYPT_KMAC128_ALGORITHM
L"KMAC128"
O código de autenticação de mensagem Keccak (KMAC) derivado do SHA3 foi criado em CSHAKE128.
Padrão: SP800-185.
Observação: O suporte para este algoritmo começa com o Windows 11, versão 24H2.
BCRYPT_KMAC256_ALGORITHM
L"KMAC256"
O código de autenticação de mensagem Keccak (KMAC) derivado do SHA3 foi criado em CSHAKE256.
Padrão: SP800-185.
Observação: O suporte para este 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.

Observação: Este 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 de Assinatura Digital deLattice-Based Módulo (ML-DSA).
Padrão: FIPS 204.

Observação: Este 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.

Observação: Este 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 encriptação simétrica RC2.
Padrão: RFC 2268
BCRYPT_RC4_ALGORITHM
L"RC4"
O algoritmo de encriptação simétrica RC4.
Padrão: Vários
BCRYPT_RNG_ALGORITHM
L"RNG"
O algoritmo do gerador de números aleatórios.
Padrão: FIPS 186-2, FIPS 140-2, NIST SP 800-90
Observação: A partir do Windows Vista com SP1 e Windows Server 2008, o gerador de números aleatórios é baseado no modo de contador AES especificado no padrão NIST SP 800-90.
Windows Vista: O gerador de números aleatórios é baseado no gerador de números aleatórios baseado em hash especificado no padrão FIPS 186-2.
Observação: A partir do Windows 8, o algoritmo RNG suporta FIPS 186-3. As chaves menores ou iguais a 1024 bits aderem ao FIPS 186-2 e as chaves maiores que 1024 ao FIPS 186-3.
BCRYPT_RNG_DUAL_EC_ALGORITHM
L"DUALECRNG"
O algoritmo gerador de números aleatórios de curva elíptica dupla.
Padrão: SP800-90.
Janelas 8: A partir do Windows 8, o algoritmo EC RNG suporta FIPS 186-3. As chaves menores ou iguais a 1024 bits aderem ao FIPS 186-2 e as chaves maiores que 1024 ao FIPS 186-3.
Janelas 10: A partir do Windows 10, o algoritmo gerador de números aleatórios de curva elíptica dupla foi removido. As utilizações existentes deste algoritmo continuarão a funcionar; no entanto, o gerador de números aleatórios é baseado no modo de contador AES especificado no padrão NIST SP 800-90. Novo código deve usar BCRYPT_RNG_ALGORITHM, e recomenda-se que o código existente seja alterado para usar BCRYPT_RNG_ALGORITHM.
BCRYPT_RNG_FIPS186_DSA_ALGORITHM
L"FIPS186DSARNG"
O algoritmo gerador de números aleatórios adequado para DSA (Digital Signature Algorithm).
Padrão: FIPS 186-2.
Janelas 8: Começa o suporte para FIPS 186-3.
BCRYPT_RSA_ALGORITHM
L"RSA"
O algoritmo de chave pública RSA.
Padrão: PKCS #1 v1.5 e v2.0.
BCRYPT_RSA_SIGN_ALGORITHM
L"RSA_SIGN"
O algoritmo de assinatura RSA. Este algoritmo não é suportado atualmente. Você pode usar o algoritmo BCRYPT_RSA_ALGORITHM para executar operações de assinatura RSA.
Padrão: PKCS #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 este 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 este 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 este algoritmo começa.
BCRYPT_SHAKE128_ALGORITHM
L"SHAKE128"
O SHA3 XOF com força de 128 bits.
Padrão: FIPS 202.

Observação: Este 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 SHA3 XOF com força de 256 bits.
Padrão: FIPS 202.

Observação: Este 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 apátrida (SLH-DSA).
Padrão: FIPS 205.

Observação: Este 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 de código de autenticação de mensagem baseado em hash (HMAC). 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 palavra-passe 2). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation .
BCRYPT_XMSS_ALGORITHM
L"XMSS"
O algoritmo de assinatura baseado em hash stateful do eXtended Merkle Signature Scheme (XMSS). Padrão XMSS: RFC 8391.

Observação: Este 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 encriptação simétrica AES (Advanced Encryption Standard) no modo XTS.
Padrão: SP-800-38E, IEEE Std 1619-2007.
Janelas 10: O suporte para este algoritmo começa.

Remarks

Para usar BCRYPT_ECDSA_ALGORITHM ou BCRYPT_ECDH_ALGORITHM, chame BCryptOpenAlgorithmProvider com BCRYPT_ECDSA_ALGORITHM ou BCRYPT_ECDH_ALGORITHM como 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 . Transfira o Windows 10 Cryptographic Provider Developer Kit (CPDK) para obter mais informações.

Requirements

Requirement Value
Cliente mínimo suportado
Windows Vista [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado
Windows Server 2008 [apenas aplicações de ambiente de trabalho]
Header
Bcrypt.h

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey

Identificadores de propriedade CNG

BCryptSetProperty