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 |