Commit Graph

331 Commits

Author SHA1 Message Date
Cloud User 736b85cff4 Update to AWS test program and cpp library, needs formatting 2019-08-25 15:07:06 +00:00
bsdevlin d67ddd5581 Updating cpp software model test for AWS bls12-381 2019-08-25 15:06:57 +08:00
Cloud User 00e2783836 Update to test program for AWS 2019-08-25 06:31:37 +00:00
bsdevlin 6d540f0491 Update bls12_381 processor to version 1.3, now has split functions for
miller loop and final exponentiation, to support multi-pairing.
2019-08-25 00:30:08 +08:00
bsdevlin 3a8c799a74 Modify bls12-381 pairing engine .rdy signal so that it is not
combinatorial, to improve timing. Update version to 1.2.2
2019-08-22 16:31:33 +08:00
bsdevlin dbed8ccb0d Bugfix: Multiplier was not handeling backpressure correctly in some
cases so fixed it to be similier for now. Updated testbench.
2019-08-22 16:22:30 +08:00
bsdevlin 6453e94724 Bug fix for multiplication on Fp2 elements 2019-08-21 17:42:52 +08:00
bsdevlin 8a01070e8f Update cpp library to include ate pairing commands, increase FPGA
version to 1.2
2019-08-21 17:23:45 +08:00
Cloud User 406a5bae2a Updated files for bls12-381 to compile on AWS 2019-08-21 09:18:45 +00:00
bsdevlin 99444db3bb Testbench for bls12-381 updated with control test. 2019-08-21 14:09:50 +08:00
bsdevlin 0bee1e1cd3 Adding control instructions for bls12-381 coprocessor 2019-08-21 14:09:25 +08:00
bsdevlin d437d3a165 Enable bls12-381 point multiplication using the miller loop of the
pairing engine instead of a dedicated unit to save area on the FPGA.
Updated the bls12-381 testbench.
2019-08-20 21:05:08 +08:00
bsdevlin 11bde6e1a8 Updates to reduce FF usage for bls12-381 core 2019-08-20 04:29:10 -04:00
bsdevlin 7220251fb2 Update to fix synthesis errors. 2019-08-20 04:28:32 -04:00
bsdevlin e5f4555381 Updates to top level bls12-381 and testbench to use new inverter block. 2019-08-19 15:20:05 +08:00
bsdevlin 0aada9c6b1 Update bls12-381 package function for miller loop to also return the
doubled point so we can use it for point multiplication.
2019-08-16 17:29:42 +08:00
bsdevlin c579406f94 Update inversion block and pairing engine to use external multiplier
blocks.
2019-08-16 17:27:06 +08:00
bsdevlin 38b8284194 Bug fix: Update to reduction multiplier to properly handle back
pressure.
2019-08-16 17:23:52 +08:00
bsdevlin 5f74545e77 Update pairing engine to calculate full ate pairing, along with
testbench with several cases, will add more self checking and
optimizations next.
2019-08-14 19:46:29 +08:00
bsdevlin 7b3d971e63 Updates for the ate pairing final exponentiation stage, passing
testbench now.
2019-08-14 00:26:12 +08:00
bsdevlin d01edec6a9 bls12_381 exponent calculation module and testbench 2019-08-11 10:22:24 +08:00
bsdevlin 891dd214dc Updates for bls12-381 Fp12 inversion and wrapper files. 2019-08-10 23:31:58 +08:00
bsdevlin 3faee7b780 Added square mode to bls12-381 Fp12 multiplier and updated testbench,
pairing algorithm.
2019-08-09 00:39:45 +08:00
bsdevlin c8acd6c775 Updates to pairing engine to use new multiplication and resource
arbitrator blocks.
2019-08-08 12:45:47 +08:00
bsdevlin 4c9fc76048 Updates to resource multipliers and new stream version for fe6
multiplication
2019-08-08 12:40:05 +08:00
bsdevlin 9a6268eb13 Remove old fe6 multiplication module 2019-08-08 12:33:18 +08:00
bsdevlin 1ff4d46cac Update top level to include streaming pairing engine 2019-08-06 19:37:22 +08:00
bsdevlin c3178ba18d Updates to pairing engine to use streaming inteferace 2019-08-06 19:27:58 +08:00
bsdevlin 82a1710564 Updates for streaming mode fp12 multiplication and testbench 2019-08-05 15:23:30 +08:00
bsdevlin d7163efef2 Updates for streaming logic and test bench 2019-08-04 11:45:12 +08:00
bsdevlin f8371eba2e Add files for calculating the Frobenius map used in ate pairing. 2019-08-01 20:24:46 +08:00
bsdevlin 3b4693d407 Adding pairing test to bls12-381 top level testbench (only testing
miller loop right now)
2019-07-28 23:55:42 +08:00
bsdevlin 4245604b13 Remove double driver 2019-07-28 23:54:51 +08:00
bsdevlin 5136bc8fe9 Add the pairing engine to bls12_381 top level 2019-07-26 19:14:51 +08:00
bsdevlin 789a33351d Adding bls12-381 pairing wrapper to hold all arithmetic for pairing,
will consolidate the bls12-381 logic at a later time.
2019-07-26 16:04:55 +08:00
bsdevlin 481944c547 bls12-381 pairing miller loop working, using full multiplication (will
update to sparse multiplication next)
2019-07-26 14:18:14 +08:00
bsdevlin 2044d52db1 First cut of pairing engine for bls12-381 2019-07-24 21:37:37 +08:00
bsdevlin 73037d3612 Bug fix when reading stream on AWS FPGA 2019-07-22 15:12:50 +08:00
bsdevlin 0b26ad7372 Bug fix for control bit widths 2019-07-21 10:12:23 +08:00
bsdevlin c25d20a2ce Update Fp6 logic to use formulas 2019-07-20 23:33:34 +08:00
bsdevlin 82ed9c4dd9 Files for Fp12 logic, and fixes to testbench / Fp6 logic 2019-07-20 15:39:30 +08:00
bsdevlin 77afff4e48 Bugfix for arbitrator locking 2019-07-20 15:37:19 +08:00
bsdevlin 9bbc0d9516 Functions for multiplication in fp6 2019-07-16 17:43:01 +08:00
bsdevlin 2719f4e3d0 Fix control and add multiplication to fp6 2019-07-16 17:42:41 +08:00
bsdevlin 51e5ca0628 Update to testbench 2019-07-16 17:42:21 +08:00
bsdevlin 9e36dd5a15 Multiple by non-residue fp2 2019-07-16 17:41:20 +08:00
bsdevlin 224988f96c eclipse settings 2019-07-16 17:41:01 +08:00
bsdevlin d54b2ba5ba Fix error signal 2019-07-16 17:40:48 +08:00
bsdevlin 06316acf3b First cut of fp6 areithmetic block 2019-07-12 07:19:32 +08:00
bsdevlin 8aebe52d23 Updates and adding top level doc 2019-07-10 19:46:26 +08:00