Isis Lovecruft
b32e39c801
Fix match statements on public key decompression.
2018-07-15 22:21:32 +00:00
Isis Lovecruft
cdebf245cc
Merge branch 'feature/cleanup-sig-code' into develop
2018-07-15 22:13:37 +00:00
Isis Lovecruft
2e5363c679
Cleanup verification variable declarations.
2018-07-15 22:04:55 +00:00
Isis Lovecruft
cdbc302da7
Fix a couple docstrings which mentioned r instead of R.
2018-07-15 21:51:23 +00:00
Isis Lovecruft
5c26349b6c
Derive Eq, PartialEq for Signature.
2018-07-15 21:50:20 +00:00
Isis Lovecruft
80075a0b41
Cleanup signing code to use new dalek APIs and Rust syntax.
2018-07-15 21:41:44 +00:00
Henry de Valence
030eff547f
Make verify return a Result.
...
This also simplifies the verification logic. Because the verification check
happens in variable time, we don't need to do a constant-time eq check at the
end, so we can drop the `subtle` dependency entirely.
The `DecodingError` type becomes `SignatureError` and is also used to
signal failing verifications.
2018-07-15 13:07:58 -07:00
Isis Lovecruft
fad39851aa
Add doctests for sign_prehashed() and verify_prehashed().
2018-07-13 23:07:07 +00:00
Isis Lovecruft
68d2ff93f5
Implement ed25519ph from RFC8032 §5.1.
...
* FIXES #21 : https://github.com/dalek-cryptography/ed25519-dalek/issues/21
2018-07-13 23:06:39 +00:00
Isis Lovecruft
9d58954578
Avoid compressing R twice.
2018-07-12 21:47:52 +00:00
Isis Lovecruft
164303eeac
Switch to using criterion for benchmarks.
2018-07-11 22:46:32 +00:00
Isis Lovecruft
a7c318da6e
Fix benchmarks to use new rand_core traits.
2018-05-30 21:01:21 +00:00
Isis Lovecruft
47c1d869ec
Make key generation work with no_std.
2018-05-16 22:09:31 +00:00
Isis Lovecruft
f6a631c229
WIP Update curve25519-dalek dependency to 0.17.
2018-05-15 23:34:01 +00:00
Isis Lovecruft
f790bd2ce1
Update subtle and curve25519-dalek dependencies.
2018-03-26 02:13:39 +00:00
Isis Lovecruft
e648c641cc
Fix typo in benchmark variable name.
2018-02-02 22:17:01 +00:00
Isis Lovecruft
08a5fc34ae
Fix serde expecting() string for Keypair.
2018-01-26 22:19:55 +00:00
Isis Lovecruft
36399cb1ad
Merge remote-tracking branch 'chain/feature/pubkey_no_std' into develop
2018-01-20 02:51:02 +00:00
Isis Lovecruft
04c8574106
Bump versions for several dependencies.
2018-01-20 02:49:34 +00:00
Isis Lovecruft
c7b69c6562
Expand boats' error types to give more detailed reasons for failures.
...
This code was significantly based off without boats' error types in
commit 6c1acaca7c , and also upon
conversation with them. Please target them with praise, and blame me
for whatever mistakes I might have made.
2017-12-24 00:16:52 +00:00
Oleg Andreev
f64b20b351
Do not require feature=std for PublicKey::from_secret
2017-12-12 15:41:39 -08:00
Isis Lovecruft
510a1f89c0
Merge remote-tracking branch 'withoutboats/custom-error-type' into develop
2017-12-09 02:12:39 +00:00
Without Boats
6c1acaca7c
Use failure instead of std::error::Error.
...
failure is no_std compatible, whereas std::error::Error is not.
2017-12-06 15:25:12 -08:00
Without Boats
b5b295e414
Use a custom error type instead of &'static str.
...
Advantages of a custom error type:
- It can be more easily integrated into other error types by clients;
they can implement From<FromBytesError> for their error types, or
they can use a library like failure.
- It is a zero-sized type, which can enable some representational
optimizations.
- It can be easier and more stable to test for.
2017-12-05 18:13:43 -08:00
Isis Lovecruft
9d89e2f660
Upgrade to using curve25519-dalek-0.14.0.
2017-12-04 17:47:06 +00:00
Isis Lovecruft
65b7a21062
Make the Keypair struct inherit repr(C).
2017-12-04 00:50:39 +00:00
Isis Lovecruft
7888bfe3f8
Fix serde expecting string.
2017-12-04 00:50:17 +00:00
Isis Lovecruft
8d0dda0847
Implement serde serialisation support and pre-expanded secret keys.
...
* ADD support for serialisation with serde.
* ADD a new pre-expanded secret key type, `ExpandedSecretKey`.
* FIXES Issue #13 :
https://github.com/isislovecruft/ed25519-dalek/issues/13
2017-11-06 03:51:07 +00:00
Isis Lovecruft
e9cd9a2264
Changes for bumping curve25519-dalek dependency to 0.12.0.
2017-10-05 07:03:35 +00:00
Isis Lovecruft
3596e5ec87
Add licence.
2017-10-05 06:19:55 +00:00
Isis Lovecruft
e706b35d92
Merge remote-tracking branch 'greyspectrum/license-typo' into develop
2017-10-05 06:12:03 +00:00
Zaki Manian
8accff36b3
Replaces the depracted rustc_serialize with hex
2017-10-05 05:20:24 +00:00
greyspectrum
52ecf1669e
Fix a small typo in the license url.
2017-09-06 13:31:52 -04:00
Isis Lovecruft
039533d349
Add additional benchmark for further comparison with ed25519-donna.
...
ed25519-donna includes a "curved25519_scalarmult_basepoint" [sic]
function. See https://github.com/isislovecruft/dalek-benchmarks .
2017-08-16 04:19:04 +00:00
Isis Lovecruft
07dc9f4ba7
Bump curve25519-dalek dependency to 0.11.0.
2017-08-15 05:30:53 +00:00
Isis Lovecruft
27753235ae
Upgrade curve25519-dalek, generic-array, and digest dependencies.
...
As well as adding a dependency on subtle and upgrading dev-dependency sha2.
2017-08-01 18:05:58 +00:00
Isis Lovecruft
df3834c03d
Change SecretKey bytes to only include the secret, not also public, key.
2017-08-01 06:23:46 +00:00
Isis Lovecruft
99d3426569
Refactor to use new curve25519-dalek APIs.
2017-05-14 10:57:59 +00:00
Isis Lovecruft
a195249468
Switch to using new digest v0.5 API.
2017-05-08 07:54:56 +00:00
Isis Lovecruft
0e535a9318
The sha2 dependency is only for tests.
2017-03-15 22:34:46 +00:00
Isis Lovecruft
a6e74ba608
Use b"" instead of "".as_bytes().
2017-03-15 22:34:06 +00:00
Isis Lovecruft
054e9ce6b8
Remove blake2b benchmarks.
2017-03-15 19:09:15 +00:00
Isis Lovecruft
b188516b22
Remove unused import digest::Digest from bench module.
2017-03-15 19:07:21 +00:00
Isis Lovecruft
645d4e0d8c
The sha2 crate is no longer a required dependency.
2017-03-15 19:01:03 +00:00
Isis Lovecruft
89d246ec15
Rearrange extern crates.
2017-03-15 18:57:03 +00:00
Isis Lovecruft
e869d14387
Fix doctests to specify hash function choice.
2017-03-15 18:56:24 +00:00
Isis Lovecruft
394d1face2
Remove the ZeroDigest from the benchmark suite.
...
It turns out that testing scalar_mult_vartime() on all zeroes is fast.
2017-03-15 18:53:48 +00:00
Isis Lovecruft
5e84eedfbb
Add benchmarks with blake2b.
2017-03-15 18:44:59 +00:00
Isis Lovecruft
f1dd165208
Use array_ref! for getting digest during signing.
2017-03-15 18:42:58 +00:00
Isis Lovecruft
e4c085706c
Make signing generic to hash function choice.
2017-03-14 23:54:43 +00:00