The purpose of the Diffie-Hellman algorithm is to make it possible for two or more hosts to create and share an identical, secret encryption key, by simply sharing information over an insecure network. The information that gets shared over the network is in the form of a couple of constant values, and a D-H public key.
The following table shows the algorithm list supported by the Microsoft Diffie-Hellman/Schannel Cryptographic Provider:
Algorithm ID | Description | Comments |
---|---|---|
CALG_DH_SF | Diffie-Hellman store and forward key exchange algorithm | Key length: settable, 384 bits to 512 bits in 8 bit increments. Default key length: 512 bits. |
CALG_MD5 | MD5 hashing algorithm. | Provided only for hashing. |
CALG_DH_EPHEM | Ephemeral D-H key exchange. | Key length: settable, 384 bits to 512 bits in 8 bit increments. Default key length: 512 bits. |
CALG_SHA | SHA hashing algorithm. | Must be used for DSS signatures. |
CALG_RC2 | RC2 block encryption algorithm | Key length 40 to 88 bits. |
CALG_RC4 | RC4 stream encryption algorithm | Key length: 40 to 88 bits. |
CALG_CYLINK_ MEK |
DES variant encryption algorithm | Key length: 40 bits. |