Commit Graph

200 Commits

Author SHA1 Message Date
Kevaundray Wedderburn bc76f752a1 update readme: note 2020-05-03 19:49:21 +01:00
Kevaundray Wedderburn 2bcb13bc4a decaf: Remove temporary variables 2020-05-03 19:48:41 +01:00
Kevaundray Wedderburn 48bbec9610 u32: Move all relevant constants into u32 module and feature gate 2020-05-03 19:38:46 +01:00
Kevaundray Wedderburn e26cf6aac5 update comment 2020-05-03 19:37:52 +01:00
Kevaundray Wedderburn ad009129f6 multi: use correct constant name: `A+2/4` instead of `1-D` 2020-05-03 19:13:49 +01:00
Kevaundray Wedderburn 17de3e58c9 remove readme 2020-05-03 19:09:30 +01:00
Kevaundray Wedderburn 995d73bacb multi: Move all constants defined in curve module to global constants file and refactor imports 2020-05-03 19:08:05 +01:00
Kevaundray Wedderburn e48640baac decaf: Move all local decaf related constants to the constants file on the parent directory 2020-05-03 19:04:39 +01:00
Kevaundray Wedderburn 7c37b1b486 decaf : use one constant instead of two 2020-05-03 19:01:58 +01:00
Kevaundray Wedderburn 669f6274a0 constants: Add constants file 2020-05-03 18:45:31 +01:00
Kevaundray Wedderburn dbb32d0cc3 update reamde 2020-05-03 18:41:26 +01:00
Kevaundray Wedderburn 76cb46f30c decaf: initial decoupling from specific field implementation 2020-05-03 18:41:17 +01:00
Kevaundray Wedderburn 21fbc02d0a window, scalar_mul: initial decouple from specific field implementation 2020-05-03 18:40:42 +01:00
Kevaundray Wedderburn 9de03e7950 scalar, field: Move u32 scalar implementation and u28 field implementation into a u32 module. 2020-05-03 18:39:36 +01:00
Kevaundray Wedderburn 7147c04606 curve: initial decoupling of curve from specific implementation of field element radix. 2020-05-03 18:37:25 +01:00
Kevaundray Wedderburn f348817c7b remove readme 2020-04-30 20:35:22 +01:00
Kevaundray Wedderburn e35b321429 Add Scalar multiplication with RFC test for Montgomery 2020-04-30 20:30:30 +01:00
Kevaundray Wedderburn 2cef2c4bda Add a method to convert Edwards to Montgomery based on X448 RFC 2020-04-30 20:29:29 +01:00
Kevaundray Wedderburn 38b5d84bdf add conditionallly selectable for TwistedEdwards; Affine, Extended and projective 2020-04-30 20:28:55 +01:00
Kevaundray Wedderburn 525f28889e cargo fmt 2020-04-30 20:28:14 +01:00
Kevaundray Wedderburn a574c1d1b5 Add basic double and add to test more complex scalar multiplication algorithms 2020-04-30 20:28:02 +01:00
Kevaundray Wedderburn 362241a751 Fq: remove unused method 2020-04-30 20:27:01 +01:00
Kevaundray Wedderburn 08d23e1dff Add to_bits(), to_bytes() and from_bytes() methods 2020-04-30 20:26:44 +01:00
Kevaundray Wedderburn 1fb8a7f54d cleanup select methods in the lookup tables 2020-04-26 17:46:51 +01:00
Kevaundray Wedderburn 36cb027aa2 implement skeleton for Ristretto448 2020-04-26 17:11:15 +01:00
Kevaundray Wedderburn 7260c50c12 Initial decaf implementation 2020-04-26 17:00:45 +01:00
Kevaundray Wedderburn 26ad90593b Add `-d` as a constant to be used in Decaf 2020-04-26 17:00:16 +01:00
Kevaundray Wedderburn 1838c9c71e remove useless test 2020-04-26 16:59:46 +01:00
Kevaundray Wedderburn 348b304ed1 Make Fq::zero and Fq::one constant functions 2020-04-26 16:58:43 +01:00
Kevaundray Wedderburn 04c87b1daf fix build 2020-04-25 20:31:42 +01:00
Kevaundray Wedderburn 45a41613be fix build 2020-04-25 20:31:05 +01:00
Kevaundray Wedderburn 118293c44d cargo 2020-04-25 15:38:24 +01:00
Kevaundray Wedderburn 525af3dbe1 Initial Refactor from reference:
- Implement subtle traits
 - Impement is_negative
2020-04-25 15:36:29 +01:00
Kevaundray Wedderburn 0cd86d9e9b Initial Refactor from reference: Scalar Mul 2020-04-25 15:34:02 +01:00
Kevaundray Wedderburn 098ffcd4c0 Initial Refactor from reference: Twisted Edwards module 2020-04-25 15:10:27 +01:00
Kevaundray Wedderburn fe5cdc2c2c Initial Refactor from reference: Edwards refers to the Goldilocks curve 2020-04-25 14:42:26 +01:00
Kevaundray Wedderburn 4953dbd07d Merge branch 'master' of https://github.com/crate-crypto/Curve448 2020-04-23 20:48:45 +01:00
Kevaundray Wedderburn 618bbbd242 update readme 2020-04-23 20:48:21 +01:00
kevaundray 564a00b2c5
Create rust.yml 2020-04-23 12:13:03 +01:00
Kevaundray Wedderburn 9f5a15f8df Add simple tests for ScalarMul 2020-04-16 21:07:41 +01:00
Kevaundray Wedderburn e22bf9d856 cargo fmt 2020-04-16 20:46:13 +01:00
Kevaundray Wedderburn e81aab8885 Merge branch 'master' of https://github.com/crate-crypto/Curve448 2020-04-16 20:45:06 +01:00
Kevaundray Wedderburn 93f4441718 - Add ScalarMul function
- Fix equals function
2020-04-16 20:41:54 +01:00
Kevaundray Wedderburn 931a0887f2 AffineNiels
- Add `conditional_negate`
2020-04-16 20:40:41 +01:00
Kevaundray Wedderburn 5b34118eda ProjectiveNielsPoints
Add `to_affine_niels`, `to_extended` and `conditional_negate`
2020-04-16 20:40:01 +01:00
Kevaundray Wedderburn 42bffbeb95 Add wnaf lookup function 2020-04-16 20:35:22 +01:00
Kevaundray Wedderburn d77a06127f - Remove extra From traits, so that we do not need to tell the compiler what From Trait to use. Then refactor all Fq::from() methods to match this
- Add conditional_negate, conditional_swap and tests

- Add tests for equal
2020-04-16 20:34:37 +01:00
Rohit Narurkar 5ac1f75843
add default trait for field, scalar and curve points (#14)
Co-authored-by: Rohit Narurkar <rohitnarurkar@gmail.com>
2020-04-16 20:10:14 +01:00
Kevaundray Wedderburn 0263ad6e49 Iniital windowing methods 2020-04-14 23:16:58 +01:00
Kevaundray Wedderburn c35a9a5584 change visibility of slice that Scalar aliases 2020-04-14 23:16:14 +01:00