Export (0) Print
Expand All
4 out of 6 rated this helpful - Rate this topic

ALG_ID

The ALG_ID data type specifies an algorithm identifier. Parameters of this data type are passed to most of the functions in CryptoAPI.


typedef unsigned int ALG_ID;

The following table lists the algorithm identifiers that are currently defined. Authors of custom cryptographic service providers (CSPs) can define new values. Also, the ALG_ID used by custom CSPs for the key specifications AT_KEYEXCHANGE and AT_SIGNATURE are provider dependent. Current mappings follow the table.

IdentifierValueDescription
CALG_3DES0x00006603Triple DES encryption algorithm.
CALG_3DES_1120x00006609Two-key triple DES encryption with effective key length equal to 112 bits.
CALG_AES0x00006611Advanced Encryption Standard (AES). This algorithm is supported by the Microsoft AES Cryptographic Provider.
CALG_AES_1280x0000660e128 bit AES. This algorithm is supported by the Microsoft AES Cryptographic Provider.
CALG_AES_1920x0000660f192 bit AES. This algorithm is supported by the Microsoft AES Cryptographic Provider.
CALG_AES_2560x00006610256 bit AES. This algorithm is supported by the Microsoft AES Cryptographic Provider.
CALG_AGREEDKEY_ANY0x0000aa03Temporary algorithm identifier for handles of Diffie-Hellman–agreed keys.
CALG_CYLINK_MEK0x0000660cAn algorithm to create a 40-bit DES key that has parity bits and zeroed key bits to make its key length 64 bits. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_DES0x00006601DES encryption algorithm.
CALG_DESX0x00006604DESX encryption algorithm.
CALG_DH_EPHEM0x0000aa02Diffie-Hellman ephemeral key exchange algorithm.
CALG_DH_SF0x0000aa01Diffie-Hellman store and forward key exchange algorithm.
CALG_DSS_SIGN0x00002200DSA public key signature algorithm.
CALG_ECDH0x0000aa05Elliptic curve Diffie-Hellman key exchange algorithm.

Note  This algorithm is supported only through Cryptography API: Next Generation.

Windows Server 2003 and Windows XP:  This algorithm is not supported.

CALG_ECDSA0x00002203Elliptic curve digital signature algorithm.

Note  This algorithm is supported only through Cryptography API: Next Generation.

Windows Server 2003 and Windows XP:  This algorithm is not supported.

CALG_ECMQV0x0000a001Elliptic curve Menezes, Qu, and Vanstone (MQV) key exchange algorithm. This algorithm is not supported.
CALG_HASH_REPLACE_OWF0x0000800bOne way function hashing algorithm.
CALG_HUGHES_MD50x0000a003Hughes MD5 hashing algorithm.
CALG_HMAC0x00008009HMAC keyed hash algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_KEA_KEYX0x0000aa04KEA key exchange algorithm (FORTEZZA). This algorithm is not supported.
CALG_MAC0x00008005MAC keyed hash algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_MD20x00008001MD2 hashing algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_MD40x00008002MD4 hashing algorithm.
CALG_MD50x00008003MD5 hashing algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_NO_SIGN0x00002000No signature algorithm.
CALG_OID_INFO_CNG_ONLY0xffffffffThe algorithm is only implemented in CNG. The macro, IS_SPECIAL_OID_INFO_ALGID, can be used to determine whether a cryptography algorithm is only supported by using the CNG functions.
CALG_OID_INFO_PARAMETERS0xfffffffeThe algorithm is defined in the encoded parameters. The algorithm is only supported by using CNG. The macro, IS_SPECIAL_OID_INFO_ALGID, can be used to determine whether a cryptography algorithm is only supported by using the CNG functions.
CALG_PCT1_MASTER0x00004c04Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_RC20x00006602RC2 block encryption algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_RC40x00006801RC4 stream encryption algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_RC50x0000660dRC5 block encryption algorithm.
CALG_RSA_KEYX0x0000a400RSA public key exchange algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_RSA_SIGN0x00002400RSA public key signature algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_SCHANNEL_ENC_KEY0x00004c07Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_SCHANNEL_MAC_KEY0x00004c03Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_SCHANNEL_MASTER_HASH0x00004c02Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_SEAL0x00006802SEAL encryption algorithm. This algorithm is not supported.
CALG_SHA0x00008004SHA hashing algorithm. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_SHA10x00008004Same as CALG_SHA. This algorithm is supported by the Microsoft Base Cryptographic Provider.
CALG_SHA_2560x0000800c256 bit SHA hashing algorithm. This algorithm is supported by Microsoft Enhanced RSA and AES Cryptographic Provider..

Windows XP with SP3:  This algorithm is supported by the Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype).

Windows XP with SP2, Windows XP with SP1, and Windows XP:  This algorithm is not supported.

CALG_SHA_3840x0000800d384 bit SHA hashing algorithm. This algorithm is supported by Microsoft Enhanced RSA and AES Cryptographic Provider.

Windows XP with SP3:  This algorithm is supported by the Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype).

Windows XP with SP2, Windows XP with SP1, and Windows XP:  This algorithm is not supported.

CALG_SHA_5120x0000800e512 bit SHA hashing algorithm. This algorithm is supported by Microsoft Enhanced RSA and AES Cryptographic Provider.

Windows XP with SP3:  This algorithm is supported by the Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype).

Windows XP with SP2, Windows XP with SP1, and Windows XP:  This algorithm is not supported.

CALG_SKIPJACK0x0000660aSkipjack block encryption algorithm (FORTEZZA). This algorithm is not supported.
CALG_SSL2_MASTER0x00004c05Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_SSL3_MASTER0x00004c01Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_SSL3_SHAMD50x00008008Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_TEK0x0000660bTEK (FORTEZZA). This algorithm is not supported.
CALG_TLS1_MASTER0x00004c06Used by the Schannel.dll operations system. This ALG_ID should not be used by applications.
CALG_TLS1PRF0x0000800aUsed by the Schannel.dll operations system. This ALG_ID should not be used by applications.

 

For the Microsoft Base Cryptographic Provider, the Microsoft Strong Cryptographic Provider, and the Microsoft Enhanced Cryptographic Provider, the ALG_IDs used for the key specifications AT_KEYEXCHANGE and AT_SIGNATURE are as follows:

  • CALG_RSA_KEYX is used for AT_KEYEXCHANGE.
  • CALG_RSA_SIGN is used for AT_SIGNATURE.

For the Microsoft Base DSS and Diffie-Hellman Cryptographic Provider, the ALG_IDs used for the key specifications AT_KEYEXCHANGE and AT_SIGNATURE are as follows:

  • CALG_DH_SF is used for AT_KEYEXCHANGE.
  • CALG_DSS_SIGN is used for AT_SIGNATURE.

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Wincrypt.h

See also

Cryptography Functions
CRYPT_ALGORITHM_IDENTIFIER
CryptFindOIDInfo

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.