[Mono-dev] About System.Core.dll System.Security.Cryptography and Cng

Juho Vähä-Herttua juhovh at gmail.com
Wed Feb 16 05:19:32 EST 2011


Hi,

I have implemented elliptic curve cryptography (ECC) algorithms on .NET 
by using the BigInteger struct from .NET 4.0. On Fp curves they seem to 
be considerably faster (about twice the speed) than the BouncyCastle 
library http://www.bouncycastle.org/csharp/ I used for comparison. This 
is probably mostly because of the speed of the BigInteger 
implementation, because I don't see much difference in the actual 
arithmetics.

I have also implemented most of the Cng related enumerations in 
System.Security.Cryptography and reverse engineered some 
ECDiffieHellmanCng class functionality where the documentation is not 
clear. I could send these upstream to Mono, but since there are a lot of 
files to be added, I'd like to know how should I proceed. They would 
probably need at least reviewing, should I write some tests before they 
can be accepted? Does Novell have some copyright policy I should 
consider? Releasing them with the MIT license shouldn't be a problem.


Juho



More information about the Mono-devel-list mailing list