verifyPietrzak - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#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