Commit graph

455 commits

Author SHA1 Message Date
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
Isis Lovecruft
85a3776d27
Collapse part of the .travis build matrix. 2018-05-16 19:56:09 +00:00
Isis Lovecruft
44b3a32598
Merge branch 'feature/update-curve25519-dalek-0.17' into develop 2018-05-16 19:54:40 +00:00
Isis Lovecruft
3a54e970a6
Change travis config to test various backends. 2018-05-16 19:47:35 +00:00
Isis Lovecruft
f6a631c229
WIP Update curve25519-dalek dependency to 0.17. 2018-05-15 23:34:01 +00:00
Robin Millette
51f176007e
fix links
image and #9
2018-04-02 17:25:40 -04:00
Isis Lovecruft
66b3712f1d
Merge branch 'master' into develop 2018-03-26 02:36:31 +00:00
Isis Lovecruft
93149bc071
Merge branch 'release/0.6.2' 2018-03-26 02:36:18 +00:00
Isis Lovecruft
e3dfc8843c
Bump ed25519-dalek version to 0.6.2. 2018-03-26 02:32:38 +00:00
Isis Lovecruft
d61808cb08
Remove done TODO item from README. 2018-03-26 02:32:01 +00:00
Isis Lovecruft
f53e914b15
Merge branch 'update/curve25519-0.16' into develop 2018-03-26 02:31:41 +00:00