Commit Graph

34 Commits

Author SHA1 Message Date
Sean Bowe 90656b0bbf Don't perform field inverse/squaring during affine conversion if point is already in affine. 2016-10-14 13:21:40 -06:00
Sean Bowe dab7fdf411 Use U512 division for Fp randomness, add Fr interpretation to API. 2016-09-18 11:22:53 -06:00
Sean Bowe b582ba749b Split off U512 interpretation. 2016-09-18 11:04:18 -06:00
Sean Bowe fbefb710cf Ensure divrem always returns remainder. 2016-09-18 10:23:59 -06:00
Sean Bowe 76344a7ae9 Fq2 serialization according to spec. 2016-09-18 05:04:19 -06:00
Sean Bowe b20157fef1 Clean up U256 serialization. 2016-09-18 04:08:56 -06:00
Sean Bowe fe3dfc3e29 Implement U512 from/divrem. 2016-09-18 03:28:15 -06:00
Sean Bowe 3e40981e3f Make set_bit inform instead of asserting. 2016-09-18 01:47:54 -06:00
Sean Bowe 3e5b7179c1 Factor out get_bit. 2016-09-18 01:42:51 -06:00
Sean Bowe 3ebd527167 Use macros to instantiate finite fields. 2016-09-14 21:30:38 -06:00
Sean Bowe 0725e366fd Make Group Sync. 2016-09-14 14:38:17 -06:00
Sean Bowe f40abe6dc3 More superclasses. 2016-09-12 14:02:21 -06:00
Sean Bowe 41ef5fdef0 Add more superclasses to Group. 2016-09-11 22:04:37 -06:00
Sean Bowe 03521652c5 Add Group trait, more methods to API, repr(C) everything. 2016-09-11 21:30:38 -06:00
Sean Bowe 9e458130a6 Public API, reorganize tests, benchmarks and shootout. 2016-09-11 12:58:18 -06:00
Sean Bowe b93e312eb0 Implementation of pairing. 2016-09-11 03:08:52 -06:00
Sean Bowe 72a722aa43 Various misc adjustments. 2016-09-09 17:50:42 -06:00
Sean Bowe b05ecd3bb0 Added G1/G2/Fq2 serialization and test vectors. 2016-09-09 01:12:25 -06:00
Sean Bowe cb2ff5c1ad Added serialization and test vectors for U256 and Fp elements. 2016-09-07 16:45:55 -06:00
Sean Bowe 77df6c9ee5 Arithmetic cleanup and optimization. 2016-09-07 16:45:52 -06:00
Sean Bowe 671d112c9c New arithmetic and G1/G2 implementations. 2016-09-04 03:50:46 -06:00
Sean Bowe 699e72ca7f Performing reconstruction of the codebase. 2016-08-28 11:48:28 -06:00
Sean Bowe 3591426d44 Add test 2016-07-04 13:58:11 -06:00
Sean Bowe d38cd5e388 Fix small nits 2016-07-04 12:46:37 -06:00
Sean Bowe 38f1f7d21d Add Gt type to API. 2016-07-04 12:46:36 -06:00
Sean Bowe bb4b97ccec Pairing cryptography operations 2016-07-04 12:46:36 -06:00
Sean Bowe c8a0d56ba4 Remaining extension field tower 2016-07-04 12:46:33 -06:00
Sean Bowe 17416ed162 Curve instantiation on extension field 2016-07-04 12:46:29 -06:00
Sean Bowe ba73fdce48 Curve instantiation on base field 2016-07-04 11:57:48 -06:00
Sean Bowe 4b32ed6585 Abstract away field operations into Field trait 2016-07-04 11:57:47 -06:00
Sean Bowe 391fa61173 Add more tests for Fp arithmetic 2016-07-04 11:56:33 -06:00
Sean Bowe eaa0de2964 Arithmetic in Fp 2016-07-04 11:56:30 -06:00
Sean Bowe 7f515bbe1c Foundation of finite field arithmetic 2016-06-28 23:50:38 -06:00
Sean Bowe b60f4f0db0 Initial commit. 2016-06-28 22:07:14 -06:00