Partilhar via


Identificadores de propriedade primitiva de criptografia

Este artigo explica os identificadores de propriedade primitiva de criptografia usados com as funções BCryptGetProperty e BCryptSetProperty . Saiba como esses valores ajudam a identificar propriedades em algoritmos criptográficos.

BCRYPT_ALGORITHM_NAME

L"AlgorithmName"

Uma cadeia de caracteres Unicode terminada em nulo que contém o nome do algoritmo.

BCRYPT_AUTH_TAG_LENGTH

L"AuthTagLength"

Os comprimentos da tag de autenticação suportados pelo algoritmo. Esta propriedade é uma estrutura BCRYPT_AUTH_TAG_LENGTHS_STRUCT . Esta propriedade só se aplica a algoritmos.

BCRYPT_BLOCK_LENGTH

L"BlockLength"

O tamanho, em bytes, de um bloco de codificação para o algoritmo. Esta propriedade só se aplica a algoritmos de codificação de bloco. Este tipo de dados é um DWORD.

BCRYPT_BLOCK_SIZE_LIST

L"BlockSizeList"

Uma lista dos comprimentos de bloco suportados por um algoritmo de encriptação. Este tipo de dados é uma matriz de DWORDs. O número de elementos na matriz pode ser determinado dividindo o número de bytes recuperados pelo tamanho de um único DWORD.

BCRYPT_CHAINING_MODE

L"ChainingMode"

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que representa o modo de encadeamento do algoritmo de criptografia. Essa propriedade pode ser definida em um identificador de algoritmo ou um identificador de chave para um dos seguintes valores.

Identificador Valor Descrição
BCRYPT_CHAIN_MODE_CBC L"ChainingModeCBC" Define o modo de encadeamento do algoritmo para cifrar o encadeamento de blocos.
BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM" Define o modo de encadeamento do algoritmo como contador com o modo CBC-MAC (CCM).
Suporta comprimentos de chave de 128, 192 e 256 bits.

Observação: Esse valor é suportado a partir do Windows Vista com SP1.
BCRYPT_CHAIN_MODE_CFB L"ChainingModeCFB" Define o modo de encadeamento do algoritmo para codificar feedback.
BCRYPT_CHAIN_MODE_ECB L"ChainingModeBCE" Define o modo de encadeamento do algoritmo como livro de códigos eletrônico.
BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM" Define o modo de encadeamento do algoritmo como Galois/modo contador (GCM).
Suporta comprimentos de chave de 128, 192 e 256 bits.

Observação: Esse valor é suportado a partir do Windows Vista com SP1.
BCRYPT_CHAIN_MODE_NA L"ChainingModeN/A" O algoritmo não suporta encadeamento.

BCRYPT_DH_PARAMETERS

L"DHParameters"

Especifica parâmetros a serem usados com uma chave Diffie-Hellman. Este tipo de dados é um ponteiro para uma estrutura BCRYPT_DH_PARAMETER_HEADER . Esta propriedade só pode ser definida e deve ser definida para a chave antes que a chave seja concluída.

BCRYPT_DSA_PARAMETERS

L"DSAParameters"

Especifica parâmetros a serem usados com uma chave DSA. Esta propriedade é uma estrutura BCRYPT_DSA_PARAMETER_HEADER ou BCRYPT_DSA_PARAMETER_HEADER_V2 . Esta propriedade só pode ser definida e deve ser definida para a chave antes que a chave seja concluída.

Janelas 8: A partir do Windows 8, essa propriedade pode ser uma estrutura BCRYPT_DSA_PARAMETER_HEADER_V2 . Use essa estrutura se o tamanho da chave exceder 1024 bits e for menor ou igual a 3072 bits. Se o tamanho da chave for maior ou igual a 512, mas menor ou igual a 1024 bits, use a estrutura BCRYPT_DSA_PARAMETER_HEADER .

BCRYPT_EFFECTIVE_KEY_LENGTH

L"EffectiveKeyLength"

O tamanho, em bits, do comprimento efetivo de uma chave RC2. Este tipo de dados é um DWORD.

BCRYPT_HASH_BLOCK_LENGTH

L"HashBlockLength"

O tamanho, em bytes, do bloco para um hash. Esta propriedade só se aplica a algoritmos de hash. Este tipo de dados é um DWORD.

BCRYPT_HASH_LENGTH

L"HashDigestLength"

O tamanho, em bytes, do valor de hash de um provedor de hash. Este tipo de dados é um DWORD.

BCRYPT_HASH_OID_LIST

L"HashOIDList"

A lista de identificadores de objeto de hash (OIDs) codificados por DER. Esta propriedade é uma estrutura BCRYPT_OID_LIST . Esta propriedade só pode ser lida.

BCRYPT_INITIALIZATION_VECTOR

L"IV"

Contém o vetor de inicialização (IV) de uma chave. Esta propriedade só se aplica a chaves.

BCRYPT_KEM_SHARED_SECRET_LENGTH

L"BCRYPT_KEM_SHARED_SECRET_LENGTH"

O tamanho, em bytes, do segredo compartilhado para uma chave KEM (mecanismo de encapsulamento de chave). Este tipo de dados é um DWORD.

BCRYPT_KEM_CIPHERTEXT_LENGTH

L"BCRYPT_KEM_CIPHERTEXT_LENGTH"

O tamanho, em bytes, do texto cifrado para uma chave KEM (mecanismo de encapsulamento de chave). Este tipo de dados é um DWORD.

BCRYPT_KEY_LENGTH

L"KeyLength"

O tamanho, em bits, do valor da chave de um provedor de chave simétrica. Este tipo de dados é um DWORD.

BCRYPT_KEY_LENGTHS

L"KeyLengths"

Os comprimentos de chave que são suportados pelo algoritmo. Esta propriedade é uma estrutura BCRYPT_KEY_LENGTHS_STRUCT . Esta propriedade só se aplica a algoritmos.

BCRYPT_KEY_OBJECT_LENGTH

L"KeyObjectLength"

Esta propriedade não é usada. A propriedade BCRYPT_OBJECT_LENGTH é usada para obter essas informações.

BCRYPT_KEY_STRENGTH

L"KeyStrength"

O número de bits na chave. Este tipo de dados é um DWORD. Esta propriedade só se aplica a chaves.

BCRYPT_MESSAGE_BLOCK_LENGTH

L"MessageBlockLength"

Isso pode ser definido em qualquer identificador de chave que tenha o modo de encadeamento CFB definido. Por padrão, essa propriedade é definida como 1 para CFB de 8 bits. Defini-lo para o tamanho do bloco em bytes faz com que o CFB de bloco completo seja usado. Para chaves XTS é usado para definir o tamanho, em bytes, da unidade de dados XTS (geralmente 512 ou 4096).

BCRYPT_MULTI_OBJECT_LENGTH

L"MultiObjectLength"

Essa propriedade retorna um BCRYPT_MULTI_OBJECT_LENGTH_STRUCT, que contém informações necessárias para calcular o tamanho de um buffer de objetos. Esta propriedade só é suportada em versões do sistema operacional que suportam a função BCryptCreateMultiHash .

BCRYPT_OBJECT_LENGTH

L"ObjectLength"

O tamanho, em bytes, do subobjeto de um provedor. Este tipo de dados é um DWORD. Atualmente, os provedores de algoritmo de cifra simétrica e de hash usam buffers alocados pelo chamador para armazenar seus subobjetos. Por exemplo, o provedor de hash requer que você aloque memória para o objeto hash obtido com a função BCryptCreateHash . Esta propriedade fornece o tamanho do buffer para o objeto de um provedor para que você possa alocar memória para o objeto criado pelo provedor.

BCRYPT_PADDING_SCHEMES

L"PaddingSchemes"

Representa o esquema de preenchimento do provedor de algoritmo RSA. Este tipo de dados é um DWORD. Este pode ser um dos seguintes valores:

Identificador Valor Descrição
BCRYPT_SUPPORTED_PAD_ROUTER 0x00000001 O provedor suporta preenchimento adicionado pelo roteador.
BCRYPT_SUPPORTED_PAD_PKCS1_ENC 0x00000002 O provedor suporta o esquema de preenchimento de criptografia PKCS1.
BCRYPT_SUPPORTED_PAD_PKCS1_SIG 0x00000004 O provedor suporta o esquema de preenchimento de assinatura PKCS1.
BCRYPT_SUPPORTED_PAD_OAEP 0x00000008 O provedor suporta o esquema de preenchimento OAEP.
BCRYPT_SUPPORTED_PAD_PSS 0x00000010 O provedor suporta o esquema de preenchimento PSS.

BCRYPT_PARAMETER_SET_NAME

L"ParameterSetName"

Esse identificador deve ser definido nas teclas BCrypt ML-DSA e ML-KEM antes que elas possam ser finalizadas. A propriedade pode ser definida como um dos seguintes valores.

PQ-DSA valores de propriedade para BCRYPT_PARAMETER_SET_NAME:

Identificador Valor
BCRYPT_MLDSA_PARAMETER_SET_44 L"44"
BCRYPT_MLDSA_PARAMETER_SET_65 L"65"
BCRYPT_MLDSA_PARAMETER_SET_87 L"87"

ML-KEM valores de propriedade para BCRYPT_PARAMETER_SET_NAME:

Identificador Valor
BCRYPT_MLKEM_PARAMETER_SET_512 L"512"
BCRYPT_MLKEM_PARAMETER_SET_768 L"768"
BCRYPT_MLKEM_PARAMETER_SET_1024 L"1024"

BCRYPT_PROVIDER_HANDLE

L"ProviderHandle"

O identificador do provedor CNG que criou o objeto passou no parâmetro hObject . Este tipo de dados é um BCRYPT_ALG_HANDLE. Esta propriedade só pode ser recuperada; não pode ser definido.

BCRYPT_SIGNATURE_LENGTH

L"SignatureLength"

O tamanho, em bytes, do comprimento de uma assinatura para uma chave. Este tipo de dados é um DWORD. Esta propriedade só se aplica a chaves. Esta propriedade só pode ser recuperada; não pode ser definido.

Requerimentos

Requisito Valor
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]
Cabeçalho Bcrypt.h

Pseudo-alças de algoritmo CNG

Identificadores de algoritmo CNG