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:

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 data type used by custom CSPs for the key specs AT_KEYEXCHANGE and AT_SIGNATURE are provider dependent. Current mappings follow the table.

Constant Description
CALG_HMAC HMAC Keyed hash algorithm
CALG_MD2 MD2 Hashing algorithm
CALG_MD4 MD4 Hashing algorithm
CALG_MD5 MD5 Hashing algorithm
CALG_SHA SHA Hashing algorithm
CALG_SHA1 Same as CALG_SHA
CALG_MAC MAC keyed hash algorithm
CALG_SSL3_SHAMD5 SSL3 Client authentication
CALG_RSA_SIGN RSA public-key signature algorithm
CALG_DSS_SIGN DSA Public-key signature algorithm
CALG_RSA_KEYX RSA public-key key exchange algorithm
CALG_DES DES Encryption algorithm
CALG_RC2 RC2 Block encryption algorithm
CALG_RC4 RC4 Stream encryption algorithm
CALG_SEAL SEAL Encryption algorithm
CALG_DH_SF Diffie-Hellman store and forward key exchange algorithm
CALG_DH_EPHEM Diffie-Hellman ephemeral key exchange algorithm
CALG_AGREEDKEY_ANY Temporary algorithm identifier for handles of Diffie-Hellman–agreed keys
CALG_KEA_KEYX KEA Key exchange algorithm (FORTEZZA)
CALG_SKIPJACK Skipjack block encryption algorithm (FORTEZZA)
CALG_TEK TEK (FORTEZZA)
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.
Algorithms supported by the Microsoft Base Cryptographic Provider.

For the Microsoft Base Cryptographic Provider and the Microsoft Enhanced Cryptographic Provider, the ALG_IDs used for the key specs 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 DSS Cryptographic Provider and the Diffie-Hellman Provider, the ALG_IDs used for the key specs 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

Runs on Versions Defined in Include Link to
Windows CE OS 3.0 or later Wincrypt.h    

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

CryptFindOIDInfo, CRYPT_ALGORITHM_IDENTIFIER

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.