|
template<typename TManifest::challenges_ids ChallengeId> |
std::tuple_element< ChallengeId, typename TManifest::challenges > | get_challenge () const |
| For ordinary challenges. \alpha. More...
|
|
template<typename TManifest::challenges_ids ChallengeId, std::size_t Index> |
std::tuple_element< Index, std::tuple_element< ChallengeId, typename TManifest::challenges > > | get_challenge () const |
| For indexed challenges. (\alpha_0, ..., \alpha_n) More...
|
|
template<typename TManifest::challenges_ids ChallengeId> |
std::tuple_element< ChallengeId, typename TManifest::processors >::result_type | get_challenge_result () |
| For ordinary challenges. \alpha. More...
|
|
template<typename TManifest::challenges_ids ChallengeId, std::size_t Index> |
std::tuple_element< Index, std::tuple_element< ChallengeId, typename TManifest::processors > >::result_type | get_challenge_result () |
| For indexed challenges. (\alpha_0, ..., \alpha_n) More...
|
|
curve_type::scalar_field_type::value_type | read_challenge () |
|
template<typename TManifest::challenges_ids ChallengeId> |
bool | set_challenge (std::tuple_element< ChallengeId, typename TManifest::challenges > value) |
| For ordinary challenges. \alpha. More...
|
|
template<typename TManifest::challenges_ids ChallengeId, std::size_t Index> |
bool | set_challenge (std::tuple_element< Index, std::tuple_element< ChallengeId, typename TManifest::challenges >> value) |
| For indexed challenges. (\alpha_0, ..., \alpha_n) More...
|
|
| transcript () |
|
template<typename InputIterator , typename std::enable_if< std::is_same< std::uint8_t, typename std::iterator_traits< InputIterator >::value_type >::value, bool >::type = true> |
| transcript (InputIterator first, InputIterator last) |
|
| transcript (std::tuple<> in_challenges) |
|
template<typename FieldType > |
std::enable_if< std::is_same< typename curve_type::base_field_type, FieldType >::value||std::is_same< typename curve_type::scalar_field_type, FieldType >::value||std::is_same< typename curve_type::gt_type, FieldType >::value >::type | write (const typename FieldType::value_type &x) |
|
template<typename GroupType > |
std::enable_if< std::is_same< typename curve_type::template g1_type<>, GroupType >::value||std::is_same< typename curve_type::template g2_type<>, GroupType >::value >::type | write (const typename GroupType::value_type &x) |
|
template<typename InputIterator > |
std::enable_if< std::is_same< std::uint8_t, typename std::iterator_traits< InputIterator >::value_type >::value >::type | write (InputIterator first, InputIterator last) |
|
template<typename InputIterator , typename std::enable_if< std::is_same< std::uint8_t, typename std::iterator_traits< InputIterator >::value_type >::value, bool >::type = true> |
void | write_domain_separator (InputIterator first, InputIterator last) |
|
template<typename CurveType = algebra::curves::bls12<381>, typename Hash = hashes::sha2<256>>
class nil::crypto3::zk::snark::transcript< CurveType, Hash >
Transcript policy. Assumed to be inherited by particular algorithms.
- Template Parameters
-
TManifest | Transcript Manifest in the following form: |
class transcript_manifest {
std::size_t gammas_amount = 5;
public: enum challenges_ids{ alpha, beta, gamma = 10, delta = gamma + gammas_amount, epsilon }
typedef std::tuple<...> challenges; typedef std::tuple<...> processors; };
In the case above we have following list of challenges: (\alpha, \beta, \gamma_0, \gamma_1, \gamma_2, \gamma_3, \gamma_4, \delta, \varepsilon)