
任意の環に対応したKKWゼロ知識証明システムの効率的な実装であり、証明者と検証者に線形の証明時間と128ビットの安全性を提供します。
An efficient implementation of the NIZKPoK outlined in KKW 2018
Reverie は、Improved Non-Interactive Zero Knowledge with Applications to Post-Quantum Signatures で概説された MPC-in-the-head NIZKPoK の (証明者と検証者の) 実装です。 Reverie は、複雑な述語に対して具体的な証明者の効率性 (小さな定数による線形証明時間) を提供することを目指しています。この実装は 128 ビットの (古典的な) セキュリティを提供し、任意の環をサポートしますが、最も効率的なのは Z2 と Z64 です。
Reverie は、簡素化されたインターフェースとストリーミングインターフェースを持つライブラリに加えて、Bristol 形式で指定されたステートメントを証明/検証するための CLI プログラムを提供し、容易な実験を可能にします。
Reverie は比較的新しい nightly Rust を必要とします。
SSE+AESNI を使用する場合
time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2" cargo run --release
さらに良いのは、AVX2+AESNI を使用する場合です
time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2,+avx2" cargo run --release