Commit graph

318 commits

Author SHA1 Message Date
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
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
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
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
e8615a9326 bump version to 1.1.0 and update CHANGELOG 2020-08-31 12:56:34 -07:00
bunnie
eb45d338ee mods to get hardware integration to actually work. 2020-08-21 01:37:10 +08:00
bunnie
9c3d34345c add hardware acceleration to differential point add and double
hacky implementation, but it'll let us do a performance benchmark
2020-08-20 15:47:02 +08:00
Henry de Valence
af6d5bd5bf Bump version to 1.0.1 2020-08-17 20:37:20 -07:00
Henry de Valence
2408e6b179 Update curve25519-dalek to version 3.0.0.
This allows unifying dependencies with other crates using the `3.x` series of
the curve library.  It is a semver patch-level change, because the x25519-dalek
API does not expose any details of the underlying curve implementation.
2020-08-17 20:17:57 -07:00
Henry de Valence
1b01d597ca Bump version to 1.0.0 and update CHANGELOG.md 2020-08-17 19:43:22 -07:00
Henry de Valence
6d96eb7796 Bump version to 3.0.0. 2020-08-17 18:20:26 -07:00
bunnie
616801bd4c add test is not working 2020-08-10 18:32:46 +08:00
bunnie
c8bd4211f6 edit test to include normalization after add 2020-08-08 02:11:00 +08:00
bunnie
8091a73b80 try to turn off "std" inclusion for the assembler crate
...unsuccessful tho. Rust features are hard.
2020-08-07 23:39:02 +08:00
bunnie
11131146be add test vector generation infrastructure for engine25519 2020-08-07 23:12:05 +08: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
be420d4ffc
Bump criterion version 2020-03-04 22:35:33 -05:00
François Garillot
7b1363a964
Bump criterion version 2020-02-24 14:24:49 -05:00
Isis Lovecruft
076cf347ba
Fix non-unique benchmark IDs for newer criterion versions. 2021-08-17 00:22:26 +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
Henry de Valence
d9c7f2814e Bump version to 0.6.0 and update CHANGELOG. 2019-11-26 14:03:08 -08:00
DebugSteven
be82bcb15b update rand_core version
Co-authored-by: Greg <gregory.mkv@gmail.com>
2019-11-26 14:28:34 -07:00
DebugSteven
de5d79388b use zeroize instead of clear_on_drop 2019-11-26 13:44:50 -07: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
DebugSteven
0c3981d87a support for serde serialize and deserialize 2019-11-11 10:46:28 -05: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
Henry de Valence
6b71cd863a Update CHANGELOG and bump version 2019-10-25 16:07:19 -07:00
Henry de Valence
9c3d6921d0 Use 2018 edition 2019-10-24 15:44:57 -07:00
Henry de Valence
6739399ec2 Upgrade to current rand_core, rand, rand_os.
Of these only `rand_core` is included in the public API; regardless of `rand`
semver tricks, this is a breaking API change, but the major version is already
bumped to include the Serde serialization fixes.
2019-10-24 12:29:01 -07:00
Henry de Valence
018fccfe8c Avoid over-specific version specifiers.
By default, Cargo treats version specifiers as semver-compatible ranges, so the
version specifiers we include should only have the components that are actually
meaningful, e.g., "1" instead of "1.0.0" (which actually means "1").
2019-10-24 12:25:50 -07:00
Henry de Valence
a79459a1c8
Merge pull request #289 from tarcieri/zeroize
Switch from `clear_on_drop` to `zeroize` (fixes #281)
2019-10-23 20:17:14 -07: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
70e46c9826 Fill in missing Serde impl for MontgomeryPoint. 2019-10-23 15:55:03 -07:00
Henry de Valence
0fc534d989 Use "tuples" instead of "bytes" in the Serde datamodel.
This is a breaking change to the serialization format.  It fixes it so that the
Serde encoding can match the conventional encoding of each type of object, and
so that Serde can be used with no overhead -- when using serde-bincode, the
Serde encoding now matches the manual encoding.
2019-10-23 15:40:50 -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
Henry de Valence
4dc8073330 Update CHANGELOG and bump version 2019-08-07 13:24:36 -07:00
Henry de Valence
e6d580b0cf Bump version to 1.2.2 2019-07-31 15:25:22 -07:00
Henry de Valence
78d9804bf9 'crypto' means 'cryptography' 2019-07-30 12:43:56 -07:00
Henry de Valence
45b316d26b Update version to 1.2.1 2019-06-06 15:39:59 -07:00
Henry de Valence
62fbd6ab63 Update version to 1.2.0 2019-06-04 15:27:12 -07:00
isis agora lovecruft
33f21a9f34
Merge pull request #255 from xoloki/no-std-optional-serde
Turn off default serde features but keep it as an optional dependency
2019-06-04 19:39:30 +00:00
Joey Yandle
fd69503a40 turn off default serde features but keep it optional 2019-06-03 15:29:08 -07:00
Henry de Valence
ea9d7411d5 Bump version to 1.1.4 2019-05-06 19:09:04 -07:00
Henry de Valence
89c58a991b Bump version, add changelog entries 2019-03-29 12:53:43 -07:00
Isis Lovecruft
78b46c4abe
Bump x25519-dalek version to 0.5.1. 2019-02-27 23:36:29 +00:00
Henry de Valence
ebdd71b54b Bump version to 0.5.0 2019-02-16 13:46:06 -08:00
Henry de Valence
bd96f25baa Bump patch version 2019-02-15 13:47:16 -08:00
Henry de Valence
96796e620e Bump patch version 2019-02-15 11:32:54 -08:00
Henry de Valence
64c542ec84 Bump patch version 2019-02-15 11:20:25 -08:00
Henry de Valence
b8c62ec4b4 Attempt to fix cfg(rustdoc) on docs.rs
Building the docs currently doesn't work, because rustdoc enables parts of the
code (to document them) which then don't check (because there are missing
exports or dependencies).  This **should** fix the issue, but there's no way to
test without publishing a new version.
2019-02-15 11:18:25 -08:00
Henry de Valence
ad838ecd73 Remove -pre.0; reword CHANGELOG entries. 2019-02-15 10:11:18 -08:00
Henry de Valence
a35adbef84 Bump version number to 1.1.0-pre.0 2019-02-14 14:49:36 -08: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
89d474ae55 Bump patch version to 0.4.5 2019-02-04 12:31:29 -08:00
Michael Rosenberg
474c272945
Removed "nightly" from default features 2019-02-03 11:13:50 -05:00
Henry de Valence
ff0dc4a3db Merge branch 'master' into develop 2019-01-27 23:19:44 -08:00
Henry de Valence
9cd4551b40 Bump patch version 2019-01-27 23:17:27 -08:00
Henry de Valence
bcc6383d9a Bump version number 2019-01-22 14:15:14 -08:00
Henry de Valence
9e553688c3 Docs hotfix: disable KaTeX in docs.rs 2019-01-22 14:03:00 -08:00
Isis Lovecruft
ee359f6100
Bump x25519-dalek version to 0.4.3. 2019-01-20 00:45:31 +00:00
isis agora lovecruft
e61b620059
Merge pull request #24 from isislovecruft/fix/23-katex-header
Fix link to now-missing katex header.
2019-01-20 00:43:34 +00: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
Isis Lovecruft
f5f79f56c8
Fix link to now-missing katex header.
This fixes https://github.com/dalek-cryptography/x25519-dalek/issues/23 as
reported by @DebugSteven.
2019-01-18 06:13:15 +00:00
Henry de Valence
0328fb1342 Bump patch version 2019-01-17 19:25:34 -08:00
Henry de Valence
b21ab1324f Bump minor version 2019-01-15 22:47:35 -08:00
Isis Lovecruft
47e8689b2d
Bump x25519-dalek version to 0.4.1. 2019-01-16 02:23:14 +00:00
Isis Lovecruft
53ba2f3bcc
Merge remote-tracking branch 'newpavlov/rand_os' into release/0.4.0 2019-01-16 01:29:46 +00:00
Isis Lovecruft
bab903cb65
Bump x25519-dalek version to 0.4.0. 2019-01-12 23:35:03 +00:00
Isis Lovecruft
c9a1ef6a36
Credit @DebugSteven as an author. 2019-01-12 23:34:49 +00:00
Henry de Valence
65f94124f4 Reformat dependencies, add docs.rs metadata 2019-01-10 10:08:08 -08:00
Henry de Valence
48fa313e97 Update rand_core version 2019-01-10 10:03:59 -08:00
Артём Павлов [Artyom Pavlov]
5dcc1c17da use rand_os instead of rand 2019-01-05 16:17:05 +03:00
Артём Павлов [Artyom Pavlov]
4e4730303d enable rand_core/std 2019-01-05 14:32:36 +03:00
Артём Павлов [Artyom Pavlov]
d6ca36fa0b replace rand with rand_core+rand_os 2019-01-05 14:27:24 +03:00
DebugSteven
d3b7ccf030 byte-oriented x25519 function 2018-12-16 11:30:32 -07:00
Henry de Valence
5d4b5cb2a4 Bump version to 1.0.1 2018-12-13 15:43:26 -08:00
Henry de Valence
fca2cd5f95 Use the released version of subtle (oops) 2018-12-13 15:42:31 -08:00
Henry de Valence
9b4361db8b Finalize 1.0.0 2018-12-13 15:35:32 -08:00
DebugSteven
7cf01d82d9 rand to 0.6 2018-11-19 13:27:29 -05:00