Hardcaml Zprize Submission

This documentation describes two projects undertaken as part of the Zprize competition in 2022.

Our submitted code is available on github here! (It will be made public after all competitions' deadline.)

Multi-Scalar multiplication

The main submission document for msm is available with various design decisions on github as a README.

This is a competition to implement a multi-scalar multiplication. In particular, the goal is to multiply 226 BLS12-377 G1 affine points by 253 bit scalars from the associated scalar field and add the result as fast as possible.

This is the submission for the FPGA track.

The main libraries that implements this include

Some modules with interesting implementation are (but not limited to!):

Inverse NTT

The main submission document for the NTT Acceleration contest is available in the zprize_ntt_top page

In this competition, we create a FPGA design that performs a 224 inverse number theoretic transform over a 64 bit finite field.

The other documentation pages for this competition include: