Commit graph

206 commits

Author SHA1 Message Date
Isis Lovecruft
1ee5c4defb
Update CHANGELOG and bump version to 3.2. 2021-07-13 05:32:36 +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
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
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
Henry de Valence
6b71cd863a Update CHANGELOG and bump version 2019-10-25 16:07:19 -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
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
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