Commit graph

124 commits

Author SHA1 Message Date
Tony Arcieri
1013560fe4
Remove std feature (#459)
All of the existing usages of `std` can be replaced with `alloc`.

They are legacy usages from before when liballoc was stabilized.
2022-12-08 15:05:59 -05:00
pinkforest(she/her)
6b56edf776
Make digest optional (#446)
As proposed in #442 this makes `digest` an
optional feature that is not covered by the
SemVer public API stability guarantees.

Co-authored-by: Michael Rosenberg <michael@mrosenberg.pub>
2022-12-08 13:59:28 -05:00
pinkforest(she/her)
47a0c3eacc
Make rand_core optional (#447)
As proposed in #442 this makes `rand_core` an
optional feature that is not covered by the
SemVer public API stability guarantees.

Co-authored-by: Michael Rosenberg <michael@mrosenberg.pub>
2022-12-08 13:50:17 -05:00
Michael Rosenberg
791ba170b1 Cleanup: enabled doc_auto_cfg and doc_cfg_hide 2022-11-26 06:34:48 -05:00
Michael Rosenberg
fec474b1ba Shouldn't have removed stdsimd feature 2022-11-26 05:58:29 -05:00
Michael Rosenberg
774e56e2c1 Removed unnecessary unstable features 2022-11-26 05:54:22 -05:00
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
d05afa02a3
Add alloc feature gates to simd tests that need it (#433) 2022-11-14 00:11:23 -05:00
pinkforest
62fe24e022 Include README.md into the crate Documentation
As proposed in #426 this commit changes to include README.md into
the crate documentation instead of maintaining a carbon copy in
the code.

This helps to keep the documentation in a single place without
duplicating the documentation in multiple places leading to less
errors and out of date documentation.
2022-11-11 22:36:57 +11:00
Michael Rosenberg
5758b8cce1
Updated to edition 2021 (#413) 2022-10-18 13:45:59 -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
df4e2fa129
Bump alpha curve25519-dalek version to 4.0.0-pre.1. 2021-08-17 00:40:38 +00:00
Isis Lovecruft
396d26e463
Merge branch 'develop' into release/4.0 2021-08-03 23:06:58 +00:00
Isis Lovecruft
f8cb7197f9
Fix error introduced in 59a8616 merge. 2021-07-20 03:22:27 +00:00
Isis Lovecruft
fccc5d54f8
Bump version for html_root_url. 2021-07-20 02:56:44 +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
dc87de0073 Release curve25519-dalek version 2.1.3.
-----BEGIN PGP SIGNATURE-----
 
 iQB1BAAWCAAdFiEEOy1KvpA7Nj5/r96Eq0ExNTPo6BIFAmDtLDQACgkQq0ExNTPo6BJG2QEAqYkN
 LL4I8XGFs7HiaUmafT5ROWh3J+tl6+1F0dxDfAwA/2N7TFpuBr9Ij9xL9Z1QOxO5Tj3A2pcTsbg3
 f4i/D30B
 =MsLB
 -----END PGP SIGNATURE-----
 
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQB1BAAWCAAdFiEEOy1KvpA7Nj5/r96Eq0ExNTPo6BIFAmDtMT4ACgkQq0ExNTPo6BJoJQD+PHTb
 ol7DCvSX4zr5WP38vrf5kvqg++90SGR0b6rZKxMBAMi1gpV0kaVNsY31bJSVBD89Qi+jcZXcxqkI
 PwVovFAI
 =U/np
 -----END PGP SIGNATURE-----
 

Merge tag '2.1.3' into HEAD

Release curve25519-dalek version 2.1.3.
2021-07-13 06:22:52 +00:00
Isis Lovecruft
ff25109f25
Bump curve25519-dalek version to 2.1.3. 2021-07-13 05:57:44 +00:00
Isis Lovecruft
43e454ce1d
Fix documentation build errors due to doc(inlude) on nightly. 2021-07-13 05:40:28 +00:00
Isis Lovecruft
53b4ed3098
Update CHANGELOG and README for 4.x alpha. 2021-04-14 02:28:21 +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 Lovecruft
1491f0db36
Update copyright years. 2021-03-25 04:10:55 +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
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
Isis Lovecruft
55e0db7cf6
Bump curve25519-dalek version to 3.0.2. 2021-01-08 03:32:42 +00:00
Isis Lovecruft
e852e97d2d
Bump curve25519-dalek version to 2.1.2. 2021-01-08 03:25:44 +00:00
Stephane Raux
4269b39f13
Make crate feature alloc work with stable Rust
`println!` was removed in the test as the corresponding test for `u32` does not have it.

(cherry picked from commit 608f8cd594)
Signed-off-by: Isis Lovecruft <isis@patternsinthevoid.net>
2021-01-07 23:30:42 +00:00
Isis Lovecruft
0f07443c2d
Bump curve25519-dalek to 2.1.1. 2021-01-07 22:21:37 +00: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
Henry de Valence
6d96eb7796 Bump version to 3.0.0. 2020-08-17 18:20:26 -07:00
Henry de Valence
3fc47ef867 Bump version to 2.1.0 2020-05-29 12:39:39 -07: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
Tony Arcieri
9480844b8d Switch from clear_on_drop to zeroize (fixes #281)
`zeroize` is WASM-friendly as it has no dependencies on C compilers.

Instead uses Rust's own volatile write semantics and compiler fences to
ensure zeroization is not elided by the compiler.
2019-10-23 16:39:21 -07:00
Henry de Valence
620d17ef40
Merge pull request #293 from dalek-cryptography/remove-build-rs
Remove build.rs constants generation.
2019-10-23 14:44:46 -07:00
Henry de Valence
574217694e Remove build.rs.
This was more useful at the time when we were determining, e.g., optimal lookup
table sizes and could regenerate them more easily, but it came at a massive
complexity cost.  It also meant that we were unable to implement backend
autoselection.  This commit removes the `build.rs` entirely.  In the future, a
different `build.rs` could be added that auto-selects a backend, but it seems
like the current default-u64 setup has been working fine.
2019-10-23 14:20:38 -07:00
Isis Lovecruft
7c5ba69491
Update copyright year. 2019-10-23 19:43:56 +00:00
Henry de Valence
cfa09d859f Use upstream IFMA intrinsics now that they exist. 2019-08-06 17:14:31 -07:00
Henry de Valence
cf7a1a4a0f Merge branch 'rand_core' of git://github.com/newpavlov/curve25519-dalek into newpavlov-rand_core 2019-02-14 14:29:58 -08:00
Henry de Valence
e3ca8961fc Fix rustdoc feature flags to compile on stable. 2019-01-18 14:19:39 -08:00
Henry de Valence
dc8431429f Refactor documentation to use doc_cfg. 2019-01-18 14:19:39 -08:00
Henry de Valence
aa73d7b1bc Add a FieldElement51x4 type. 2019-01-18 14:19:30 -08:00
Henry de Valence
3233e2eac6 Fix: cfg_target_feature is stable since 1.27. 2019-01-18 14:19:20 -08:00
Henry de Valence
47a164da4d Replace avx2_backend with simd_backend (autoselects AVX2/IFMA) 2019-01-18 01:52:17 -08:00
Henry de Valence
9ed2128a10 Add stub code for IFMA intrinsics in Rust. 2019-01-18 01:52:17 -08:00
Henry de Valence
f1d2b5182b Restructure source tree into serial and vector backends.
This begins to attempt to restructure the source tree so that the common parts
are common and the different parts are different.

The backend is now split into two parts:
- serial (containing the implementation using serial formulas and mixed-model arithmetic).
- vector (containing the implementation using parallel formulas and single-model arithmetic).

The serial scalar_mul tree is now under backend::serial::scalar_mul.
The avx2 scalar_mul tree is now under backend::avx2::scalar_mul.
2019-01-18 01:49:40 -08:00
Артём Павлов [Artyom Pavlov]
d6ca36fa0b replace rand with rand_core+rand_os 2019-01-05 14:27:24 +03:00