ALG_ID
This data type specifies algorithm identifiers. Most of the functions in the CryptoAPI pass parameters of this data type that are defined in the Wincrypt.h header file as follows.
typedef unsigned int ALG_ID;
Remarks
Authors of custom cryptographic service providers (CSPs) can define algorithm identifiers. The ALG_ID data type used by custom CSPs for the key specs AT_KEYEXCHANGE and AT_SIGNATURE are provider dependent. The following table shows the algorithm identifiers that are currently defined.
Constant | Description |
---|---|
CALG_AGREEDKEY_ANY | Temporary algorithm identifier for handles of Diffie-Hellman–agreed keys. |
CALG_CYLINK_MEK* | An algorithm to create a 40-bit DES key that has parity bits and zeroed key bits to make its key length 64 bits. |
CALG_DES | DES encryption algorithm. |
CALG_DESX | DES encryption algorithm. |
CALG_3DES | Triple DES encryption algorithm. |
CALG_3DES_112 | Two-key triple DES with effective key length equal to 112 bits. |
CALG_DH_EPHEM | Diffie-Hellman ephemeral key exchange algorithm. |
CALG_DH_SF | Diffie-Hellman store and forward key exchange algorithm. |
CALG_DSS_SIGN | DSA public-key signature algorithm. |
CALG_HMAC* | HMAC keyed hash algorithm. |
CALG_KEA_KEYX | KEA key exchange algorithm (FORTEZZA). |
CALG_MAC* | MAC keyed hash algorithm. |
CALG_MD2* | MD2 hashing algorithm. |
CALG_MD4 | MD4 hashing algorithm. |
CALG_MD5* | MD5 Hashing algorithm. |
CALG_RC2* | RC2 block encryption algorithm. |
CALG_RC4* | RC4 stream encryption algorithm. |
CALG_RC5 | RC5 block encryption algorithm. |
CALG_RSA_KEYX* | RSA public-key key exchange algorithm. |
CALG_RSA_SIGN* | RSA public-key signature algorithm. |
CALG_SEAL | SEAL encryption algorithm. |
CALG_SHA* | SHA hashing algorithm. |
CALG_SHA1* | Same as CALG_SHA. |
CALG_SKIPJACK | Skipjack block encryption algorithm (FORTEZZA). |
CALG_SSL3_SHAMD5 | SSL3 client authentication. |
CALG_TEK | TEK (FORTEZZA). |
CALG_SSL3_SHAMD5 | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_SSL3_MASTER | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_SCHANNEL_MASTER_HASH | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_SCHANNEL_MAC_KEY | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_SCHANNEL_ENC_KEY | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_PCT1_MASTER | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_SSL2_MASTER | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_TLS1_MASTER | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
CALG_TLS1PRF | Used by the schannel.dll operations system. This ALG_ID should not be used by applications. |
* Algorithms supported by the Microsoft Base Cryptographic Provider.
For the Microsoft Base Cryptographic Provider and the Microsoft Enhanced Cryptographic Provider, the following ALG_IDs are used for the key specs AT_KEYEXCHANGE and AT_SIGNATURE:
- CALG_RSA_KEYX for AT_KEYEXCHANGE
- CALG_RSA_SIGN for AT_SIGNATURE
For the Microsoft DSS Cryptographic Provider and the Diffie-Hellman Provider, the following ALG_IDs are used for the key specs AT_KEYEXCHANGE and AT_SIGNATURE:
- CALG_DH_SF for AT_KEYEXCHANGE
- CALG_DSS_SIGN for AT_SIGNATURE
Requirements
OS Versions: Windows CE 3.0 and later.
Header: Wincrypt.h.
See Also
CryptFindOIDInfo | CRYPT_ALGORITHM_IDENTIFIER
Last updated on Thursday, April 08, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.