Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
Static Protected Member Functions |
Protected Attributes |
List of all members
nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > > Struct Template Reference
#include <eddsa.hpp>
Inheritance diagram for nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >:
Collaboration diagram for nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >:
Public Types | |
typedef group_type::curve_type::base_field_type | base_field_type |
typedef base_field_type::value_type | base_field_value_type |
typedef base_field_type::integral_type | base_integral_type |
typedef nil::marshalling::option::little_endian | endianness |
typedef scheme_type::group_type | group_type |
typedef group_type::value_type | group_value_type |
typedef policy_type::hash_type | hash_type |
typedef padding::encoding_accumulator_set< padding_policy > | internal_accumulator_type |
typedef nil::crypto3::marshalling::types::integral< nil::marshalling::field_type< endianness >, base_integral_type > | marshalling_base_integral_type |
typedef nil::crypto3::marshalling::types::curve_element< nil::marshalling::field_type< endianness >, group_type > | marshalling_group_value_type |
typedef nil::crypto3::marshalling::types::field_element< nil::marshalling::field_type< endianness >, scalar_field_type > | marshalling_scalar_field_value_type |
typedef nil::crypto3::marshalling::types::integral< nil::marshalling::field_type< endianness >, nil::crypto3::multiprecision::uint512_t > | marshalling_uint512_t_type |
typedef policy_type::padding_policy | padding_policy |
typedef scheme_type::policy_type | policy_type |
typedef static_digest< public_key_bits+(base_field_type::modulus_bits % std::numeric_limits< std::uint8_t >::digits ? 1 :0)> | public_key_type |
typedef group_type::curve_type::scalar_field_type | scalar_field_type |
typedef scalar_field_type::value_type | scalar_field_value_type |
typedef scalar_field_type::integral_type | scalar_integral_type |
typedef eddsa< CurveGroup, eddsa_variant, Params > | scheme_type |
typedef static_digest< signature_bits > | signature_type |
Public Member Functions | |
public_key ()=delete | |
public_key (const public_key_type &key) | |
public_key_type | public_key_data () const |
template<typename InputRange > | |
void | update (internal_accumulator_type &acc, const InputRange &range) const |
template<typename InputIterator > | |
void | update (internal_accumulator_type &acc, InputIterator first, InputIterator last) const |
bool | verify (internal_accumulator_type &acc, const signature_type &signature) const |
Static Public Member Functions | |
static void | init_accumulator (internal_accumulator_type &acc) |
Static Public Attributes | |
constexpr static const std::size_t | public_key_bits = base_field_type::modulus_bits |
constexpr static const std::size_t | signature_bits = 64 * std::numeric_limits<std::uint8_t>::digits |
Static Protected Member Functions | |
static group_value_type | read_pubkey (const public_key_type &pubkey) |
Protected Attributes | |
public_key_type | pubkey |
group_value_type | pubkey_point |
Member Typedef Documentation
◆ base_field_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef group_type::curve_type::base_field_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::base_field_type |
◆ base_field_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef base_field_type::value_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::base_field_value_type |
◆ base_integral_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef base_field_type::integral_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::base_integral_type |
◆ endianness
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef nil::marshalling::option::little_endian nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::endianness |
◆ group_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_type::group_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::group_type |
◆ group_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef group_type::value_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::group_value_type |
◆ hash_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef policy_type::hash_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::hash_type |
◆ internal_accumulator_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef padding::encoding_accumulator_set<padding_policy> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::internal_accumulator_type |
◆ marshalling_base_integral_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef nil::crypto3::marshalling::types::integral<nil::marshalling::field_type<endianness>, base_integral_type> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::marshalling_base_integral_type |
◆ marshalling_group_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef nil::crypto3::marshalling::types::curve_element<nil::marshalling::field_type<endianness>, group_type> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::marshalling_group_value_type |
◆ marshalling_scalar_field_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef nil::crypto3::marshalling::types::field_element<nil::marshalling::field_type<endianness>, scalar_field_type> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::marshalling_scalar_field_value_type |
◆ marshalling_uint512_t_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef nil::crypto3::marshalling::types::integral<nil::marshalling::field_type<endianness>, nil::crypto3::multiprecision::uint512_t> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::marshalling_uint512_t_type |
◆ padding_policy
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef policy_type::padding_policy nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::padding_policy |
◆ policy_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_type::policy_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::policy_type |
◆ public_key_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef static_digest<public_key_bits + (base_field_type::modulus_bits % std::numeric_limits<std::uint8_t>::digits ? 1 : 0)> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::public_key_type |
◆ scalar_field_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef group_type::curve_type::scalar_field_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::scalar_field_type |
◆ scalar_field_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scalar_field_type::value_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::scalar_field_value_type |
◆ scalar_integral_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scalar_field_type::integral_type nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::scalar_integral_type |
◆ scheme_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef eddsa<CurveGroup, eddsa_variant, Params> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::scheme_type |
◆ signature_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef static_digest<signature_bits> nil::crypto3::pubkey::public_key< eddsa< CurveGroup, eddsa_variant, Params > >::signature_type |
Constructor & Destructor Documentation
◆ public_key() [1/2]
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
delete |
◆ public_key() [2/2]
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inline |
Member Function Documentation
◆ init_accumulator()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlinestatic |
◆ public_key_data()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inline |
◆ read_pubkey()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlinestaticprotected |
◆ update() [1/2]
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
template<typename InputRange >
|
inline |
◆ update() [2/2]
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
template<typename InputIterator >
|
inline |
◆ verify()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inline |
Member Data Documentation
◆ pubkey
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protected |
◆ pubkey_point
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protected |
◆ public_key_bits
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
staticconstexpr |
◆ signature_bits
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
staticconstexpr |
The documentation for this struct was generated from the following file: