nil::crypto3::pubkey::el_gamal_private_key< FieldType > Struct Template Reference

#include <elgamal.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::el_gamal_private_key< FieldType >:

Public Types

typedef FieldType field_type
 
typedef field_type::modulus_type key_schedule_type
 
typedef field_type::modulus_type key_type
 
typedef field_type::number_type number_type
 
typedef std::tuple< value_type, value_typesignature_type
 
typedef field_type::value_type value_type
 

Static Public Member Functions

static bool decrypt (signature_type &res, const number_type &val, const key_schedule_type &key)
 

Static Public Attributes

constexpr static const std::size_t key_bits = field_type::modulus_bits
 
constexpr static const std::size_t key_schedule_bits = field_type::modulus_bits
 
constexpr static const std::size_t signature_bits = field_type::modulus_bits * 2
 

Member Typedef Documentation

◆ field_type

template<typename FieldType >
typedef FieldType nil::crypto3::pubkey::el_gamal_private_key< FieldType >::field_type

◆ key_schedule_type

template<typename FieldType >
typedef field_type::modulus_type nil::crypto3::pubkey::el_gamal_private_key< FieldType >::key_schedule_type

◆ key_type

template<typename FieldType >
typedef field_type::modulus_type nil::crypto3::pubkey::el_gamal_private_key< FieldType >::key_type

◆ number_type

template<typename FieldType >
typedef field_type::number_type nil::crypto3::pubkey::el_gamal_private_key< FieldType >::number_type

◆ signature_type

template<typename FieldType >
typedef std::tuple<value_type, value_type> nil::crypto3::pubkey::el_gamal_private_key< FieldType >::signature_type

◆ value_type

template<typename FieldType >
typedef field_type::value_type nil::crypto3::pubkey::el_gamal_private_key< FieldType >::value_type

Member Function Documentation

◆ decrypt()

template<typename FieldType >
static bool nil::crypto3::pubkey::el_gamal_private_key< FieldType >::decrypt ( signature_type res,
const number_type val,
const key_schedule_type key 
)
inlinestatic

Member Data Documentation

◆ key_bits

template<typename FieldType >
constexpr static const std::size_t nil::crypto3::pubkey::el_gamal_private_key< FieldType >::key_bits = field_type::modulus_bits
staticconstexpr

◆ key_schedule_bits

template<typename FieldType >
constexpr static const std::size_t nil::crypto3::pubkey::el_gamal_private_key< FieldType >::key_schedule_bits = field_type::modulus_bits
staticconstexpr

◆ signature_bits

template<typename FieldType >
constexpr static const std::size_t nil::crypto3::pubkey::el_gamal_private_key< FieldType >::signature_bits = field_type::modulus_bits * 2
staticconstexpr

The documentation for this struct was generated from the following file: