-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding support for more curves with different security levels #5
Comments
Hello,
We are open to adding new curves, as long as they are of interest to a
sizeable group. If you have a specific request let us know and we might
implement it ourselves. Each new curve needs a small rom file with the
curve parameters.
Alternatively tools are provided to generate the files for new curves, and
if you are willing to do the work necessary to support your choice of
curve across all of the supported languages via a pull request (PR), then
we would certainly consider it.
What curves do you have in mind? We have in mind at least one new curve we
might add.
Mike
…On Thu, Dec 5, 2019 at 5:03 PM A1337CBS ***@***.***> wrote:
Hi,
I have been going through the code and wanted to add more curves but saw
that it would require a lot of files which could clutter up soon, is that a
good approach or did I get it wrong?
Do the authors of the library plan to add more curves too?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#5?email_source=notifications&email_token=AAU3ZDSJI2NDPWBVUWZCSDLQXEX7RA5CNFSM4JV4WY22YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H6MHY5A>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAU3ZDQQYQN5FAP6KWL6XGDQXEX7RANCNFSM4JV4WY2Q>
.
|
Hi, As for tools, only romgen with miracl library would be needed for the above curves right? What is the curve that you might add? Also what is the roadmap/end goal you have in mind for this library? Thanks |
Hello,
Good idea. Yes, romgen would be the only tool required. The only curve we
have currently in mind is the Montgomery version of the Goldilocks Edwards
curves.
Mike
…On Fri, Dec 6, 2019 at 9:34 AM A1337CBS ***@***.***> wrote:
Hi,
I am not sure if others would like to see it but my reasoning is that for
constrained environments as stated in the readme having curves like
secp160r1, secp192r1 and secp224r1 would be nice. I would start the
implementation on c++ if it goes well will try to do the same for other
languages and send PR then.
As for tools, only romgen with miracl library would be needed for the
above curves right?
What is the curve that you might add?
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5?email_source=notifications&email_token=AAU3ZDQWC7MBHKT7OSJFASTQXIMCFA5CNFSM4JV4WY22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGDRPGQ#issuecomment-562501530>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAU3ZDSQDCBUUHUQAJCABCLQXIMCFANCNFSM4JV4WY2Q>
.
|
I recommend considering also BLS12-381 (pairing capable) which is the best current candidate in the ETH2.0 specification and likely to face considerable adoption. You have a ROM already in the SWIG implementation here https://github.com/miracl/core/blob/cfed4f13ae2b620061dc3a15cd62a8d96762b4a4/swift/rom_bls12381.swift not sure how well tested. |
Hello Jaromil,
Curve BLS12381 is already fully supported across all languages.
Mike
…On Fri, Dec 6, 2019 at 10:18 AM Jaromil ***@***.***> wrote:
I recommend considering also BLS12-381 (pairing capable) which is the best
current candidate in the ETH2.0 specification and likely to face
considerable adoption. You have a ROM already in the SWIG implementation
here
https://github.com/miracl/core/blob/cfed4f13ae2b620061dc3a15cd62a8d96762b4a4/swift/rom_bls12381.swift
not sure how well tested.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5?email_source=notifications&email_token=AAU3ZDX2INPDM2U3VBK77GLQXIRFVA5CNFSM4JV4WY22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGDVAPY#issuecomment-562516031>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAU3ZDW4AACCJ36QF3LNKUTQXIRFVANCNFSM4JV4WY2Q>
.
|
Hi Mike, effectively, as the author post is saying it would be useful to have also curves to guarantee a minimum security level for constrained devices (e.g. 80 bit with the EC secp160r1 or the Koblitz one secp160k1 [1] for IoT devices it is good). I understand that we can adopt the provided tool and for example put in input the parameter provided for secp160r1 to generate the respective Elliptic Curve. By the way, if you can provide these curves it is better. |
Hello Pietro,
I agree that this is a good idea, and I will do it myself when I get time
(unless someone else does it in the meantime!)
Mike
On Mon, Dec 9, 2019 at 1:18 PM Pietro Tedeschi <notifications@github.com>
wrote:
… Hello, Good idea. Yes, romgen would be the only tool required. The only
curve we have currently in mind is the Montgomery version of the Goldilocks
Edwards curves. Mike
… <#m_-3334713079392425613_>
On Fri, Dec 6, 2019 at 9:34 AM A1337CBS *@*.***> wrote: Hi, I am not sure
if others would like to see it but my reasoning is that for constrained
environments as stated in the readme having curves like secp160r1,
secp192r1 and secp224r1 would be nice. I would start the implementation on
c++ if it goes well will try to do the same for other languages and send PR
then. As for tools, only romgen with miracl library would be needed for the
above curves right? What is the curve that you might add? Thanks — You are
receiving this because you commented. Reply to this email directly, view it
on GitHub <#5 <#5>?email_source=notifications&email_token=AAU3ZDQWC7MBHKT7OSJFASTQXIMCFA5CNFSM4JV4WY22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGDRPGQ#issuecomment-562501530>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAU3ZDSQDCBUUHUQAJCABCLQXIMCFANCNFSM4JV4WY2Q
.
Hi Mike, effectively, as the author post is saying it would be useful to
have also curves to guarantee a minimum security level for constrained
devices (e.g. 80 bit with the EC secp160r1 or the Koblitz one secp160k1 [1]
for IoT devices it is good). I understand that we can adopt the provided
tool and for example put in input the parameter provided for secp160r1
<http://hackage.haskell.org/package/elliptic-curve-0.3.0/docs/Data-Curve-Weierstrass-SECP160R1.html>
to generate the respective Elliptic Curve. By the way, if you can provide
these curves it is better.
[1] https://www.secg.org/SEC2-Ver-1.0.pdf
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5?email_source=notifications&email_token=AAU3ZDQ4QECKM5CLIHZ3RGLQXZATBA5CNFSM4JV4WY22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGJEL3I#issuecomment-563234285>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAU3ZDVBAVG3PIIQEAUVDDTQXZATBANCNFSM4JV4WY2Q>
.
|
New curves X448 and 80-bit security secp160r1 (for those who like to live dangerously!) implemented Mike |
Time out |
Hi,
I have been going through the code and wanted to add more curves but saw that it would require a lot of files which could clutter up soon, is that a good approach or did I get it wrong?
Do the authors of the library plan to add more curves too?
The text was updated successfully, but these errors were encountered: