Sean Cross
859eb04005
Cargo: update engine25519-as git version
...
Update to a new git version that supports the `Xous` target_os.
2021-08-18 17:59:46 +08:00
bunnie
beea1311bf
redirect utralib to a stand-in for patching
2021-07-11 02:09:46 +08:00
bunnie
03e91fefce
finish u32e_backend variant for bootloader use
2021-07-11 02:03:00 +08:00
bunnie
053d65f3a7
commit a debug branch
2021-07-10 23:46:48 +08:00
bunnie
c950ac9268
add a 'u32e' backend -- u32 + curve25519 engine
2021-07-10 17:57:19 +08:00
bunnie
9ffc75dd3c
more fixes to try to clean up the build system
2021-06-28 01:27:03 +08:00
bunnie
98dfce7ec2
fix remaining configuration warts
...
builds clealy as a test crate, without any dependency on
xous proper for configurations that don't involve xous.
2021-06-27 03:02:18 +08:00
bunnie
4604066747
fix path
2021-06-27 02:05:15 +08:00
bunnie
ea4bc9b079
attempt to clean up some dependency issues
2021-06-27 01:58:27 +08:00
bunnie
0b748f6365
stash a version of the XousEngine25519 trait in case we want it later
2021-06-27 00:30:26 +08:00
bunnie
0b0cda3118
initial swag at gluing things together
...
Note: breaks for anyone's build environment but mine!
2021-06-26 13:41:19 +08:00
bunnie
6e2cf5ab43
add macros
2021-06-26 02:11:37 +08:00
bunnie
b4e8accf38
Merge branch 'main' into HEAD
2021-06-20 19:20:06 +08: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
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
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
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