
Implementación eficiente del sistema de prueba de conocimiento cero KKW para anillos arbitrarios, que proporciona al probador y al verificador un tiempo de prueba lineal y seguridad de 128 bits.
Una implementación eficiente del NIZKPoK presentado en KKW 2018
Reverie es una implementación (demostrador y verificador) del NIZKPoK MPC-in-the-head presentado en Improved Non-Interactive Zero Knowledge with Applications to Post-Quantum Signatures. Reverie busca ofrecer eficiencia concreta del demostrador (tiempo de demostración lineal con constantes pequeñas) para predicados complejos. La implementación busca ofrecer 128 bits de seguridad (clásica) y soportar anillos arbitrarios, de forma más eficiente Z2 y Z64.
Reverie ofrece tanto una biblioteca (con una interfaz simplificada y una de streaming), además de un programa CLI para demostrar/verificar declaraciones especificadas en formato Bristol para facilitar la experimentación.
Reverie requiere una versión nightly de Rust relativamente reciente.
Usando SSE+AESNI
time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2" cargo run --release
O incluso mejor con AVX2+AESNI
time RUSTFLAGS="-C target-cpu=native -C target-feature=+aes,+ssse3,+sse2,+avx2" cargo run --release