Rodrigo Kumpera 18044f8079 This was removed by accident when chopping MOONLIGHT code out. 13 years ago
..
.gitattributes b293948fb7 EOL handling 15 years ago
Aes.cs 18044f8079 This was removed by accident when chopping MOONLIGHT code out. 13 years ago
AesCryptoServiceProvider.cs 6597227b23 Aes[Managed|CryptoServiceProvider] have a few more differences with RjindaelManaged. Narrow that gap a bit. 13 years ago
AesManaged.cs 6597227b23 Aes[Managed|CryptoServiceProvider] have a few more differences with RjindaelManaged. Narrow that gap a bit. 13 years ago
AesTransform.cs 2522376906 2008-08-07 Sebastien Pouliot <[email protected]> 17 years ago
ChangeLog b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngAlgorithm.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngAlgorithmGroup.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngExportPolicies.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
CngKeyBlobFormat.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngKeyCreationOptions.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
CngKeyCreationParameters.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngKeyOpenOptions.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
CngKeyUsages.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
CngProperty.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngPropertyCollection.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngPropertyOptions.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
CngProvider.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngUIPolicy.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 years ago
CngUIProtectionLevels.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
ECDiffieHellmanKeyDerivationFunction.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
ECKeyXmlFormat.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 years ago
MD5Cng.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
README.CNG 86ec227096 2008-08-05 Sebastien Pouliot <[email protected]> 17 years ago
README.CSP 86ec227096 2008-08-05 Sebastien Pouliot <[email protected]> 17 years ago
SHA1Cng.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
SHA256Cng.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
SHA256CryptoServiceProvider.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
SHA384Cng.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
SHA384CryptoServiceProvider.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
SHA512Cng.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago
SHA512CryptoServiceProvider.cs e4dd723dbf 2009-04-29 Sebastien Pouliot <[email protected]> 16 years ago

README.CNG

CNG stands for "Cryptography API: Next Generation"

CNG is the replacement for CryptoAPI under Windows Vista (and later) and
just like CryptoAPI it is a Windows-specific, native (unmanaged) library.

In MS implementation the *Cng classes are simply managed wrappers around
the native CNG libraries. This is similar to older *CryptoServiceProvider
classes that provided managed wrappers around CryptoAPI.

In Mono implementation the *Cng classes are, mostly[1], wrappers around
existing managed classes provided in older version of the framework.
This is essentially similar to what Mono already does for the
*CryptoServiceProvider classes (i.e. provide managed implementation).

Of couse this won't affect people using the base algorithm classes to
create the default instance of their algorithm.

E.g.
SHA256 hash = SHA256.Create ();
has been working for years and will continue to do so.


New CNG crypto classes Wrapper around
---------------------- --------------
ECDsaCng none [1]
ECDiffieHellmanCng none [1]
MD5Cng MD5CryptoServiceProvider [mscorlib]
SHA1Cng SHA1Managed [mscorlib]
SHA256Cng SHA256Managed [mscorlib]
SHA384Cng SHA384Managed [mscorlib]
SHA512Cng SHA512Managed [mscorlib]


[1] Two specific cases, namely ECDH and ECDSA, are new algorithms that
were not available before CNG and for which Mono does not, at the
present time, have managed alternatives.

The *actual* behavior of both class is to throw a PlatformException
just like running the same code would do under Windows XP (or earlier).
Once we have managed implementations for both algorithms we'll behave
like Vista.