Commit Graph

323 Commits

Author SHA1 Message Date
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
bsdevlin 911422b13b update test case 2019-07-05 14:10:30 +08:00
bsdevlin 647707aa2e bug fix for zcash_fpga c++ lib return type 2019-07-05 14:09:56 +08:00
bsdevlin b0d10b1b82 Updates to add point_mult function and testcases, add date and time to
synthesis script for AWS
2019-07-04 17:47:10 +08:00
bsdevlin 81afb93757 Fix bug with sending interrupts back to back 2019-07-03 15:25:00 +08:00
bsdevlin 8d47d0be55 Typo in brackets 2019-07-03 14:57:56 +08:00
bsdevlin 81c1a0d7c1 Use uint8_t pointers instead of char 2019-07-03 14:52:58 +08:00
bsdevlin fd088ca821 Fix typo 2019-07-03 09:20:34 +08:00
bsdevlin 049fed7442 updates to readme and c++ 2019-07-03 08:34:42 +08:00