nil::crypto3::pubkey::secret_sss< feldman_sss< Group > > Struct Template Reference

#include <feldman.hpp>

+ Inheritance diagram for nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >:
+ Collaboration diagram for nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >:

Public Types

typedef secret_sss< shamir_sss< Group > > base_type
 
typedef scheme_type::indexes_type indexes_type
 
typedef feldman_sss< Group > scheme_type
 
typedef scheme_type::private_element_type secret_type
 
typedef secret_type value_type
 

Public Member Functions

const value_typeget_value () const
 
template<typename Scheme , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< Scheme >::type >::type, scheme_type >::value, bool >::type = true>
 operator public_secret_sss< Scheme > () const
 
bool operator< (const secret_sss &other) const
 
bool operator== (const secret_sss &other) const
 
template<typename Shares >
 secret_sss (const Shares &shares)
 
template<typename Shares >
 secret_sss (const Shares &shares, const indexes_type &indexes)
 
template<typename ShareIt >
 secret_sss (ShareIt first, ShareIt last)
 
template<typename ShareIt >
 secret_sss (ShareIt first, ShareIt last, const indexes_type &indexes)
 

Static Protected Member Functions

template<typename ShareIt , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< typename std::iterator_traits< ShareIt >::value_type >::type >::type, share_sss< scheme_type >>::value, bool >::type = true>
static secret_type reconstruct_secret (ShareIt first, ShareIt last)
 
template<typename ShareIt , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< typename std::iterator_traits< ShareIt >::value_type >::type >::type, share_sss< scheme_type >>::value, bool >::type = true>
static secret_type reconstruct_secret (ShareIt first, ShareIt last, const indexes_type &indexes)
 

Protected Attributes

secret_type secret
 

Member Typedef Documentation

◆ base_type

template<typename Group >
typedef secret_sss<shamir_sss<Group> > nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >::base_type

◆ indexes_type

◆ scheme_type

template<typename Group >
typedef feldman_sss<Group> nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >::scheme_type

◆ secret_type

◆ value_type

template<typename Group >
typedef secret_type nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::value_type
inherited

Constructor & Destructor Documentation

◆ secret_sss() [1/4]

template<typename Group >
template<typename Shares >
nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >::secret_sss ( const Shares &  shares)
inline

◆ secret_sss() [2/4]

template<typename Group >
template<typename ShareIt >
nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >::secret_sss ( ShareIt  first,
ShareIt  last 
)
inline

◆ secret_sss() [3/4]

template<typename Group >
template<typename Shares >
nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >::secret_sss ( const Shares &  shares,
const indexes_type indexes 
)
inline

◆ secret_sss() [4/4]

template<typename Group >
template<typename ShareIt >
nil::crypto3::pubkey::secret_sss< feldman_sss< Group > >::secret_sss ( ShareIt  first,
ShareIt  last,
const indexes_type indexes 
)
inline

Member Function Documentation

◆ get_value()

template<typename Group >
const value_type& nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::get_value ( ) const
inlineinherited

◆ operator public_secret_sss< Scheme >()

template<typename Group >
template<typename Scheme , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< Scheme >::type >::type, scheme_type >::value, bool >::type = true>
nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::operator public_secret_sss< Scheme > ( ) const
inlineinherited

◆ operator<()

template<typename Group >
bool nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::operator< ( const secret_sss< shamir_sss< Group > > &  other) const
inlineinherited

◆ operator==()

template<typename Group >
bool nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::operator== ( const secret_sss< shamir_sss< Group > > &  other) const
inlineinherited

◆ reconstruct_secret() [1/2]

template<typename Group >
template<typename ShareIt , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< typename std::iterator_traits< ShareIt >::value_type >::type >::type, share_sss< scheme_type >>::value, bool >::type = true>
static secret_type nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::reconstruct_secret ( ShareIt  first,
ShareIt  last 
)
inlinestaticprotectedinherited

◆ reconstruct_secret() [2/2]

template<typename Group >
template<typename ShareIt , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< typename std::iterator_traits< ShareIt >::value_type >::type >::type, share_sss< scheme_type >>::value, bool >::type = true>
static secret_type nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::reconstruct_secret ( ShareIt  first,
ShareIt  last,
const indexes_type indexes 
)
inlinestaticprotectedinherited

Member Data Documentation

◆ secret

template<typename Group >
secret_type nil::crypto3::pubkey::secret_sss< shamir_sss< Group > >::secret
protectedinherited

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