Commit Graph

174 Commits

Author SHA1 Message Date
Kevaundray Wedderburn 73a7ecf466 change default backend 2020-05-27 18:20:24 +01:00
Kevaundray Wedderburn 03e086f2cb add dalek copyright 2020-05-27 18:18:35 +01:00
Kevaundray Wedderburn 8e9afd58bd Add new addition chain for inversion in F_p 2020-05-23 20:35:54 +01:00
Kevaundray Wedderburn 0ea8352bba remove duplicate test 2020-05-22 20:46:52 +01:00
Kevaundray Wedderburn 1b908bd1e2 - Temporarily remove signed multi comb scalar multiplication [Readability]
- Add in wnaf scalar multiplication
2020-05-22 20:44:20 +01:00
Kevaundray Wedderburn f7f92143c4 Refactor identity method for to_projective_niels() method 2020-05-22 20:42:58 +01:00
Kevaundray Wedderburn 1e2497b503 - remove &mut from add_projective_neils method
- Switch around t1 and t2, for the identity, just to be consistent with x and y
2020-05-22 20:41:59 +01:00
Kevaundray Wedderburn 28a3638070 refactor 4-isogeny to only use 1 inversion 2020-05-22 20:41:00 +01:00
Kevaundray Wedderburn 681cf51b4c rename test name to be more descriptive 2020-05-22 20:40:15 +01:00
Kevaundray Wedderburn 8361bcfa7b recode scalars to be between -8 and 8 2020-05-22 20:39:53 +01:00
Kevaundray Wedderburn b8338be937 update readme 2020-05-19 22:12:31 +01:00
Kevaundray Wedderburn 4de41fdcc0 Remove conditional_assign and conditional_swap as they can be derived from conditional_select 2020-05-19 22:09:52 +01:00
Kevaundray Wedderburn b3154fde89 - Move equality of field elements to the Field element layer
- Move is_zero method to field element layer
2020-05-19 22:07:42 +01:00
Kevaundray Wedderburn fddfd1a996 remove unused comment 2020-05-19 21:50:47 +01:00
Kevaundray Wedderburn 397b7ac2ba Refactor tests to be generic over the field element backend chosen 2020-05-19 21:41:17 +01:00
Kevaundray Wedderburn 169e28351c - Remove to_extensible method from affine. 2020-05-19 21:26:23 +01:00
Kevaundray Wedderburn 1d1d246461 add fiat_u64 backend feature for constants 2020-05-19 21:25:43 +01:00
Kevaundray Wedderburn 1e3353169b Add test to derive the basepoints 2020-05-19 21:24:57 +01:00
Kevaundray Wedderburn f2a918631c Remove duplicated methods 2020-05-19 21:21:00 +01:00
Kevaundray Wedderburn 01ec6ca3fb Add backend for radix 2^56 using fiat-crypto 2020-05-19 21:20:14 +01:00
Kevaundray Wedderburn bd65f9215b - Rename Fq to FieldElement28
- Rename fq.rs to prime_field.rs
- As we only have 1 implementation for scalar.rs , move it to the top level temporarily
2020-05-19 21:18:40 +01:00
Kevaundray Wedderburn df007a8d0b - Replace select_mask with ct_eq
- Remove test vectors (not helpful with two backends)
- Replace all u28 field elements with generic field elements
2020-05-19 21:16:28 +01:00
Kevaundray Wedderburn 77e81520c6 remove select mask method 2020-05-19 21:12:38 +01:00
Kevaundray Wedderburn dda5f3028e simplify basic inversion test 2020-05-11 19:41:12 +01:00
Kevaundray Wedderburn b8278c7adc fix bug in halve method 2020-05-11 19:21:35 +01:00
Kevaundray Wedderburn 3e13e4ffe3 Format comments and explain the variance from paper 2020-05-09 20:44:09 +01:00
Kevaundray Wedderburn 8fcaa0305a clean up test and fix wrong import 2020-05-09 20:42:25 +01:00
Kevaundray Wedderburn e5b9508a6f Extensible:
- Refactor EC methods to match the Twisted Edwards Curve Revisited paper
2020-05-09 20:17:07 +01:00
Kevaundray Wedderburn 4794b6e8b5 cargo fmt 2020-05-09 20:11:26 +01:00
Kevaundray Wedderburn d496cd4b5b Clean up to_extended method and move conditionally negatable under subtle trait implementation 2020-05-09 20:11:04 +01:00
Kevaundray Wedderburn 7311d13a6a Remove all unused constants and rename the constants that are for TWISTED-GOLDILOCKS explicitly 2020-05-09 20:10:19 +01:00
Kevaundray Wedderburn 8e2f3a1f59 Remove all field arithmetic with no reductions from the EC layer 2020-05-09 18:27:59 +01:00
Kevaundray Wedderburn 2fd3866c92 clean up scalar mul in goldilocks 2020-05-09 18:03:28 +01:00
Kevaundray Wedderburn fc95a07299 Scalar : Make one() and zero constant functions 2020-05-09 17:06:40 +01:00
Kevaundray Wedderburn 310a3b9f3e update readme 2020-05-09 17:01:23 +01:00
Kevaundray Wedderburn a9c5f58347 Add one-way test for Goldilocks to Montgomery 2020-05-09 17:01:03 +01:00
Kevaundray Wedderburn bb0c36f5ab Change method name to div_by_four 2020-05-08 23:22:40 +01:00
Kevaundray Wedderburn 1f02caf087 update readme 2020-05-08 23:13:47 +01:00
Kevaundray Wedderburn 7a239a902d cargo fmt 2020-05-08 23:13:30 +01:00
Kevaundray Wedderburn 19a7149b35 use generic strategy for scalar mul 2020-05-08 23:13:14 +01:00
Kevaundray Wedderburn ef19c36431 Scalar : add floor(scalar/4) method 2020-05-08 23:08:57 +01:00
Kevaundray Wedderburn 0757533749 Implement constant time equals for Scalar 2020-05-07 22:46:24 +01:00
Kevaundray Wedderburn e1d8c3dc32 Move Scalar adjustment factor into signed multi comb file directly 2020-05-07 22:39:40 +01:00
Kevaundray Wedderburn b25bcc4f74 Add in-efficient double base scalar mul 2020-05-07 22:39:13 +01:00
Kevaundray Wedderburn fbbaad7dcf Remove AffineNiels Table while its not being used 2020-05-07 22:38:31 +01:00
Kevaundray Wedderburn 3a18561a4e Rename package to Ed448-Goldilocks 2020-05-07 21:18:28 +01:00
Kevaundray Wedderburn 6335618266 Fix credits and add a bear 2020-05-07 21:18:09 +01:00
Kevaundray Wedderburn 29207f91f2 Remove starter test 2020-05-07 21:17:41 +01:00
Kevaundray Wedderburn e78e26c8fc Affine; Twisted_Edwards : Use correct D and fix tests to match this 2020-05-07 21:16:37 +01:00
Kevaundray Wedderburn 4497a4d41c Extended: Add comments 2020-05-07 21:16:03 +01:00