Isis Lovecruft
5a759ab9fa
Fix typo in image URL in README.
2018-07-27 22:00:05 +00:00
Isis Lovecruft
cf5b6b1a28
Merge branch 'master' into develop
2018-07-27 21:57:32 +00:00
Isis Lovecruft
d472254ad3
Merge branch 'release/0.8.0'
2018-07-27 21:57:12 +00:00
Isis Lovecruft
9263d01351
Remove outdated TODO section from the README.
2018-07-27 21:45:32 +00:00
Isis Lovecruft
591aff7025
Bump ed25519-dalek version to 0.8.0.
2018-07-27 21:35:36 +00:00
Isis Lovecruft
f67d955100
Add README section for batch performance.
2018-07-27 21:34:02 +00:00
Isis Lovecruft
c700a2b5e4
This is what happens when you have separate machines for benchmarks and
...
committing code.
2018-07-27 19:17:03 +00:00
Isis Lovecruft
1b702a3fe1
Add more batch sizes to benchmarks.
2018-07-27 18:28:17 +00:00
Isis Lovecruft
468acd8f1f
Fix batch benchmarks to use new function signature.
2018-07-27 18:28:06 +00:00
Isis Lovecruft
3ad616a23c
Remove unused csprng parameter from verify_batch() function.
2018-07-27 17:30:57 +00:00
Isis Lovecruft
e35323412d
Merge remote-tracking branch 'hdevalence/feature/27-batch' into develop
2018-07-27 17:24:37 +00:00
Henry de Valence
4c838decd8
Use 128-bit scalars
2018-07-26 21:09:52 -07:00
Henry de Valence
f60987dee5
Try optional_multiscalar_mul
2018-07-26 20:58:11 -07:00
Isis Lovecruft
318898fac1
Merge branch 'feature/drop-with-clear' into develop
2018-07-27 03:56:13 +00:00
Isis Lovecruft
a92a5b73a1
It's 2018 and nothing's gotten any better outside.
2018-07-27 03:48:37 +00:00
Isis Lovecruft
050d2a01e5
Bump curve25519-dalek dependency to 0.19.
2018-07-27 03:38:34 +00:00
Isis Lovecruft
81a3d3298b
Leave a comment explaining why we derive Default.
2018-07-26 20:15:13 +00:00
Isis Lovecruft
6513d4980a
Implement Drop for secret key material using clear_on_drop.
2018-07-20 23:08:08 +00:00
Isis Lovecruft
d896886691
Overwrite secret key material with zeroes on drop.
2018-07-20 20:20:40 +00:00
Isis Lovecruft
ce46a12d92
Implement batch verification.
...
The API for this isn't the greatest and I apologise for that. Suggestions for
improvement welcome. One thing which @hdevalence and I considered was to
change the function signature to:
pub fn verify_batch<D, C, M, S, K>(messages: M,
signatures: S,
public_keys: K,
csprng: &mut C) -> Result<(), SignatureError>
where D: Digest<OutputSize = U64> + Default,
C: Rng + CryptoRng,
M: IntoIterator<Item = &[u8]>,
S: IntoIterator,
S::Item: Borrow<Signature>,
K: IntoIterator,
K::Item: Borrow<Signature>,
The other improvement which could be made is to implement 128-bit scalars for
the randomnesses.
* CLOSES #27
2018-07-17 19:03:46 +00:00
Isis Lovecruft
494c4628c2
Fix a typo in the README.
...
This wasn't the machine I ran it on, or else it wouldn't have been a
remotely fair comparison because my laptop is a 10-year-old piece of
crap x220 running Qubes.
2018-07-16 20:45:03 +00:00
Isis Lovecruft
c024b671c0
Remove outdated paragraph about the bench deature in README.
2018-07-16 20:44:54 +00:00
Isis Lovecruft
b1ab585835
Merge branch 'master' into develop
2018-07-15 23:25:04 +00:00
Isis Lovecruft
e6f224616d
Merge branch 'release/0.7.0'
2018-07-15 23:24:51 +00:00
Isis Lovecruft
5050049a6c
Update benchmarks in README.
2018-07-15 23:22:22 +00:00
Isis Lovecruft
b32e39c801
Fix match statements on public key decompression.
2018-07-15 22:21:32 +00:00
Isis Lovecruft
6c8ae573d9
Bump ed25519-dalek version to 0.7.0.
2018-07-15 22:15:54 +00:00
Isis Lovecruft
cdebf245cc
Merge branch 'feature/cleanup-sig-code' into develop
2018-07-15 22:13:37 +00:00
Isis Lovecruft
535f4752a6
Don't run cargo bench on Travis CI servers.
2018-07-15 22:07:42 +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
Isis Lovecruft
3840cb9733
Merge remote-tracking branch 'hdevalence/verify-result' into develop
2018-07-15 21:21:14 +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
21a1e7145c
Merge branch 'feature/21-ed25519ph' into develop
2018-07-14 00:03:01 +00:00
Isis Lovecruft
f8373a9e70
Fix two more links in the README.
2018-07-13 23:57:27 +00:00
Isis Lovecruft
a1ea26ef0f
Merge remote-tracking branch 'millette/patch-1' into develop
2018-07-13 23:56:11 +00: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
b8e42e9a7e
Merge branch 'feature/criterion' into develop
2018-07-12 20:32:03 +00:00
Isis Lovecruft
bda9bba9d5
Remove ZeroRng from benchmarks.
2018-07-12 20:19:42 +00:00
Isis Lovecruft
164303eeac
Switch to using criterion for benchmarks.
2018-07-11 22:46:32 +00:00
Isis Lovecruft
a4be92b271
Update curve25519-dalek dependency to 0.18.
2018-07-11 20:36:17 +00:00
Isis Lovecruft
1dfe211aa1
Remove failure/std from the default enabled features.
2018-07-11 20:32:12 +00:00
Isis Lovecruft
a7c318da6e
Fix benchmarks to use new rand_core traits.
2018-05-30 21:01:21 +00:00
Isis Lovecruft
196fd24b63
Update README to explain features and update benches.
2018-05-30 20:59:44 +00:00
Isis Lovecruft
115174df19
Merge branch 'feature/remove-unnecessary-std' into develop
2018-05-16 22:24:06 +00:00
Isis Lovecruft
47c1d869ec
Make key generation work with no_std.
2018-05-16 22:09:31 +00:00