Ludovic Henry 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
..
.gitattributes b293948fb7 EOL handling 15 lat temu
AesCng.cs 10c5e72512 [bcl] netstandart 1.6 support 9 lat temu
AesCryptoServiceProvider.cs 6597227b23 Aes[Managed|CryptoServiceProvider] have a few more differences with RjindaelManaged. Narrow that gap a bit. 13 lat temu
AesTransform.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
CngAlgorithm.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngAlgorithmGroup.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngExportPolicies.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngKeyCreationOptions.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngKeyCreationParameters.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngKeyOpenOptions.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngKeyUsages.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngProperty.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngPropertyCollection.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngPropertyOptions.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngProvider.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngUIPolicy.cs b4753cd752 2011-02-17 Juho Vähä-Herttua <[email protected]> 15 lat temu
CngUIProtectionLevels.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
ECCurve.cs f5b5a6fdfd [Facades] System.Security.Cryptography.Algorithms on netstandard profiles only 9 lat temu
ECDiffieHellmanKeyDerivationFunction.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
ECKeyXmlFormat.cs 7735ff82f6 2011-02-16 Juho Vähä-Herttua <[email protected]> 15 lat temu
ECParameters.cs f5b5a6fdfd [Facades] System.Security.Cryptography.Algorithms on netstandard profiles only 9 lat temu
ECPoint.cs f5b5a6fdfd [Facades] System.Security.Cryptography.Algorithms on netstandard profiles only 9 lat temu
IncrementalHash.cs 3c3ef17376 [bcl] Update to match NETStandard 1.6 members 9 lat temu
MD5Cng.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
README.CNG 86ec227096 2008-08-05 Sebastien Pouliot <[email protected]> 17 lat temu
README.CSP 86ec227096 2008-08-05 Sebastien Pouliot <[email protected]> 17 lat temu
SHA1Cng.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
SHA256Cng.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
SHA256CryptoServiceProvider.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
SHA384Cng.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
SHA384CryptoServiceProvider.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
SHA512Cng.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
SHA512CryptoServiceProvider.cs 249daf43de [mcs] Replace NET_2_1 by MOBILE 9 lat temu
TripleDESCng.cs 10c5e72512 [bcl] netstandart 1.6 support 9 lat temu

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.