Commit graph

2309 commits

Author SHA1 Message Date
Isis Lovecruft
3b44ed82dd
Merge branch 'release/3.0.1' 2021-01-07 22:05:26 +00:00
Isis Lovecruft
7e320cd1d9
Remove deprecated feature flags from .travis.yml. 2021-01-07 21:51:21 +00:00
Isis Lovecruft
64099e9adf
Fix CHANGELOG so that we can note backported patches. 2021-01-07 21:31:57 +00:00
Isis Lovecruft
e47a180991
Bump curve25519-dalek to 3.0.1. 2021-01-07 21:29:17 +00:00
Paul Grandperrin
050034c98c
Fix rand_core test by enabling "getrandom" feature 2020-12-21 22:53:43 -03:00
Paul Grandperrin
9717eb8d52
Update rand_core to 0.6
https://github.com/rust-random/rand/blob/master/rand_core/CHANGELOG.md
This new version makes using rand_core on wasm seamless (thanks to the update of getrandom to v0.2)
The crate compiles well with this PR, but since some rand_core traits are publicly exposed in this crate's API, this is strictly speaking a breaking change.
2020-12-14 18:07:06 +00:00
Tyler Neely
9d9a6b0beb Speed up compilation by avoiding zeroize_derive 2020-11-25 12:35:24 +01:00
Isis Lovecruft
bbb8869550
Fix std builds when serde is enabled. 2020-11-02 23:57:09 +00:00
Isis Lovecruft
ce5ff27681
Make serde_bytes/alloc dependent on alloc feature.
Fixup for PR #149.
2020-10-28 00:04:15 +00:00
isis agora lovecruft
50b26f0bb4
Merge pull request #149 from xu-cheng/no_std
fix serde in no_std
2020-10-28 00:02:02 +00:00
isis agora lovecruft
95db7d8eae
Merge pull request #153 from huitseeker/non_repudiation
[test-only] Add test showing non-repudiation for verify, verify_strict
2020-10-27 23:59:26 +00:00
François Garillot
8aa1458941
Implements an Elligator2 map for Curve25519
This implementation:
- is agnostic on the hash used to pick a field element, even though SHA512 is commonly used,
- follows https://tools.ietf.org/id/draft-irtf-cfrg-hash-to-curve-10.html closely
- tests the outputs of the function using libsignal's implementation.
2020-10-21 17:38:22 -04:00
Stephane Raux
608f8cd594 Make crate feature alloc work with stable Rust
`println!` was removed in the test as the corresponding test for `u32` does not have it.
2020-10-20 18:15:00 -07:00
François Garillot
da6c7e114f
[test-only] Add test showing the non-repudiation property of the signature verifications used in PublicKey::verify and PublicKey::verify_strict.
This PR is a follow-up of #98, which aims to demonstrate the issue brought by small-order public keys. It shows an example of crafting a (public_key, signature) that verifies against two distinct messages using `verify`, but fails using `verify_strict`.
This has consequences on the possibility to repudiate a signed contract of blockchain transactions.

For more details, see:
https://eprint.iacr.org/2020/1244

Joint work with @kchalkias @valerini
2020-10-14 17:28:51 -04:00
Henry de Valence
a787300ba1
Merge pull request #334 from MarkusZoppelt/fix-packed_simd-AMD
bumped packed_simd to 0.3.4
2020-09-30 12:52:15 -07:00
Henry de Valence
45f3f53351
Add link to Cargo.toml with explanation of packed_simd renaming 2020-09-30 12:01:43 -07:00
Markus Zoppelt
f27923bf8c
adjusted dependency entry like to pick up latest pick up the latest packed_simd crate under an alternative name.
see also: https://github.com/rust-lang/packed_simd/issues/303#issuecomment-701361161
2020-09-30 15:17:18 +02:00
Markus Zoppelt
c2e394dd04
bumped packed_simd to 0.3.4. resolves #333 2020-09-30 12:59:10 +02:00
Cheng XU
6ce6519287
fix serde in no_std 2020-09-21 19:16:01 -07:00
Isis Lovecruft
91234fcdc8
Merge branch 'master' into develop 2020-09-22 02:01:10 +00:00
Isis Lovecruft
925eb9ea56
Merge branch 'release/1.0.1' 2020-09-22 02:00:50 +00:00
Isis Lovecruft
1042cb60a0
Bump ed25519-dalek version to 1.0.1. 2020-09-22 01:56:35 +00:00
Isis Lovecruft
8c15bce61d
Actually, we use unsafe{} in one test. 2020-09-22 01:54:44 +00:00
isis agora lovecruft
97c22f2d07
Merge pull request #146 from xu-cheng/serde2
Fix serde implementation for serde_json
2020-09-22 01:49:58 +00:00
isis agora lovecruft
a9ebf7f53e
Merge pull request #148 from isislovecruft/feature/forbid-unsafe
Add #![forbid(unsafe_code)].
2020-09-22 01:39:51 +00:00
isis agora lovecruft
1335f3a859
Merge pull request #147 from isislovecruft/fix/deterministic-batch-malleability
batch verification malleability issue when used with fully deterministic nonce generation
2020-09-22 01:38:22 +00:00
Isis Lovecruft
d6ff6de2cf
Add #![forbid(unsafe_code)].
CLOSES https://github.com/dalek-cryptography/ed25519-dalek/issues/144
2020-09-22 01:36:49 +00:00
Cheng XU
69eccda444
Fix serde implementation for serde_json
We use the [serde_bytes](https://github.com/serde-rs/bytes) crate for
serialization implementations, which simplifies codes and fixes issues
for serde_json.
2020-09-21 18:26:59 -07:00
Cheng XU
008c9680f6
Update tests for serde
* Upgrade bincode to 1.0
* Add more serde tests including json serialization.
2020-09-21 18:26:59 -07:00
Isis Lovecruft
b5a15bf451
Feature gate key generation on the "rand" dependency.
See https://github.com/dalek-cryptography/ed25519-dalek/pull/139.
2020-09-21 23:53:56 +00:00
Isis Lovecruft
6609642036
Enable rand crate by default.
See https://github.com/dalek-cryptography/ed25519-dalek/pull/139.
2020-09-21 23:53:29 +00:00
isis agora lovecruft
7155c07afa
Merge pull request #139 from garbageslam/fixup_rand_usage
Make `use rand::...` gated on `cfg(feature = "rand")`
2020-09-21 23:47:26 +00:00
isis agora lovecruft
036c18a01b
Merge pull request #145 from isislovecruft/fix/rand-nightly-breakage
Workaround for rand crate "nightly" feature breakage.
2020-09-21 23:35:21 +00:00
Isis Lovecruft
5d7bc29ba2
Workaround for rand crate "nightly" feature breakage.
Cf. https://github.com/rust-random/rand/issues/1047
2020-09-21 23:25:15 +00:00
Isis Lovecruft
a02190adf3
Document that we include the message lengths in the transcript. 2020-09-21 22:10:03 +00:00
Isis Lovecruft
57a5473cb0
Fix and document malleability issue in deterministic batch_verify().
Thank you to @real_or_random and @jonasnick for initially pointing it
out and ensuing discussion.
2020-09-21 22:09:27 +00:00
isis agora lovecruft
bd572dcd52
Merge pull request #142 from 35359595/master
check_scalar bug fix for legacy_compatibility feature
2020-09-10 01:36:55 +00:00
Henry de Valence
7ef5cc7c32 Merge branch 'master' into develop 2020-08-31 12:59:05 -07:00
Henry de Valence
0985e1babf Merge branch 'release/1.1' 2020-08-31 12:58:49 -07:00
Henry de Valence
e8615a9326 bump version to 1.1.0 and update CHANGELOG 2020-08-31 12:56:34 -07:00
Henry de Valence
1ede5270e5
Merge pull request #63 from jack-michaud/derive-partialeq
Add PartialEq derive to PublicKey
2020-08-31 12:52:53 -07:00
Jack Michaud
3c09664112 Feedback from @hdevalence - Added derive for Eq and Hash 2020-08-31 12:15:43 -07:00
Jack Michaud
48df927d7b Add PartialEq derive to PublicKey
Derives from the PartialEq impl for MontgomeryPoint
2020-08-30 17:41:54 -07:00
Ivan Temchenko
da959c041d check_scalar bug fix for legacy_compatibility feature 2020-08-24 16:33:04 +02:00
Isis Lovecruft
5fe7c88303
Merge branch 'master' into develop 2020-08-20 22:54:10 +00:00
Isis Lovecruft
75a199e5a0
Merge branch 'release/1.0.0' 2020-08-20 22:54:01 +00:00
Isis Lovecruft
952bdd062f
Release ed25519-dalek version 1.0.0. 2020-08-20 22:46:58 +00:00
Isis Lovecruft
1c97dac4dc
Update to curve25519-dalek version 3. 2020-08-20 21:19:21 +00:00
Henry de Valence
fd12c03b86 Merge branch 'master' into develop 2020-08-17 20:38:34 -07:00
Henry de Valence
d438d486fd Merge branch 'release/1.0.1' 2020-08-17 20:38:25 -07:00