ALG_ID

O tipo de dados ALG_ID especifica um identificador de algoritmo. Os parâmetros desse tipo de dados são passados para a maioria das funções em CryptoAPI.

typedef unsigned int ALG_ID;

A tabela a seguir lista os identificadores de algoritmo definidos no momento. Os autores de CSPs ( provedores de serviços criptográficos) personalizados podem definir novos valores. Além disso, os ALG_ID usados por CSPs personalizados para as principais especificações AT_KEYEXCHANGE e AT_SIGNATURE são dependentes do provedor. Os mapeamentos atuais seguem a tabela.

Identificador Valor Descrição
CALG_3DES 0x00006603 Algoritmo de criptografia DES triplo .
CALG_3DES_112 0x00006609 Criptografia DES tripla de duas chaves com comprimento de chave efetivo igual a 112 bits.
CALG_AES 0x00006611 AES (Advanced Encryption Standard). Esse algoritmo é compatível com o Provedor Criptográfico do Microsoft AES.
CALG_AES_128 0x0000660e AES de 128 bits. Esse algoritmo é compatível com o Provedor Criptográfico do Microsoft AES.
CALG_AES_192 0x0000660f AES de 192 bits. Esse algoritmo é compatível com o Provedor Criptográfico do Microsoft AES.
CALG_AES_256 0x00006610 AES de 256 bits. Esse algoritmo é compatível com o Provedor Criptográfico do Microsoft AES.
CALG_AGREEDKEY_ANY 0x0000aa03 Identificador de algoritmo temporário para identificadores de chaves acordadas por Diffie-Hellman.
CALG_CYLINK_MEK 0x0000660c Um algoritmo para criar uma chave DES de 40 bits que tem bits de paridade e bits de chave zero para tornar seu comprimento de chave de 64 bits. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_DES 0x00006601 Algoritmo de criptografia DES.
CALG_DESX 0x00006604 Algoritmo de criptografia DESX.
CALG_DH_EPHEM 0x0000aa02 Diffie-Hellman algoritmo de troca de chaves efêmera.
CALG_DH_SF 0x0000aa01 Diffie-Hellman armazenar e encaminhar algoritmo de troca de chaves.
CALG_DSS_SIGN 0x00002200 Algoritmo de assinatura de chave pública DSA.
CALG_ECDH 0x0000aa05 Curva elíptica Diffie-Hellman algoritmo de troca de chaves. Nota: Esse algoritmo só tem suporte por meio da API de Criptografia: Próxima Geração.
Windows Server 2003 e Windows XP: Não há suporte para esse algoritmo.
CALG_ECDH_EPHEM 0x0000ae06 Curva efêmera elíptica Diffie-Hellman algoritmo de troca de chaves. Nota: Esse algoritmo só tem suporte por meio da API de Criptografia: Próxima Geração.
Windows Server 2003 e Windows XP: Não há suporte para esse algoritmo.
CALG_ECDSA 0x00002203 Algoritmo de assinatura digital de curva elíptica. Nota: Esse algoritmo só tem suporte por meio da API de Criptografia: Próxima Geração.
Windows Server 2003 e Windows XP: Não há suporte para esse algoritmo.
CALG_ECMQV 0x0000a001 Algoritmo de troca de chaves Menezes, Qu e Vanstone (MQV) de curva elíptica. Não há suporte para esse algoritmo.
CALG_HASH_REPLACE_OWF 0x0000800b Algoritmo de hash de função unidirecional.
CALG_HUGHES_MD5 0x0000a003 Algoritmo de hash hughes MD5.
CALG_HMAC 0x00008009 Algoritmo de hash com chave HMAC. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_KEA_KEYX 0x0000aa04 ALGORITMO DE TROCA de chaves KEA (FORTEZZA). Não há suporte para esse algoritmo.
CALG_MAC 0x00008005 Algoritmo de hash com chave MAC. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_MD2 0x00008001 Algoritmo de hash MD2. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_MD4 0x00008002 Algoritmo de hash MD4.
CALG_MD5 0x00008003 Algoritmo de hash MD5. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_NO_SIGN 0x00002000 Nenhum algoritmo de assinatura.
CALG_OID_INFO_CNG_ONLY 0xffffffff O algoritmo só é implementado em CNG. A macro, IS_SPECIAL_OID_INFO_ALGID, pode ser usada para determinar se um algoritmo de criptografia só tem suporte usando as funções CNG.
CALG_OID_INFO_PARAMETERS 0xfffffffe O algoritmo é definido nos parâmetros codificados. O algoritmo só tem suporte usando CNG. A macro, IS_SPECIAL_OID_INFO_ALGID, pode ser usada para determinar se um algoritmo de criptografia só tem suporte usando as funções CNG.
CALG_PCT1_MASTER 0x00004c04 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_RC2 0x00006602 Algoritmo de criptografia de bloco RC2. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_RC4 0x00006801 Algoritmo de criptografia de fluxo RC4. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_RC5 0x0000660d Algoritmo de criptografia de bloco RC5.
CALG_RSA_KEYX 0x0000a400 Algoritmo de troca de chaves públicas RSA. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_RSA_SIGN 0x00002400 Algoritmo de assinatura de chave pública RSA. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_SCHANNEL_ENC_KEY 0x00004c07 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_SCHANNEL_MAC_KEY 0x00004c03 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_SCHANNEL_MASTER_HASH 0x00004c02 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_SEAL 0x00006802 Algoritmo de criptografia SEAL. Não há suporte para esse algoritmo.
CALG_SHA 0x00008004 Algoritmo de hash SHA. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_SHA1 0x00008004 O mesmo que CALG_SHA. Esse algoritmo é compatível com o Provedor Criptográfico Base da Microsoft.
CALG_SHA_256 0x0000800c Algoritmo de hash SHA de 256 bits. Esse algoritmo tem suporte do Microsoft Enhanced RSA e do Provedor Criptográfico do AES. Windows XP com SP3: Esse algoritmo tem suporte do Microsoft Enhanced RSA e do Provedor Criptográfico AES (Protótipo).
Windows XP com SP2, Windows XP com SP1 e Windows XP: Não há suporte para esse algoritmo.
CALG_SHA_384 0x0000800d Algoritmo de hash SHA de 384 bits. Esse algoritmo tem suporte do Microsoft Enhanced RSA e do Provedor Criptográfico AES. Windows XP com SP3: Esse algoritmo tem suporte do Microsoft Enhanced RSA e do Provedor Criptográfico AES (Protótipo).
Windows XP com SP2, Windows XP com SP1 e Windows XP: Não há suporte para esse algoritmo.
CALG_SHA_512 0x0000800e Algoritmo de hash SHA de 512 bits. Esse algoritmo tem suporte do Microsoft Enhanced RSA e do Provedor Criptográfico AES. Windows XP com SP3: Esse algoritmo tem suporte do Microsoft Enhanced RSA e do Provedor Criptográfico AES (Protótipo).
Windows XP com SP2, Windows XP com SP1 e Windows XP: Não há suporte para esse algoritmo.
CALG_SKIPJACK 0x0000660a Algoritmo de criptografia de bloco skipjack (FORTEZZA). Não há suporte para esse algoritmo.
CALG_SSL2_MASTER 0x00004c05 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_SSL3_MASTER 0x00004c01 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_SSL3_SHAMD5 0x00008008 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_TEK 0x0000660b TEK (FORTEZZA). Não há suporte para esse algoritmo.
CALG_TLS1_MASTER 0x00004c06 Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.
CALG_TLS1PRF 0x0000800a Usado pelo sistema de operações Schannel.dll. Essa ALG_ID não deve ser usada por aplicativos.

 

Para o Provedor Criptográfico Base da Microsoft, o Provedor Criptográfico Forte da Microsoft e o Provedor Criptográfico Avançado da Microsoft, as ALG_IDs usadas para as principais especificações AT_KEYEXCHANGE e AT_SIGNATURE são as seguintes:

  • CALG_RSA_KEYX é usado para AT_KEYEXCHANGE.
  • CALG_RSA_SIGN é usado para AT_SIGNATURE.

Para o Microsoft Base DSS e Diffie-Hellman Cryptographic Provider, as ALG_IDs usadas para as principais especificações AT_KEYEXCHANGE e AT_SIGNATURE são as seguintes:

  • CALG_DH_SF é usado para AT_KEYEXCHANGE.
  • CALG_DSS_SIGN é usado para AT_SIGNATURE.

Requisitos

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

Confira também

Funções de criptografia

CRYPT_ALGORITHM_IDENTIFIER

CryptFindOIDInfo