nil::crypto3::pubkey::agreement_key< Scheme > Struct Template Reference

Key agreement refers to one form of key exchange in which two or more users execute a protocol to securely share a resultant key value. As an alternative to key agreement, a key transport protocol may be used. The distinguishing feature of a key agreement protocol is that participating users each contribute an equal portion toward the computation of the resultant shared key value (as opposed to one user computing and distributing a key value to other users). More...

#include <agreement_key.hpp>

+ Inheritance diagram for nil::crypto3::pubkey::agreement_key< Scheme >:
+ Collaboration diagram for nil::crypto3::pubkey::agreement_key< Scheme >:

Public Types

typedef Scheme::key_agreement_policy key_policy_type
 
typedef private_key< Scheme >::key_schedule_type key_schedule_type
 
typedef private_key< Scheme >::key_type key_type
 
typedef private_key< Scheme >::scheme_type scheme_type
 

Public Member Functions

 agreement_key (const key_type &key)
 

Public Attributes

key_schedule_type agrkey
 

Detailed Description

template<typename Scheme>
struct nil::crypto3::pubkey::agreement_key< Scheme >

Key agreement refers to one form of key exchange in which two or more users execute a protocol to securely share a resultant key value. As an alternative to key agreement, a key transport protocol may be used. The distinguishing feature of a key agreement protocol is that participating users each contribute an equal portion toward the computation of the resultant shared key value (as opposed to one user computing and distributing a key value to other users).

Member Typedef Documentation

◆ key_policy_type

template<typename Scheme >
typedef Scheme::key_agreement_policy nil::crypto3::pubkey::agreement_key< Scheme >::key_policy_type

◆ key_schedule_type

template<typename Scheme >
typedef private_key<Scheme>::key_schedule_type nil::crypto3::pubkey::agreement_key< Scheme >::key_schedule_type

◆ key_type

template<typename Scheme >
typedef private_key<Scheme>::key_type nil::crypto3::pubkey::agreement_key< Scheme >::key_type

◆ scheme_type

template<typename Scheme >
typedef private_key<Scheme>::scheme_type nil::crypto3::pubkey::agreement_key< Scheme >::scheme_type

Constructor & Destructor Documentation

◆ agreement_key()

template<typename Scheme >
nil::crypto3::pubkey::agreement_key< Scheme >::agreement_key ( const key_type key)
inline

Member Data Documentation

◆ agrkey

template<typename Scheme >
key_schedule_type nil::crypto3::pubkey::agreement_key< Scheme >::agrkey

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