
Effiziente Implementierung des KKW-Zero-Knowledge-Beweissystems für beliebige Ringe, die Beweiser und Verifizierer mit linearer Beweiszeit und 128-Bit-Sicherheit ausstattet.
Eine effiziente Implementierung des NIZKPoK, wie in KKW 2018 beschrieben
Reverie ist eine Implementierung (Beweiser und Verifizierer) des MPC-in-the-head-NIZKPoK, der in Improved Non-Interactive Zero Knowledge with Applications to Post-Quantum Signatures beschrieben wird. Reverie zielt darauf ab, konkrete Effizienz für den Beweiser (lineare Beweiszeit mit kleinen Konstanten) für komplexe Prädikate zu bieten. Die Implementierung strebt 128 Bit (klassische) Sicherheit an und unterstützt beliebige Ringe, am effizientesten Z2 und Z64.
Reverie bietet sowohl eine Bibliothek (mit einer vereinfachten und einer Streaming-Schnittstelle) als auch ein CLI-Programm zum Beweisen/Verifizieren von Aussagen im Bristol-Format, um einfache Experimente zu ermöglichen.
Reverie benötigt ein relativ aktuelles nightly Rust.
Mit SSE+AESNI
time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2" cargo run --release
Oder noch besser mit AVX2+AESNI
time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2,+avx2" cargo run --release