Comments (13)
The fix has been backported as bitvec 0.18.4
, so you should now be able to cargo update
to address this.
from elliptic-curves.
Yes, we're now pulling in bitvec
by way of the ff
crate.
This is actually a superfluous dependency (at least at present). I opened this issue about making bitvec
an optional dependency of ff
:
from elliptic-curves.
Just an update, this seems to be fixed with a PR for Radium: ferrilab/radium#4
from elliptic-curves.
The current v0.4.1 release doesn't have the dependency, so it must be a change between v0.5.0 ad v0.6.0 of elliptic-curve.
This is probably the commit that causes the requirement on atomics: RustCrypto/traits@59e67e0
It would be great if signing and other operations could be supported without atomics via a feature flag.
from elliptic-curves.
That would be great!
from elliptic-curves.
Otherwise I don't think signing is possible, I just keep getting this error when trying to call try_sign_recoverable_prehashed()
:
error[E0599]: no method named `try_sign_recoverable_prehashed` found for struct `ecdsa::signer::Signer<p256::NistP256>` in the current scope
--> examples-features/ctap.rs:410:30
|
410 | let sig = signer.try_sign_recoverable_prehashed(data, None).unwrap();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `ecdsa::signer::Signer<p256::NistP256>`
error: aborting due to 2 previous errors; 6 warnings emitted
from elliptic-curves.
@alistair23 that method doesn't exist in the p256
crate (it's a private, inherent method in the k256
crate alone).
Here's a usage example:
https://docs.rs/p256/0.5.0-rc/p256/ecdsa/index.html#signingverification-example
from elliptic-curves.
Thanks @tarcieri, unfortunately the new sign()
function depends on arithmetic which requires atomics.
from elliptic-curves.
Yeah, you need the ecdsa
feature enabled in order to create signatures, which depends on arithmetic
.
There's not that much that can be done about that immediately. I'd say stay on p256
0.4 until either ferrilab/radium#4 is merged and bitvec
updated, and/or zkcrypto/ff#42 is merged and we can disable the bitvec
dependency.
from elliptic-curves.
Hopefully one (or both) of those will be merged soon. Until then it looks like only sign_with_rng()
is available, which doesn't appear to work without std.
from elliptic-curves.
@alistair23 sign_with_rng
doesn't need std
. If you're seeing std
linkage, it's probably because some other dependency of yours is activating the std
feature of rand_core
.
However, sign_with_rng
also needs the ecdsa
feature (and with it arithmetic
) and is documented as such:
https://docs.rs/p256/0.5.0-rc/p256/ecdsa/type.SigningKey.html
This is supported on crate features
ecdsa-core
andecdsa
only.
from elliptic-curves.
This has been fixed: ferrilab/radium#3
Do you mind updating the crate dependencies?
from elliptic-curves.
Unfortunately itβs a deep transitive dependency. Looks like bitvec
needs to update to radium
v0.5 then ff
needs to update to a new release of bitvec
. After that group
needs to upgrade ff
, and then elliptic-curve
can update ff
and group
.
from elliptic-curves.
Related Issues (20)
- k256: missing check in `PrehashVerifier` impl for `schnorr::VerifyingKey`? HOT 1
- Why are ECDSA P-384 signatures not different for the same message? HOT 1
- bign256: WideFieldElement HOT 11
- Expose `lincomb_generic` (or: Generic Linear Combination) HOT 31
- BIP-0340 Schnorr-compatible signature invalidly uses NonZeroScalar HOT 1
- RustCrypto hardening recommendation HOT 1
- RustCrypto misuse resistance recommendation HOT 2
- Expose `ProjectivePoint` value HOT 13
- Generalizing MulByGenerator for other points HOT 1
- Surprisingly slow constant time selection HOT 6
- Batch Conversion of Projective -> Affine Points HOT 19
- p521: field arithmetic implementation not working correctly HOT 8
- 256 bit Field Operation: 64 bit * 4 vs 52 bit * 5 HOT 4
- P521 `FieldElement` conversions can panic HOT 3
- k256: Linear Combanation over Dynamically Allocated Slices
- primeorder 0.13.4 update breaks p384 0.13.0 builds HOT 4
- k256 disrepency in secp256k1 key recover HOT 12
- How to convert a VerifyingKey of type FieldElement10x26 to a FieldElement5x52 type
- k256: v0.13.2 breaking verification HOT 9
- Bitwise operations for scalars HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elliptic-curves.