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::private_key< eddsa< CurveGroup, eddsa_variant, Params > > Struct Template Reference
#include <eddsa.hpp>
Inheritance diagram for nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >:
Collaboration diagram for nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >:
Public Types | |
typedef scheme_public_key_type::base_field_type | base_field_type |
typedef base_field_type::value_type | base_field_value_type |
typedef scheme_public_key_type::base_integral_type | base_integral_type |
typedef scheme_public_key_type::endianness | endianness |
typedef scheme_type::group_type | group_type |
typedef scheme_public_key_type::group_value_type | group_value_type |
typedef scheme_public_key_type::hash_type | hash_type |
typedef scheme_public_key_type::internal_accumulator_type | internal_accumulator_type |
typedef scheme_public_key_type::marshalling_base_integral_type | marshalling_base_integral_type |
typedef scheme_public_key_type::marshalling_group_value_type | marshalling_group_value_type |
typedef scheme_public_key_type::marshalling_scalar_field_value_type | marshalling_scalar_field_value_type |
typedef scheme_public_key_type::marshalling_uint512_t_type | marshalling_uint512_t_type |
typedef scheme_public_key_type::padding_policy | padding_policy |
typedef scheme_public_key_type::policy_type | policy_type |
typedef static_digest< private_key_bits+(base_field_type::modulus_bits % std::numeric_limits< std::uint8_t >::digits ? 1 :0)> | private_key_type |
typedef scheme_public_key_type::public_key_type | public_key_type |
typedef scheme_public_key_type::scalar_field_type | scalar_field_type |
typedef scheme_public_key_type::scalar_field_value_type | scalar_field_value_type |
typedef scheme_public_key_type::scalar_integral_type | scalar_integral_type |
typedef public_key< scheme_type > | scheme_public_key_type |
typedef eddsa< CurveGroup, eddsa_variant, Params > | scheme_type |
typedef scheme_public_key_type::signature_type | signature_type |
Public Member Functions | |
private_key ()=delete | |
private_key (const private_key_type &key) | |
public_key_type | public_key_data () const |
signature_type | sign (internal_accumulator_type &acc) 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 public_key_type | generate_public_key (const private_key_type &key) |
static void | init_accumulator (internal_accumulator_type &acc) |
Static Public Attributes | |
constexpr static const std::size_t | private_key_bits = base_field_type::modulus_bits |
constexpr static const std::size_t | public_key_bits = scheme_public_key_type::public_key_bits |
constexpr static const std::size_t | signature_bits = scheme_public_key_type::signature_bits |
Static Protected Member Functions | |
static base_integral_type | construct_scalar (const typename hash_type::digest_type &h) |
static group_value_type | read_pubkey (const public_key_type &pubkey) |
Protected Attributes | |
hash_type::digest_type | h_privkey |
private_key_type | privkey |
public_key_type | pubkey |
group_value_type | pubkey_point |
scalar_field_value_type | s_reduced |
Member Typedef Documentation
◆ base_field_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::base_field_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::base_field_type |
◆ base_field_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inherited |
◆ base_integral_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::base_integral_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::base_integral_type |
◆ endianness
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::endianness nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::endianness |
◆ group_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inherited |
◆ group_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::group_value_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::group_value_type |
◆ hash_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::hash_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::hash_type |
◆ internal_accumulator_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::internal_accumulator_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::internal_accumulator_type |
◆ marshalling_base_integral_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::marshalling_base_integral_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::marshalling_base_integral_type |
◆ marshalling_group_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::marshalling_group_value_type nil::crypto3::pubkey::private_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 scheme_public_key_type::marshalling_scalar_field_value_type nil::crypto3::pubkey::private_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 scheme_public_key_type::marshalling_uint512_t_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::marshalling_uint512_t_type |
◆ padding_policy
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::padding_policy nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::padding_policy |
◆ policy_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::policy_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::policy_type |
◆ private_key_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef static_digest<private_key_bits + (base_field_type::modulus_bits % std::numeric_limits<std::uint8_t>::digits ? 1 : 0)> nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::private_key_type |
◆ public_key_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::public_key_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::public_key_type |
◆ scalar_field_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::scalar_field_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::scalar_field_type |
◆ scalar_field_value_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::scalar_field_value_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::scalar_field_value_type |
◆ scalar_integral_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::scalar_integral_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::scalar_integral_type |
◆ scheme_public_key_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef public_key<scheme_type> nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::scheme_public_key_type |
◆ scheme_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef eddsa<CurveGroup, eddsa_variant, Params> nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::scheme_type |
◆ signature_type
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
typedef scheme_public_key_type::signature_type nil::crypto3::pubkey::private_key< eddsa< CurveGroup, eddsa_variant, Params > >::signature_type |
Constructor & Destructor Documentation
◆ private_key() [1/2]
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
delete |
◆ private_key() [2/2]
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inline |
Member Function Documentation
◆ construct_scalar()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlinestaticprotected |
◆ generate_public_key()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlinestatic |
◆ init_accumulator()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlinestatic |
◆ public_key_data()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlineinherited |
◆ read_pubkey()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inlinestaticprotectedinherited |
◆ sign()
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
inline |
◆ 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 >
|
inlineinherited |
Member Data Documentation
◆ h_privkey
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protected |
◆ private_key_bits
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
staticconstexpr |
◆ privkey
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protected |
◆ pubkey
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protectedinherited |
◆ pubkey_point
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protectedinherited |
◆ public_key_bits
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
staticconstexpr |
◆ s_reduced
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
protected |
◆ signature_bits
template<typename CurveGroup , eddsa_type eddsa_variant, typename Params >
|
staticconstexpr |
The documentation for this struct was generated from the following file: