Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
X25519 using fiat-crypto Curve25519 field arithmetic (#197)
* ecc: Add fiat-crypto Curve25519 generated Rust code * ecc: Add initial draft of X25519 implementation * ecc: Add basic RFC tests to X25519 * tests: Add Wycheproof test vectors for standard X25519 * tests: Add Wycheproof runner and fix warnings * tests: Setup Wycheproof runner for X25519 * tests: Make separate test_runner for X25519 to follow earlier conventiones * x25519: Rename x25519_with_err -> x25519 * x25519: Only imports from core * x25519: Test that the MSB in final byte of group point U is ignored during key-agreement * x25519: Fix debug_assert sanity check * ecc: Update fiat-crypto Curve25519 arithmetic * ecc: Create raw-byte wrapper newtypes SecretKey, PublicKey and SharedSecret * ecc: key_agreement taking PublicKey, SecretKey and returning SharedSecret * ecc: Handle remaining flags in Wycheproof test vectors * NIT * ecc: Documentation improvements * ecc: Scalar should clamp in from_slice() * ecc: Use FieldElement directly in mont_ladder() * ecc: No unwrap() or expect() calls in Orion nor fiat-crypto so panic-docs have been removed * ecc: Remove unused Neg impl (needed for CT-swap, but this is used directly through fiat-crypto) * ecc: Update 1M RFC iter test * Update README with support for X25519
- Loading branch information