Commit graph

321 commits

Author SHA1 Message Date
Isis Lovecruft
deca36d074
Add an optimisation to succeed fast for scalars whose 4th MSB is unset.
This is only done during signature verification.
2019-10-11 21:33:55 +00:00
Isis Lovecruft
de3eb13dcf
Merge branch 'feature/97-verify-strict_1' into develop 2019-10-11 21:24:34 +00:00
Isis Lovecruft
3773f56d15
Merge branch 'feature/rust-2018' into develop 2019-10-10 22:10:28 +00:00
Isis Lovecruft
a065bee381
Enable Rust 2018. 2019-10-07 23:01:10 +00:00
isis agora lovecruft
29622ec10b
Merge pull request #96 from Arnaz87/master
Drop the static lifetime for context in sign_prehashed
2019-10-07 20:06:48 +00:00
Isis Lovecruft
2d5fe86f30
Document anti-malleability features/functionality. 2019-10-07 19:03:15 +00:00
Isis Lovecruft
28c2f2e3d1
Merge branch 'fix/unused-rand_os' into develop 2019-10-04 19:36:19 +00:00
Isis Lovecruft
ce2260afab
Implement stricter scalar malleability checking for signatures.
Previously, we were checking that the highest 3 bits were unset, which still
leaves 2^253 - 2^252 + 27742317777372353535851937790883648493 potential scalars
for the `s` component of a signature which are not strictly mod \ell.

This change fixes that.

Note: This change makes ed25519-dalek incompatible with ed25519-donna in that
some signatures produced by donna will be verifiable by donna but NOT VERIFIABLE
by dalek.  On the other hand, libsodium exports a -DED25519_COMPAT feature,
which when enabled, means it is compatible with dalek with the
`legacy_compatibility` feature disabled.  Otherwise, libsodium's behaviour is
identical to the behaviour enabled by default in this patch.
2019-10-04 19:34:00 +00:00
Isis Lovecruft
28eed1cba0
Add PublicKey::verify_strict() and Keypair::verify_strict() methods. 2019-10-04 02:54:13 +00:00
Isis Lovecruft
7dd99afb67
Remove most of the rand_os crate, which is only used for testing. 2019-10-04 02:46:02 +00:00
Isis Lovecruft
8a8fe302dd
Merge branch 'master' into develop 2019-10-04 02:40:49 +00:00
Isis Lovecruft
5870607aa7
Merge branch 'release/1.0.0-pre.2' 2019-10-04 02:40:38 +00:00
Isis Lovecruft
46811866cc
Bump ed25519-dalek version to 1.0.0-pre.2. 2019-10-04 02:16:06 +00:00
Isis Lovecruft
91426a2306
Merge branch 'fix/found-argument-alloc' into develop 2019-10-04 02:13:27 +00:00
Isis Lovecruft
1342e2a3a4
Fix no_std+alloc builds. 2019-10-04 02:05:20 +00:00
Isis Lovecruft
52ee801022
Fix Travis CI builds after change in features syntax parsing.
cf. https://travis-ci.org/isislovecruft/ed25519-dalek/jobs/593331585#L194
2019-10-04 01:43:24 +00:00
Isis Lovecruft
aa49b4cd8d
Fix two failing doctests. 2019-10-04 01:19:23 +00:00
Isis Lovecruft
dc4b77b551
Fix bad import and feature specification in benchmarks. 2019-10-03 23:15:50 +00:00
Arnaud Castellanos Galea
1c9f484d97 Drop the static lifetime for context in sign_prehashed 2019-09-30 16:42:52 +08:00
Isis Lovecruft
d31df0aaa8
Remove sha2 dep; limit rand depends; fixes after PR#68 merge.
* ADD new "batch" feature for feature-gating ed25519 batch verification; off by
   default. The "batch" feature is the only thing which depends on all of the
   `rand` crate, since it requires the functionality of `rand::thread_rng()`.
   Without batch verification, the rest of ed25519-dalek only depends on
   `rand_os` and `rand_core`.
2019-04-02 01:46:23 +00:00
Isis Lovecruft
1bec256418
Merge remote-tracking branch 'newpavlov/rand_core' into develop 2019-03-12 22:22:19 +00:00
Isis Lovecruft
43baaaf279
Also test the alloc features on Travis. 2019-03-12 21:12:47 +00:00
Isis Lovecruft
a6e0019ae4
Merge remote-tracking branch 'nickray/towards-no-std' into develop 2019-03-12 21:11:09 +00:00
Isis Lovecruft
1edc2965ad
Fix typo in README. 2019-03-12 20:52:34 +00:00
Nicolas Stalder
1dfe00b79d Fix rand dependency, deal with unusedness warnings 2019-01-27 03:06:18 +01:00
Isis Lovecruft
ebd9ad6a6e
Merge branch 'master' into develop 2019-01-18 05:58:49 +00:00
Isis Lovecruft
a65683accd
Merge branch 'release/1.0.0-pre.1' 2019-01-18 05:58:42 +00:00
Isis Lovecruft
e527280d2e
Remove TravisCI test for the sha2 feature which was removed. 2019-01-18 04:59:12 +00:00
Isis Lovecruft
ae8764fbef
Update copyright year to 2019 and destroy capitalism. 2019-01-18 04:59:12 +00:00
Isis Lovecruft
131fc2b07f
Bump ed25519-dalek version to 1.0.0-pre.1. 2019-01-18 04:59:12 +00:00
Isis Lovecruft
6d1d3ff5ea
Remove outdated comment about Fuchsia dependencies from Cargo.toml. 2019-01-18 04:59:12 +00:00
Isis Lovecruft
adf4c0ea03
Merge branch 'master' into develop 2019-01-18 04:57:49 +00:00
Isis Lovecruft
14e093925f
Merge branch 'release/0.9.1' 2019-01-18 04:50:45 +00:00
Isis Lovecruft
d447efbd59
Bump ed25519-dalek to 0.9.1. 2019-01-18 04:47:54 +00:00
Isis Lovecruft
84abd4855a
Update curve25519-dalek dependency to 1.0. 2019-01-18 04:45:23 +00:00
Isis Lovecruft
454fb5d09e
Merge branch 'master' into develop 2019-01-17 23:22:12 +00:00
Isis Lovecruft
8c8c04cb32
Merge branch 'release/0.9.0' 2019-01-17 23:17:40 +00:00
Isis Lovecruft
f851aaf464
Bump ed25519-dalek version to 0.9. 2019-01-17 22:41:18 +00:00
Isis Lovecruft
35b4dfd24d
Bump rand dependency version to 0.6. 2019-01-17 22:39:48 +00:00
Артём Павлов [Artyom Pavlov]
762eb0c470 use rand_core 2019-01-05 15:58:59 +03:00
isis agora lovecruft
8ebe5c799b
Merge pull request #66 from isislovecruft/feature/63-refactor
Refactor main module into separate modules and perform automated/general cleanups
2018-12-30 05:03:01 +00:00
Isis Lovecruft
0ddf39e443
Revise some module descriptions. 2018-12-30 04:27:40 +00:00
Isis Lovecruft
42b571eb24
Remove unused clear_on_drop import from tests. 2018-12-30 04:26:56 +00:00
Isis Lovecruft
82cdcb9cc9
Fix benchmarks after merging #64. 2018-12-30 04:26:22 +00:00
Isis Lovecruft
8b30d4084a
Run rustfmt on src/ed25519.rs. 2018-12-30 04:16:03 +00:00
Isis Lovecruft
fa726cfdcc
Run rustfmt on src/lib.rs. 2018-12-30 04:12:33 +00:00
Isis Lovecruft
ad49d31bbc
Run rustfmt on src/errors.rs. 2018-12-30 04:10:59 +00:00
Isis Lovecruft
811793ba2b
Run rustfmt on src/secret.rs. 2018-12-30 04:10:09 +00:00
Isis Lovecruft
d853856c36
Run rustfmt on src/public.rs. 2018-12-30 04:07:50 +00:00
Isis Lovecruft
a141863542
Run rustfmt on src/signature.rs. 2018-12-30 04:05:20 +00:00