phayes / ecies-ed25519 Goto Github PK
View Code? Open in Web Editor NEWECIES on Twisted Edwards Curve25519 using AES-GCM and HKDF-SHA256
License: Other
ECIES on Twisted Edwards Curve25519 using AES-GCM and HKDF-SHA256
License: Other
Hi all !
I was wondering if we could use an ed25519-dalek
generated keypair with your library ?
In particular, the public key format seems to be very different, and not compatible with the one you are using (from the same seed/private key, ecies-ed25519
and ed25519-dalek
public keys are different).
Thanks for your help !
Hi - is there a security audit underway or is this something scheduled? Thanks.
Once the const-generics issue is resolved (rust-lang/rust#44580), I will be tackling making this crate generic over both the AEAD implementation and the hash function used by the HKDF.
Many other crates are gone far forward, but with this lib we need to use even old rand.
Hi,
It looks like ecies_ed25519::Error
derives #[derive(Debug, Fail)]
, but Fail
does not make it implement std::error::Error
. As a result I can't use thiserror::Error
with it:
error[E0599]: no method named `as_dyn_error` found for reference `&ecies_ed25519::Error` in the current scope
--> tf_data_recorder\src\error.rs:63:13
|
63 | #[error("could not perform crypto operation")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&ecies_ed25519::Error`
|
::: C:\Users\rb\.cargo\registry\src\github.com-1ecc6299db9ec823\ecies-ed25519-0.4.0\src\lib.rs:150:1
|
150 | pub enum Error {
| --------------
| |
| doesn't satisfy `_: thiserror::aserror::AsDynError`
| doesn't satisfy `ecies_ed25519::Error: std::error::Error`
|
= note: the method `as_dyn_error` exists but the following trait bounds were not satisfied:
`ecies_ed25519::Error: std::error::Error`
which is required by `ecies_ed25519::Error: thiserror::aserror::AsDynError`
`&ecies_ed25519::Error: std::error::Error`
which is required by `&ecies_ed25519::Error: thiserror::aserror::AsDynError`
And also:
error[E0277]: the trait bound `ecies_ed25519::Error: std::error::Error` is not satisfied
--> tf_data_recorder\src\error.rs:69:7
|
67 | fn f<T: std::error::Error>(t: &T) {
| ----------------- required by this bound in `error::f`
68 | let e = ecies_ed25519::Error::DecryptionFailed;
69 | f(&e);
| ^^ the trait `std::error::Error` is not implemented for `ecies_ed25519::Error`
SecretKey
implements ToHex
but PublicKey
does not. Would be good to have ToHex
for both for consistency!
:)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.