nil::crypto3::zk::snark::fiat_shamir_heuristic< TChallenges, Hash > Class Template Reference
Fiat–Shamir heuristic. More...
#include <fiat_shamir.hpp>
Collaboration diagram for nil::crypto3::zk::snark::fiat_shamir_heuristic< TChallenges, Hash >:
Public Member Functions | |
fiat_shamir_heuristic () | |
template<challenges_ids ChallengeId> | |
Hash::digest_type | get_challenge () |
template<challenges_ids ChallengeId, std::size_t Index> | |
Hash::digest_type | get_challenge () |
template<typename TAny > | |
operator (TAny data) | |
Detailed Description
template<enum TChallenges, typename Hash = hashes::sha2>
class nil::crypto3::zk::snark::fiat_shamir_heuristic< TChallenges, Hash >
Fiat–Shamir heuristic.
- Template Parameters
-
Hash Hash function, which serves as a non-interactive random oracle. TManifest Fiat-Shamir Heuristic Manifest in the following form:
template<typename ...> struct fiat_shamir_heuristic_manifest {
struct transcript_manifest { std::size_t gammas_amount = 5; public: enum challenges_ids{ alpha, beta, gamma = 10, delta = gamma + gammas_amount, epsilon } }
};
Constructor & Destructor Documentation
◆ fiat_shamir_heuristic()
template<enum TChallenges, typename Hash = hashes::sha2>
|
inline |
Member Function Documentation
◆ get_challenge() [1/2]
template<enum TChallenges, typename Hash = hashes::sha2>
template<challenges_ids ChallengeId>
|
inline |
◆ get_challenge() [2/2]
template<enum TChallenges, typename Hash = hashes::sha2>
template<challenges_ids ChallengeId, std::size_t Index>
|
inline |
◆ operator()
template<enum TChallenges, typename Hash = hashes::sha2>
template<typename TAny >
|
inline |
The documentation for this class was generated from the following file: