1 个不稳定版本

0.1.0-pre2022年12月21日

#1454密码学

Apache-2.0 OR MIT

64KB
1.5K SLoC

cyclone-msm

假设 FPGA 图像通过以下命令加载:make reset

注意,与 ZPrize 提交中的图像 agfi-0d25a1d127f1b497f 相比,此图像 agfi-09bec09a9e2b4d332 具有修复,可启用不带 DRAM 的点读取。

快速入门

# install the demo binaries
RUSTFLAGS='-C target-feature=+avx2' cargo install --features demo --git https://github.com/jumpcrypto/cyclone cyclone-msm

# load the FPGA image
sudo fpga-load-local-image -S 0 -I agfi-09bec09a9e2b4d332

# configure the demo (SIZE can be up to 26)
SIZE=16 LOCATION=/tmp/example-points-$SIZE
CYCLONE=$(command -v cyclone-msm)

# make some points
$CYCLONE $SIZE $LOCATION points

# load the points
sudo $CYCLONE $SIZE $LOCATION load

# run a random MSM on these points
sudo $CYCLONE --preloaded $SIZE $LOCATION msm

开发

默认 SIZE=16。

  • make points SIZE=<SIZE> 生成文件 size<SIZE>.betasize<SIZE>.points
  • make column SIZE=<SIZE> 使用这些点计算一个列 MSM。
  • make msm SIZE=<SIZE> 使用这些点计算一个完整的 16 列 MSM。

您也可以跳过加载列和 msm 目标中的点

  • make load SIZE=<SIZE> 生成文件 size<SIZE>.betasize<SIZE>.points
  • make column-pre SIZE=<SIZE> 使用这些点计算一个列 MSM。
  • make msm-pre SIZE=<SIZE> 使用这些点计算一个完整的 16 列 MSM。

许可证

根据您的选择,许可在 Apache 许可证,版本 2.0MIT 许可证 下。
除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在此软件包中的任何贡献,都将根据上述方式双许可,而无需任何附加条款或条件。

依赖关系

~7.5MB
~145K SLoC