Isis Lovecruft
2d5fe86f30
Document anti-malleability features/functionality.
2019-10-07 19:03:15 +00:00
François Garillot
9785f56c0f
Rust fixes for some clippy warnings
...
Clippy lints with instances in the project but NOT applied here, since they seem consistently at odds with the projects' style:
- [unreadable literal](https://rust-lang.github.io/rust-clippy/master/#unreadable_literal )
- [cast lossless](https://rust-lang.github.io/rust-clippy/master/#cast_lossless )
- [assign op pattern](https://rust-lang.github.io/rust-clippy/master/#assign_op_pattern )
2019-10-05 12:02:08 -07:00
François Garillot
023fdf2a2c
Rust added support for the ? operator on Option in 1.22
...
This converts a few instances of an early-returning unwrap to it.
2019-10-05 11:44:36 -07: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
root
2d0c5323cb
errata and basepoint_odd_lookup_table test for better understanding
2019-09-04 13:15:09 +08:00
root
8da05f7e90
errata and basepoint_odd_lookup_table test for better understanding
2019-09-04 12:38:02 +08:00
root
f6015c66c2
errata for comment
2019-09-03 10:38:23 +08:00
root
fa849e014c
errata for vpmuludq
2019-09-02 11:26:11 +08:00
Henry de Valence
1f7d48fe36
Merge pull request #278 from 3for/comment-fix
...
README.md parallel_doc link fix
2019-08-09 09:35:26 -07:00
root
801bbff563
parallel_doc link fix
2019-08-09 16:19:18 +08:00
Henry de Valence
dc2df3cb70
Merge branch 'master' into develop
2019-08-07 13:25:57 -07:00
Henry de Valence
cf03d39f0f
Merge branch 'release/1.2.3'
2019-08-07 13:25:41 -07:00
Henry de Valence
4dc8073330
Update CHANGELOG and bump version
2019-08-07 13:24:36 -07:00
Henry de Valence
b01888a929
Merge pull request #260 from fabric-and-ink/ed-decompress-simplify
...
Remove unneeded check for negativity in edwards point decompression
2019-08-07 12:57:24 -07:00
Fabian Drinck
26ae185bc9
Apply suggestion by @hdevalence
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-08-07 19:43:10 +02:00
Henry de Valence
d86bf15781
Merge pull request #257 from dalek-cryptography/use_upstream_intrinsics
...
Use upstream intrinsics
2019-08-06 17:24:02 -07:00
Henry de Valence
cfa09d859f
Use upstream IFMA intrinsics now that they exist.
2019-08-06 17:14:31 -07:00
Henry de Valence
4bbcc28cdc
Merge pull request #275 from Pratyush/fix-docs-link-on-avx2
...
Fix link to AVX2 docs
2019-08-06 17:08:30 -07:00
Pratyush Mishra
912fe4794f
Fix link to AVX2 and IFMA docs
2019-08-06 16:53:54 -07:00
Henry de Valence
4bc2ec0082
Merge pull request #276 from dalek-cryptography/quarkslab
...
Fix issues found in Quarkslab audit
2019-08-06 16:08:23 -07:00
Henry de Valence
68b71578af
Merge pull request #274 from 3for/comment-fix
...
`curve_models` Comment fix
2019-08-06 16:07:13 -07:00
Henry de Valence
a480844992
Tighten a too-permissive debug_assert in NafLookupTable8.
...
This issue was found by Laurent Grémy & Nicolas Surbayrole of Quarkslab.
2019-08-06 15:21:06 -07:00
Henry de Valence
90baabe50b
Ensure Scalar Add and Sub produce canonical results.
...
Closes #238 .
This issue was discovered independently by both Jack "str4d" Grigg
(issue #238 ), who noted that reduction was not performed on addition, and
Laurent Grémy & Nicolas Surbayrole of Quarkslab, who noted that it was possible
to cause an overflow and compute incorrect results.
2019-08-06 15:20:19 -07:00
Jack Grigg
a3246d82e5
Tests showing that scalar addition and subtraction don't reduce mod l
2019-08-06 15:18:46 -07:00
root
ccaf86ea86
curve_models link in comment mismatch
2019-08-06 16:40:47 +08:00
Henry de Valence
542a7b54a3
Merge pull request #273 from dalek-cryptography/fix-width-7-naf
...
Add a missing wrapping_sub in NAF computation.
2019-08-05 19:24:46 -07:00
Henry de Valence
01d9e904e1
Add a missing wrapping_sub in NAF computation.
...
Found by @3for; this only affected width-7 NAF computations, which were never
used in the source tree (only width 5, optimal for dynamic cases, and 8, better
for static cases).
Closes #272
2019-08-05 15:56:56 -07:00
root
2a46cd3b20
add non-zero assert in field batch_invert
2019-08-01 15:02:15 +08:00
Henry de Valence
a174911c2b
Merge branch 'master' into develop
2019-07-31 15:27:34 -07:00
Henry de Valence
c6d8bfb48b
Merge branch 'release/1.2.2'
2019-07-31 15:26:58 -07:00
Henry de Valence
e6d580b0cf
Bump version to 1.2.2
2019-07-31 15:25:22 -07:00
Henry de Valence
cbbdbfb67f
Merge pull request #269 from dalek-cryptography/update-doc-include-paths
...
Update doc(include) paths.
2019-07-31 15:19:25 -07:00
Henry de Valence
5c18bfb6a7
Update doc(include) paths.
...
Since https://github.com/rust-lang/rust/pull/60938 the path root changed and
these new paths are required to compile on nightly.
Closes #268 .
2019-07-31 14:54:24 -07:00
Henry de Valence
09e2615589
Merge pull request #267 from dalek-cryptography/add-crypto-tag
...
'crypto' means 'cryptography'
2019-07-30 12:54:28 -07:00
Henry de Valence
78d9804bf9
'crypto' means 'cryptography'
2019-07-30 12:43:56 -07:00
Henry de Valence
526ce175d9
Merge pull request #266 from dsprenkels/patch-1
...
Fix a typo in AVX2
2019-07-22 10:05:55 -07:00
Daan Sprenkels
e4c086ab59
Fix a typo in AVX2
...
Last two (least significant) limbs should be `z8`, `z9`. Were probably
copy-paste typos.
2019-07-22 14:17:23 +02:00
Fabian Drinck
53da2aaaf4
Remove unneeded check for negativity in edwards point decompression
...
The function `FieldElement::sqrt_ratio_i` always returns a positive root
by definition. Therefore the test for negativity in the edwards point
decompression function always returns false and we only need to flip its
sign if `compressed_sign_bit` is set.
2019-06-07 21:04:12 +02:00