# Microsoft DSS and Diffie-Hellman Cryptographic Provider

**Windows Mobile 6.5**

The Microsoft Base DSS and Diffie-Hellman Cryptographic Provider supports Diffie-Hellman (D-H) key exchange, SHA hashing, DSS data signing, and DSS signature verification. This cryptographic provider can be exported to other countries or regions, and is currently provided by Windows CE .NET 4.2 and later.

Provider Type: PROV_DSS_DH

Provider Name: MS_ENH_DSS_DH_PROV

The following table shows the algorithms supported by the Microsoft DSS and Diffie-Hellman Cryptographic Provider.

Algorithm ID | Description | Comments |
---|---|---|

CALG_RC4 |
RC4 stream encryption algorithm |
Default key length: 128 bits. Salt length: 88 bits. |

CALG_RC5 |
RC5 block encryption algorithm |
Key length: 128 bits. No salt allowed. |

CALG_DES |
DES encryption |
DES encryption key length: 56 bits. Default mode: cipher block chaining. Block size: 64 bits. No salt allowed. |

CALG_3DES |
Triple DES |
Key Length: 168 bits. Default mode: cipher block chaining. Block size: 64 bits. No salt allowed. |

CALG_MD5 |
MD5 hashing algorithm. |
Provided only for hashing. |

CALG_SHA |
SHA hashing algorithm. |
Must be used for DSS signatures. |

CALG_SHA1 |
Same as CALG_SHA. |
No comment. |

CALG_DSS_SIGN |
DSS public/private-key signature algorithm. |
Key length: can be set, 512 bits to 1,024 bits in 64 bit increments. Default key length: 1,024 bits. |

CALG_DH_SF |
Store and Forward D-H key exchange. |
Key length: can be set, 512 bits to 2048 bits in 8 bit increments. Default key length: 1024 bits. |

CALG_DH_EPHEM |
Ephemeral D-H key exchange. |
Key length: can be set, 512 bits to 2048 bits in 8 bit increments. Default key length: 1024 bits. |