-
Notifications
You must be signed in to change notification settings - Fork 267
Description
It's been pretty convenient having the elliptic-curve crate in the same repo as the curve implementations so far.
However, all of the other trait crates are presently in https://github.com/RustCrypto/traits
Aside from the consistency issue, there's a notable practical one: if we land RustCrypto/signatures#96 to reverse the relationship between the ecdsa crate and the curve implementation crates, there's now a circular dependency between crates in https://github.com/RustCrypto/elliptic-curves and the ecdsa crate in https://github.com/RustCrypto/signatures
ecdsadepends onelliptic-curve- ecdsa: add hazmat primitives; remove/reverse curve dependencies signatures#96 would have the
k256,p256,p384depend on both theelliptic-curveandecdsacrates
This would make it difficult to use [patch.crates-io] directives to make incremental progress on unreleased versions of crates.
The most straightforward solution I can think of is to eliminate this circular dependency by moving elliptic-curve into the traits repo. That would allow both ecdsa and the curve implementations to use a [patch.crates-io] directive resolving to elliptic-curve in https://github.com/RustCrypto/traits