nimue
1.0.0
Nimueは、ランダムなオラクルを信じるハッシュに依存しないライブラリです。マルチラウンドパブリックコインプロトコルの執筆を容易にします。検証者のランダムコインとProverランダム性を生成するための一般的なAPIを提供します。プロジェクトには次の木枠があります。
nimue
:コアライブラリ、 group
とark-ff
のバインディング。このクレートは、RustのジェネリックDigest
APIと(より微細に効率的な)順列関数APIの両方を介して、圧縮関数とスポンジベースのハッシュ関数に関するハッシュベースの基本的な特性を提供します。nimue-pow
:粉砕 /仕事の証明を介して計算された課題のための拡張機能。nimue-poseidon
:Poseidon Hash関数の進行中の実装(Arkworks)。nimue-anemoi
:Anemoi Hash関数の実装(Arkworks);自動トランスクリプト生成。 Nimueには、ArkworksやZkcryptoのフィールド/グループ要素などの代数要素のシリアル化/降下用のバッテリーが含まれています。ユーザーは、拡張特性を介してその上部を構築できます。
カスタムハッシュ関数をサポートします。安全なFiat-Shamir変換を構築するために、最小限の要件は、Byte-Encodingをサポートする一部のセットに及ぼす順列関数です。それはu8
表すことができます
レトロ互換性。 sha2
やblake2
などのdigest::Digest
特性を満たすハッシュ関数のレガシーインターフェイスがあります。
前処理。再帰的なおしゃべりでは、セキュリティを維持しながらハッシュの呼び出しの数を最小限に抑えることが重要です。この目標を達成するために、転写産物(つまり、フィアット・シャミール変換の状態)を前処理するためのツールを提供しています。
プライベートランダム生成。同じプレーバーメッセージに対して2つの異なる課題を提供することを避けることが重要です。証明を決定論的にすることなく、プロバーランダム性をプロトコル転写産物に結び付けることにより、それを避けるために最善を尽くします。
ドキュメントといくつかのexamples/
をご覧ください。