lime
Lime is a C++ library implementing Open Whisper System Signal protocol
|
Key exchange interface. More...
Public Member Functions | |
virtual const X< Curve, lime::Xtype::privateKey > | get_secret (void)=0 |
get Secret key More... | |
virtual const X< Curve, lime::Xtype::publicKey > | get_selfPublic (void)=0 |
get Self Public key More... | |
virtual const X< Curve, lime::Xtype::publicKey > | get_peerPublic (void)=0 |
get Peer Public key More... | |
virtual const X< Curve, lime::Xtype::sharedSecret > | get_sharedSecret (void)=0 |
get shared secret when exchange is completed More... | |
virtual void | set_secret (const X< Curve, lime::Xtype::privateKey > &secret)=0 |
set Secret key More... | |
virtual void | set_secret (const DSA< Curve, lime::DSAtype::privateKey > &secret)=0 |
virtual void | set_selfPublic (const X< Curve, lime::Xtype::publicKey > &selfPublic)=0 |
set Self Public key More... | |
virtual void | set_selfPublic (const DSA< Curve, lime::DSAtype::publicKey > &selfPublic)=0 |
virtual void | set_peerPublic (const X< Curve, lime::Xtype::publicKey > &peerPublic)=0 |
set Peer Public key More... | |
virtual void | set_peerPublic (const DSA< Curve, lime::DSAtype::publicKey > &peerPublic)=0 |
virtual void | createKeyPair (std::shared_ptr< lime::RNG > rng)=0 |
generate a new random key pair More... | |
virtual void | deriveSelfPublic (void)=0 |
Compute the self public key using the secret already set in context. More... | |
virtual void | computeSharedSecret (void)=0 |
Perform the shared secret computation, it is then available in the object via get_sharedSecret. More... | |
virtual | ~keyExchange ()=default |
Key exchange interface.
shall be able to provide an interface to any algorithm implementing key exchange
|
virtualdefault |
|
pure virtual |
Perform the shared secret computation, it is then available in the object via get_sharedSecret.
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
generate a new random key pair
[in] | rng | The Random Number Generator to be used to generate the private kay |
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
Compute the self public key using the secret already set in context.
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
get Peer Public key
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
get Secret key
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
get Self Public key
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
get shared secret when exchange is completed
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
set Peer Public key
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
Peer Public key This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
give a DSA formatted key, this set function will convert its format to the key exchange one
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
set Secret key
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
give a DSA formatted key, this set function will convert its format to the key exchange one
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
set Self Public key
Implemented in lime::bctbx_ECDH< Curve >.
|
pure virtual |
Self Public key This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
give a DSA formatted key, this set function will convert its format to the key exchange one
Implemented in lime::bctbx_ECDH< Curve >.