[Mono-dev] About System.Core.dll System.Security.Cryptography and Cng
Sebastien Pouliot
sebastien.pouliot at gmail.com
Wed Feb 16 08:39:59 EST 2011
Hello Juho,
On Wed, 2011-02-16 at 12:19 +0200, Juho Vähä-Herttua wrote:
> 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
iirc we already part them (or part of them in our git repository)
> and reverse engineered some
> ECDiffieHellmanCng class functionality where the documentation is not
> clear.
"reverse engineered" means a lot of things to different people. Can you
elaborate on this and ensure it's in compliance with:
http://www.mono-project.com/Contributing#Important_Rules
> 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.
That would be great :) and a patch will be fine (for review). But first
please read both:
http://www.mono-project.com/Contributing
and
http://www.mono-project.com/Coding_Guidelines
> They would
> probably need at least reviewing,
Yes
> should I write some tests before they
> can be accepted?
Yes, definitively! Unit tests (nunit) are required to ensure it works
correctly (on both MS and Mono runtimes) and ensure no future
regressions.
> Does Novell have some copyright policy I should
> consider? Releasing them with the MIT license shouldn't be a problem.
Our class libraries are MIT.X11 licensed, so as long as you can release
this code with that license there should not be any problem.
Sebastien
More information about the Mono-devel-list
mailing list