You may know that System.Security.Cryptography for Compact Framework lacks many cryptography algorithms compared to the desktop .Net Framework (2005 and later). In a project we have needed SHA512 encryption on Windows CE and we have found /cfAes library which provides almost all of the crypto functionality of .NET Framework. We are grateful to the author for sharing the class library.
The following table displays a comparison between the versions of .Net Framework with respect to the support for different crypyography algorithms (X means that it is supported, 0 means partially supported).
| Crytpo Algorithm | .NET 2003 | OpenNETCF 1.2 | /cfAES | WSE 2.0 | CF 2.0 | .NET 2005 |
| MD5 | X | X | X | X | X | |
| SHA1 | X | X | X | X | X | |
| SHA256 | X | X | X | |||
| SHA384 | X | X | X | |||
| SHA512 | X | X | X | |||
| MACTripleDES | X | 0 | X | X | ||
| HMACSHA1 | X | X | X | X | X | |
| PasswordDeriveBytes | X | 0 | X | X | ||
| RC2 | X | X | X | X | X | |
| DES | X | X | X | X | X | |
| TripleDES | X | X | X | X | X | X |
| Rijndeal | X | X | X | X | ||
| RSA | X | X | X | X | X | X |
| DSA | X | X | X | X | X | |
| RIPEMD160 | X | X | ||||
| HMACMD5 | X | X | ||||
| HMACSHA256 | X | X | ||||
| HMACSHA384 | X | X | ||||
| HMACSHA512 | X | X | ||||
| HMACRIPEMD160 | X | X | ||||
| Rfc2898DeriveBytes | X | X | ||||
| ProtectedData | X | X | ||||
| ProtectedMemory | X | X | ||||
| PSHA1 | X | X | ||||
| AESKeyExchangeFormatter | X | X | ||||
| TripleDesKeyExchangeFormatter | X | X | ||||
| SecureString | X | X |


