Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A partir do Windows 10, o CNG (API de Criptografia: Próxima Geração) fornece identificadores de algoritmo predefinidos para operações criptográficas. Esses identificadores de algoritmo simplificam o desenvolvimento eliminando a necessidade de criar manualmente identificadores para algoritmos criptográficos comuns, incluindo funções de hash, algoritmos de criptografia, assinaturas digitais e funções de derivação de chave.
Algoritmos MAC (Código de Autenticação de Mensagens e Hash)
| Constante | Descrição | Padrões |
|---|---|---|
|
BCRYPT_MD2_ALG_HANDLE 0x00000001 |
Um identificador para o algoritmo de hash MD2. | RFC 1319 |
|
BCRYPT_MD4_ALG_HANDLE 0x00000011 |
Um identificador para o algoritmo de hash MD4. | RFC 1320 |
|
BCRYPT_MD5_ALG_HANDLE 0x00000021 |
Um identificador para o algoritmo de hash MD5. | RFC 1321 |
|
BCRYPT_SHA1_ALG_HANDLE 0x00000031 |
Um identificador para o algoritmo de hash seguro de 160 bits. | FIPS 180-4 |
|
BCRYPT_SHA256_ALG_HANDLE 0x00000041 |
Um identificador para o algoritmo de hash seguro de 256 bits. | FIPS 180-4 |
|
BCRYPT_SHA384_ALG_HANDLE 0x00000051 |
Um identificador para o algoritmo de hash seguro de 384 bits. | FIPS 180-4 |
|
BCRYPT_SHA512_ALG_HANDLE 0x00000061 |
Um identificador para o algoritmo de hash seguro de 512 bits. | FIPS 180-4 |
|
BCRYPT_HMAC_SHA1_ALG_HANDLE 0x000000A1 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro de 160 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA256_ALG_HANDLE 0x000000B1 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro de 256 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA384_ALG_HANDLE 0x000000C1 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro de 384 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_SHA512_ALG_HANDLE 0x000000D1 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro de 512 bits. | FIPS 180-4, FIPS 198-1 |
|
BCRYPT_HMAC_MD2_ALG_HANDLE 0x00000121 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash MD2. | RFC 1319, RFC 2104 |
|
BCRYPT_HMAC_MD4_ALG_HANDLE 0x00000131 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash MD4. | RFC 1320, RFC 2104 |
|
BCRYPT_HMAC_MD5_ALG_HANDLE 0x00000091 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash MD4. | RFC 1321, RFC 2104 |
| Disponível no Windows 11, versão 23H2 | ||
|
BCRYPT_SHA3_256_ALG_HANDLE 0x000003B1 |
Um identificador para o algoritmo de hash seguro sha3 de 256 bits. | FIPS 202 |
|
BCRYPT_SHA3_384_ALG_HANDLE 0x000003C1 |
Um identificador para o algoritmo de hash seguro SHA3 de 384 bits. | FIPS 202 |
|
BCRYPT_SHA3_512_ALG_HANDLE 0x000003D1 |
Um identificador para o algoritmo de hash seguro sha3 de 512 bits. | FIPS 202 |
|
BCRYPT_HMAC_SHA3_256_ALG_HANDLE 0x000003E1 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro SHA3 de 256 bits. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_384_ALG_HANDLE 0x000003F1 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro SHA3 de 384 bits. | FIPS 202, FIPS 198-1 |
|
BCRYPT_HMAC_SHA3_512_ALG_HANDLE 0x00000401 |
Um identificador para o código de autenticação de mensagem baseado em hash usando o algoritmo de hash seguro SHA3 de 512 bits. | FIPS 202, FIPS 198-1 |
|
BCRYPT_CSHAKE128_ALG_HANDLE 0x00000411 |
Um identificador para o algoritmo de hash XOF de 128 bits (função de saída extensível) derivado do SHA3. | SP 800-185 |
|
BCRYPT_CSHAKE256_ALG_HANDLE 0x00000421 |
Um identificador para o algoritmo de hash XOF de 256 bits (função de saída extensível) derivado do SHA3. | SP 800-185 |
|
BCRYPT_KMAC128_ALG_HANDLE 0x00000431 |
Um identificador para o KMAC (código de autenticação de mensagem Keccak) derivado do SHA3 criado em cSHAKE128. | SP 800-185 |
|
BCRYPT_KMAC256_ALG_HANDLE 0x00000441 |
Um identificador para o KMAC (código de autenticação de mensagem Keccak) derivado do SHA3 criado em cSHAKE256. | SP 800-185 |
Algoritmos de assinatura digital PQ
Observação
Os identificadores PQDSA nesta seção estão relacionados a 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 recurso descrito nesta seção está disponível em versões de pré-lançamento do Windows Insider Preview.
| Constante | Descrição | Padrões |
|---|---|---|
| BCRYPT_LMS_ALG_HANDLE | Um identificador para o algoritmo LMS (assinatura de Leighton-Micali Hash-Based). | RFC 8554 |
| BCRYPT_MLDSA_ALG_HANDLE | Um identificador para o Algoritmo de Assinatura DigitalLattice-Based de Módulo (ML-DSA). | FIPS 204 |
| BCRYPT_SLHDSA_ALG_HANDLE | Um identificador para o Algoritmo de Assinatura Digital baseado em Hash sem Estado (SLH-DSA). | FIPS 205 |
| BCRYPT_XMSS_ALG_HANDLE | Um identificador para o algoritmo baseado em hash com estado XMSS (Esquema de Assinatura Merkle) eXtended. | RFC 8391 |
Algoritmos de criptografia de fluxo
| Constante | Descrição | Padrões |
|---|---|---|
|
BCRYPT_RC4_ALG_HANDLE 0x00000071 |
Um identificador para o algoritmo de criptografia de fluxo RC4. | Vários |
Algoritmos de gerador de número aleatório
| Constante | Descrição | Padrões |
|---|---|---|
|
BCRYPT_RNG_ALG_HANDLE 0x00000081 |
Um identificador para o algoritmo de gerador de número aleatório. | Começando com o Windows 10: O algoritmo RNG usado é CTR_DRBG AES, definido em SP 800-90A. |
Algoritmos de KDF (função de derivação de chave)
| Constante | Descrição |
|---|---|
|
BCRYPT_CAPI_KDF_ALG_HANDLE 0x00000321 |
Um identificador para o algoritmo de função de derivação de chave da API de Criptografia (CAPI). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation . |
|
BCRYPT_PBKDF2_ALG_HANDLE 0x00000331 |
Um identificador para o algoritmo PBKDF2 (função de derivação de chave baseada em senha 2). Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation . |
|
BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE 0x00000341 |
Um identificador para o modo contador, o 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_ALG_HANDLE 0x00000351 |
Um identificador para o algoritmo de função de derivação de chave SP800-56A. Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation . |
|
BCRYPT_HKDF_ALG_HANDLE 0x00000391 |
Um identificador para a função de derivação de chave Extract-and-Expand baseada em HMAC. Usado pelas funções BCryptKeyDerivation e NCryptKeyDerivation . |
Algoritmos kem (mecanismo de encapsulamento de chave)
Observação
Os identificadores de ML-KEM nesta seção estão relacionados a 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 recurso descrito nesta seção está disponível em versões de pré-lançamento do Windows Insider Preview.
| Constante | Descrição | Padrões |
|---|---|---|
| BCRYPT_MLKEM_ALG_HANDLE | Um identificador para o algoritmo mecanismo de encapsulamento de chave deLattice-Based módulo (ML-KEM). | FIPS 203 |
Algoritmos assimétricos
| Constante | Descrição | Padrões |
|---|---|---|
|
BCRYPT_DH_ALG_HANDLE 0x00000281 |
Um identificador para o algoritmo Diffie-Hellman troca de chaves. | PKCS nº 3 |
|
BCRYPT_DSA_ALG_HANDLE 0x000002D1 |
Um identificador para o algoritmo de assinatura digital DSA (Algoritmo de Assinatura Digital). |
FIPS 186-2 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_ALG_HANDLE 0x00000291 |
Um identificador para a curva elíptica principal genérica Diffie-Hellman algoritmo de troca de chaves. | SP 800-56A |
|
BCRYPT_ECDH_P256_ALG_HANDLE 0x000002A1 |
Um identificador para a curva elíptica principal de 256 bits Diffie-Hellman algoritmo de troca de chaves. | SP 800-56A |
|
BCRYPT_ECDH_P384_ALG_HANDLE 0x000002B1 |
Um identificador para a curva elíptica principal de 384 bits Diffie-Hellman algoritmo de troca de chaves. | SP 800-56A |
|
BCRYPT_ECDH_P521_ALG_HANDLE 0x000002C1 |
Um identificador para a curva elíptica principal de 521 bits Diffie-Hellman algoritmo de troca de chaves. | SP 800-56A |
|
BCRYPT_ECDSA_ALG_HANDLE 0x000000F1 |
Um identificador para o algoritmo de assinatura digital de curva elíptica principal genérica. | ANSI X9.62 |
|
BCRYPT_ECDSA_P256_ALG_HANDLE 0x000002E1 |
Um identificador para o algoritmo de assinatura digital de curva elíptica principal de 256 bits. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P384_ALG_HANDLE 0x000002F1 |
Um identificador para o algoritmo de assinatura digital de curva elíptica principal de 384 bits. | FIPS 186-2, X9.62 |
|
BCRYPT_ECDSA_P521_ALG_HANDLE 0x00000301 |
Um identificador para o algoritmo de assinatura digital de curva elíptica principal de 521 bits. | FIPS 186-2, X9.62 |
|
BCRYPT_RSA_ALG_HANDLE 0x000000E1 |
Um identificador para o algoritmo de chave pública RSA. | PKCS nº 1 v1.5 e v2.0 |
|
BCRYPT_RSA_SIGN_ALG_HANDLE 0x00000311 |
Um identificador para o algoritmo de assinatura RSA. No momento, não há suporte para esse algoritmo. Você pode usar o algoritmo BCRYPT_RSA_ALG_HANDLE para executar operações de assinatura RSA. | PKCS nº 1 v1.5 e v2.0. |
Bloquear algoritmos de código de autenticação de mensagem baseados em criptografia e codificação
| Constante | Descrição | Padrões |
|---|---|---|
|
BCRYPT_AES_CMAC_ALG_HANDLE 0x00000101 |
Um identificador para o algoritmo de criptografia simétrica CMAC (código de autenticação de mensagem) baseado em criptografia baseada em criptografia do AES (Advanced Encryption Standard). | SP 800-38B |
|
BCRYPT_AES_GMAC_ALG_HANDLE 0x00000111 |
Um identificador para o algoritmo de criptografia simétrica GMAC (código de autenticação de mensagem) galois do AES (Advanced Encryption Standard). SP800-38D | |
|
BCRYPT_3DES_CBC_ALG_HANDLE 0x00000141 |
Um identificador para o algoritmo padrão de criptografia de dados triplo usando o cbc (modo de encadeamento de blocos de criptografia). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_ECB_ALG_HANDLE 0x00000151 |
Um identificador para o algoritmo padrão de criptografia de dados triplo usando o modo de Codebook Eletrônico (ECB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_CFB_ALG_HANDLE 0x00000161 |
Um identificador para o algoritmo padrão de criptografia de dados triplo usando o cfb (modo de comentários de criptografia). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CBC_ALG_HANDLE 0x00000171 |
Um identificador para o algoritmo triple Data Encryption Standard de 112 bits usando o CBC (modo de encadeamento de blocos de criptografia). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_ECB_ALG_HANDLE 0x00000181 |
Um identificador para o algoritmo triple Data Encryption Standard de 112 bits usando o MODO de Codebook Eletrônico (ECB). | SP 800-67, SP 800-38A |
|
BCRYPT_3DES_112_CFB_ALG_HANDLE 0x00000191 |
Um identificador para o algoritmo padrão de criptografia de dados triplo de 112 bits usando o cfb (modo de comentários de criptografia). | SP 800-67, SP 800-38A |
|
BCRYPT_AES_CBC_ALG_HANDLE 0x000001A1 |
Um identificador para o algoritmo AES (Advanced Encryption Standard) usando o CBC (Modo de Encadeamento de Blocos de Criptografia). | FIPS 197 |
|
BCRYPT_AES_ECB_ALG_HANDLE 0x000001B1 |
Um identificador para o algoritmo AES (Advanced Encryption Standard) usando o Modo de Codebook Eletrônico (ECB). | FIPS 197 |
|
BCRYPT_AES_CFB_ALG_HANDLE 0x000001C1 |
Um identificador para o algoritmo AES (Advanced Encryption Standard) usando o CFB (Modo de Comentários de Criptografia). | FIPS 197 |
|
BCRYPT_AES_CCM_ALG_HANDLE 0x000001D1 |
Um identificador para o algoritmo AES (Advanced Encryption Standard) usando o Counter com o CCM (Modo de CBC-MAC). | FIPS 197 |
|
BCRYPT_AES_GCM_ALG_HANDLE 0x000001E1 |
Um identificador para o algoritmo AES (Advanced Encryption Standard) usando o Modo de Contador Galois (GCM). | FIPS 197 |
|
BCRYPT_DES_CBC_ALG_HANDLE 0x000001F1 |
Um identificador para o algoritmo DES (Data Encryption Standard) usando o GCM (Modo de Encadeamento de Blocos de Criptografia). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_ECB_ALG_HANDLE 0x00000201 |
Um identificador para o algoritmo DES (Data Encryption Standard) usando o MODO DES (Electronic Codebook Mode). | FIPS 46-3, FIPS 81 |
|
BCRYPT_DES_CFB_ALG_HANDLE 0x00000211 |
Um identificador para o algoritmo DES (Data Encryption Standard) usando o CFB (Modo de Comentários de Criptografia). | FIPS 46-3, FIPS 81 |
Observações
Você pode usar esses identificadores em qualquer situação que exija um identificador de algoritmo. No entanto, qualquer chamada para BCryptSetProperty falha, pois o identificador de algoritmo é compartilhado e não pode ser modificado. Além disso, esses identificadores não podem ser usados no IRQL=DISPATCH modo kernel.