nimue
1.0.0
nimue是一个相信随机甲骨文的震撼库。它促进了多轮公共硬币协议的写作。它提供了一种通用API,用于生成验证者的随机硬币和谚语随机性。该项目具有以下板条箱:
nimue
:核心库,具有group
和ark-ff
的绑定。该板条箱通过Rust的通用Digest
API和A(更细粒度,更有效的)置换函数API提供了压缩功能和基于海绵的哈希功能的哈希基碱基的基本特征nimue-pow
:通过磨床 /工作证明计算的挑战的扩展;nimue-poseidon
:Poseidon Hash函数(在Arkworks)中实施的工作。nimue-anemoi
:正在进行Anemoi哈希函数的工作(在Arkworks中);自动成绩单生成。 Nimue配有用于序列化/应对代数元件的电池,例如ARKWORKS和ZKCRYPTO中的现场/组元素。用户可以通过扩展特征构建其顶部。
支持自定义哈希功能。为了构建安全的Fiat-Shamir变换,最小要求是支持字节编码的某些集合的置换函数。它可以是代表u8
复古兼容。我们有一个满足digest::Digest
特征的任何哈希函数的旧接口,例如sha2
和blake2
。
预处理。在递归的蛇形中,保持安全性的同时最大程度地减少了哈希命令的数量至关重要。我们提供用于预处理成绩单(即,菲亚特 - 萨米尔变换状态)的工具,以实现这一目标。
私人随机性产生。至关重要的是,避免为同一众议员提供两个不同的挑战。我们会尽力避免这种情况,通过将谚语随机性与协议成绩单联系起来,而无需确定性证明。
查看文档和一些examples/
。