17个版本

使用旧的Rust 2015

0.4.0 2021年2月11日
0.3.2 2019年8月26日
0.3.0 2019年4月2日
0.2.2 2019年3月13日
0.0.2 2018年3月23日

#2354 in 算法


用于 lpn

GPL-2.0+

545KB
13K SLoC

C 11K SLoC // 0.1% comments Rust 1.5K SLoC // 0.0% comments M4 673 SLoC // 0.4% comments Automake 129 SLoC // 0.1% comments Visual Studio Project 123 SLoC

Rust对M4RI的绑定

M4RI 是一个C库,提供了高效的二进制矩阵操作的实现。这个crate旨在将那些函数暴露给Rust,并提供了一个围绕矩阵、向量和这两种操作的友好包装。

参考

Martin Albrecht 和 Gregory Bard. The M4RI Library. https://malb.bitbucket.io/m4ri

参见M4RI文档的参考部分 此处

本内容是在以下背景下编写的

Thom Wiggers. Solving LPN using Large Covering Codes. 硕士学位论文 Radboud University, 2018.

另请参阅 https://thomwiggers.nl/research/msc-thesis/

可选功能

  • serde: 启用序列化
  • M4RI选项
    • m4rm_mul: 使用 m4rm 作为乘法算法
    • naive_mul: 使用 naive 策略
    • strassen_mul: 使用Strassen算法

Windows支持

您可能会在尝试在Windows上构建时遇到问题。欢迎提供帮助(见 问题#6)。

版本

版本具有DOI

DOI

依赖项

~0.8–1.7MB
~36K SLoC