Git Product home page Git Product logo

Comments (14)

tarcieri avatar tarcieri commented on June 23, 2024 2

Nice! I can take a look at merging that into the p384 crate. It seems to largely follow the same structure.

from elliptic-curves.

newpavlov avatar newpavlov commented on June 23, 2024 1

Yes, the weierstrass crate should be able to express p384 arithmetic. I have some changes in mind before merging it, so let's call it work in progress. :)

from elliptic-curves.

tarcieri avatar tarcieri commented on June 23, 2024 1

I think we could potentially ship an initial implementation of p384 arithmetic by leveraging the field arithmetic implementations synthesized by fiat-crypto:

It would also provide a good testbed to work on a Scalar type based on crypto_bigint::UInt which could potentially be made generic and used by all of the crates in this repo.

from elliptic-curves.

rod-chapman avatar rod-chapman commented on June 23, 2024 1

For what it's worth, I'd also like to see the p384 implementation support the ecdh and arithmetic capabilities. I am happy to test and review anything that emerges, although I very much doubt that my skills are up to contributing to the actual work at this point.

from elliptic-curves.

rod-chapman avatar rod-chapman commented on June 23, 2024 1

OK... I can think of several organizations here in the UK that would be interested in using RustCrypto, but would be happy to contribute for support if it were available on commercial terms.

from elliptic-curves.

tarcieri avatar tarcieri commented on June 23, 2024 1

An arithmetic implementation derived from p384-rs was merged in #565.

Thank you @jedisct1 and @brycx! And vicarious thanks to the fiat-crypto people!

For anyone following this issue, I've opened a tracking issue for a v0.11 release with arithmetic support: #566

from elliptic-curves.

tarcieri avatar tarcieri commented on June 23, 2024

p384 arithmetic is presently unimplemented and there are no plans to implement it. All it currently provides is a set of types for representing things like P-384 keys and ECDSA signatures.

The only way to use it for ECDSA/P-384 for now is via the ring-compat crate, which wraps the ECDSA/P-384 implementation in ring:

https://docs.rs/ring-compat/0.1.0/ring_compat/signature/ecdsa/p384/index.html

Perhaps if #218 works out we can see if the generic implementation is capable of expressing it.

from elliptic-curves.

tarcieri avatar tarcieri commented on June 23, 2024

As a quick update here, we recently shipped elliptic-curve v0.11 which implements quite a bit of scalar arithmetic generically on top of crypto-bigint in the form of the ScalarCore type.

This is more or less the culmination of work started in #376, but generic over the curve's order.

Between that and the base field implementation from fiat-crypto, it shouldn't be terribly difficult to adapt the existing addition/multiplication formulas from p256.

from elliptic-curves.

rod-chapman avatar rod-chapman commented on June 23, 2024

Tony - a possibly stupid question: is your work on RustCrypto funded, either by your own organization, or by any other external source? I can think of several organizations that would be happy to support such efforts if it were possible. If Company X really wanted to pay for support, who would they approach?

from elliptic-curves.

tarcieri avatar tarcieri commented on June 23, 2024

@rod-chapman it's not funded, although you can feel free to support me via GitHub Sponsors

from elliptic-curves.

jedisct1 avatar jedisct1 commented on June 23, 2024

https://github.com/jedisct1/rust-p384 has an implementation, if you ever need this.

from elliptic-curves.

rod-chapman avatar rod-chapman commented on June 23, 2024

Interesting... I would like to compare performance of that with the WolfCrypt C implementation...

from elliptic-curves.

Erik1000 avatar Erik1000 commented on June 23, 2024

I'd be happy if we could merge that and therefore remove the broken-arithmetic-do-not-use stuff ^^

from elliptic-curves.

tarcieri avatar tarcieri commented on June 23, 2024

@jedisct1 I opened a draft PR here: #565

Alternatively if you'd like to open a PR yourself, that works too

from elliptic-curves.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.