#include "xf_security/vdf.hpp"
template < int L, int N > bool verifyPietrzak ( ap_uint <L> g, ap_uint <L> modulus, ap_uint <L> r2Mod, ap_uint <N> T, ap_uint <L> y )
verifyPietrzak verify function of verifiable delay function, its algorithm: if T is even, return (N, x, T/2, y) = (N, x^(r+2^(T/2)), T/2, x^(r*2^(T/2)+2^T)), if T is odd, return (N, x, (T+1)/2, y) = (N, x^(r+2^((T-1)/2)), T/2, x^(r*2^((T+1)/2)+2^T))
Parameters:
L | bit width |
N | bit width |
g | is the base element given as input to the VDF evaluator |
modulus | is a security parameter |
r2Mod | Pre-calculated Montgomery parameter |
T | is a time bound |
y | is output of evaluate |