Commit graph

231 commits

Author SHA1 Message Date
pinkforest
ad7c755f49 Documentation migrate to docs.rs hosted
This change migrates all the documentation from dalek.rs
to docs.rs hosted and fixed the backend documentation
generation that was broken.
2022-11-26 11:26:25 +11:00
Tony Arcieri
081f632d91
Implement simplified backend selection (#428)
As proposed in #414, this commit changes the backend selection approach,
introspecting `target_pointer_width` to select `u32_backend` vs
`u64_backend` (or `fiat_u32_backend`/`fiat_u64_backend` if the
`fiat_backend` feature is enabled).

This helps eliminate the use of non-additive features, and also the
rather confusing errors that happen if multiple backends are selected
(i.e. thousands of lines of rustc errors).

The selection logic checks if `target_pointer_width = "64"` and uses the
64-bit backend, or falls back to the 32-bit backend otherwise. This
means the crate will always have a valid backend regardless of the
pointer width, although there may be odd edge cases for exotic platforms
which would optimally use the 64-bit backend but have a non-"64" target
pointer width for whatever reason. We can handle those cases as they
come up.
2022-11-13 12:17:42 -05:00
pinkforest(she/her)
977eb0d3b7
Bump criterion to 0.4.0 (#432) 2022-11-13 01:36:46 -05:00
Hugo Tunius
c000957bae
Remove byteorder (#418)
Instead of having a dependency on `byteorder`, use methods from the
standard library(`{to,from}_le_bytes`).
2022-10-22 03:42:23 -04:00
Michael Rosenberg
5758b8cce1
Updated to edition 2021 (#413) 2022-10-18 13:45:59 -04:00
Michael Rosenberg
51572dae8d
Relax zeroize dependency and bump MSRV (#412) 2022-10-17 15:08:34 -04:00
Isis Lovecruft
c3ed99bf93
Bump curve25519-dalek version to 4.0.0-pre.2. 2022-02-16 21:26:01 +00:00
Isis Lovecruft
f78215308a
Merge branch 'develop' into release/4.0 2022-02-16 20:57:44 +00:00
Isis Lovecruft
f7381ac64c
Pin zeroize dependency to >=1, <1.4 to relax bounds for downstreams.
As suggested by @tarcieri in #362. See also commit b6a7406.
2022-02-16 20:52:33 +00:00
Isis Lovecruft
f9f0384aee
Bump sha2 and digest dependencies to 0.10. 2022-02-01 23:48:11 +00:00
Isis Lovecruft
b6a7406c73
Pin zeroize dependency to =1.3.0 to maintain MSRV 1.41. 2022-02-01 23:29:41 +00:00
Isis Lovecruft
b131092c9b
Merge branch 'develop' into release/4.0 2022-02-01 23:28:22 +00:00
Isis Lovecruft
df4e2fa129
Bump alpha curve25519-dalek version to 4.0.0-pre.1. 2021-08-17 00:40:38 +00:00
Isis Lovecruft
62e38cd050
Merge branch 'develop' into release/4.0 2021-08-17 00:31:01 +00:00
Isis Lovecruft
076cf347ba
Fix non-unique benchmark IDs for newer criterion versions. 2021-08-17 00:22:26 +00:00
Isis Lovecruft
396d26e463
Merge branch 'develop' into release/4.0 2021-08-03 23:06:58 +00:00
Isis Lovecruft
a7f4f0ec14
Merge branch 'develop' into release/3.2 2021-08-03 23:04:34 +00:00
Isis Lovecruft
49146274db
Fix a typo in Cargo.toml documentation. 2021-07-20 02:56:28 +00:00
Isis Lovecruft
59a8616e7a Release curve25519-dalek version 3.0.3.
-----BEGIN PGP SIGNATURE-----
 
 iQB1BAAWCAAdFiEEOy1KvpA7Nj5/r96Eq0ExNTPo6BIFAmD2LGkACgkQq0ExNTPo6BJcpQD9HeDu
 PNtHRcAA6/OI1rko+PNScTUa4wRFJ9nIov8lXJwA/i/c2k0MX3Gms55wjWhdaTrFgsC+m+6F/Cmq
 xChOaPUN
 =L+SN
 -----END PGP SIGNATURE-----
 
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQB1BAAWCAAdFiEEOy1KvpA7Nj5/r96Eq0ExNTPo6BIFAmD2OpIACgkQq0ExNTPo6BLEHwEAk4Ax
 pUxJ1axcVriU3CrQANmvfJafSUU1HvUF/15HA70A/3uVJUzT5vDdb0CKNhFtar3as/zZw+pimcXb
 KvnrB54G
 =6fZN
 -----END PGP SIGNATURE-----
 

Merge tag '3.0.3' into release/3.1.1

Release curve25519-dalek version 3.0.3.
2021-07-20 02:53:03 +00:00
Isis Lovecruft
6ea874cb31
Bump curve25519-dalek version to 3.0.3. 2021-07-13 06:44:49 +00:00
Isis Lovecruft
1ee5c4defb
Update CHANGELOG and bump version to 3.2. 2021-07-13 05:32:36 +00:00
Isis Lovecruft
127c9e9060
Bump version to 4.0.0-pre.0. 2021-04-14 02:52:27 +00:00
Isis Lovecruft
c52aeb6bec
Merge remote-tracking branch 'PaulGrandperrin/patch-1' into develop 2021-04-14 02:22:31 +00:00
Isis Lovecruft
2ea17d554a
Update CHANGELOG and README; bump to 3.1.0. 2021-04-14 01:30:57 +00:00
isis agora lovecruft
cecc821f40
Merge pull request #342 from huitseeker/fiat4_with_u32
Serial backends w/formally-verified field arithmetic for 32 & 64 bits
2021-04-13 23:23:41 +00:00
isis agora lovecruft
b79a276806
Merge pull request #336 from huitseeker/elligator2
Elligator2 mapping for curve25519
2021-03-25 03:13:41 +00:00
François Garillot
d1ed427af5
add fiat backends to Travis tests 2021-01-21 08:58:21 -05:00
François Garillot
abd1922456
Add a fiat_u32 backend based on fiat-crypto as well.
Renames fiat backend directory to fiat_u64 and does the additional plumbing required to make fiat_{u32, u64}_backend equal alternatives.
Adds a few comments.
2021-01-11 15:45:24 -08:00
François Garillot
ce2e3f6e69
bump fiat-crypto version 2021-01-11 09:32:54 -08:00
François Garillot
756a921bee
bump fiat-crypto version 2021-01-11 09:30:30 -08:00
François Garillot
3422872346
bump fiat-crypto version 2021-01-11 09:30:30 -08:00
François Garillot
4ce680d3aa
Update the fiat backend to use the fiat-crypto package
https://crates.io/crates/fiat-crypto
2021-01-11 09:30:30 -08:00
François Garillot
d684e13f09
Add a fiat_u64_backend option to curve25519-dalek
This uses https://github.com/calibra/rust-curve25519-fiat/ to implement a new 64bit serial backend for dalek.

Co-authored-by: Zoe Parakevopoulou <zoopar@fb.com>
2021-01-11 09:30:07 -08:00
Paul Grandperrin
d0dacb2699 Update rand to 0.8 2021-01-10 15:13:58 -03:00
Paul Grandperrin
86cdb11cf2 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.
2021-01-10 15:13:58 -03:00
Isis Lovecruft
55e0db7cf6
Bump curve25519-dalek version to 3.0.2. 2021-01-08 03:32:42 +00:00
Isis Lovecruft
e47a180991
Bump curve25519-dalek to 3.0.1. 2021-01-07 21:29:17 +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
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
Henry de Valence
6d96eb7796 Bump version to 3.0.0. 2020-08-17 18:20:26 -07:00
François Garillot
6afd8ff212
Update sha2, digest to 0.9 2020-06-15 07:16:04 -04:00
Henry de Valence
3fc47ef867 Bump version to 2.1.0 2020-05-29 12:39:39 -07:00
François Garillot
7b1363a964
Bump criterion version 2020-02-24 14:24:49 -05:00
Isis Lovecruft
eb827d5779
Pin zeroize dependency to =1.3.0 to maintain MSRV 1.41. 2020-02-07 11:31:41 +00:00
Henry de Valence
d889ac8a15 Finalize 2.0.0
This collapses the CHANGELOG entries for the intermediate alpha releases (to be
yanked) into a list of changes from 1.x to 2.0.0.
2019-11-22 13:14:14 -08:00
Henry de Valence
69d72f92d6 Bump version to 2.0.0-alpha.2 and update changelog. 2019-11-15 15:00:15 -08:00
Henry de Valence
2b51978553 Remove nightly recommendation now that subtle has stable opt barriers.
This bumps the required `subtle` version to `2.2.1`, which contains those changes.
2019-11-15 14:29:14 -08:00
Isis Lovecruft
409ebd94c0
Remove dev-dependency on deprecated rand_os crate.
The functionality we were using is now contained in the `rand_core` crate, which
we already depend upon.  As far as testing code goes, only benchmarks still
depend upon `rand`, as they use `thread_rng`.
2019-10-28 18:06:29 +00:00