lime
Lime is a C++ library implementing Open Whisper System Signal protocol
|
a wrapper around bctoolbox key exchange algorithms, implements the keyExchange interface More...
Public Member Functions | |
const X< Curve, lime::Xtype::privateKey > | get_secret (void) override |
get Secret key More... | |
const X< Curve, lime::Xtype::publicKey > | get_selfPublic (void) override |
get Self Public key More... | |
const X< Curve, lime::Xtype::publicKey > | get_peerPublic (void) override |
get Peer Public key More... | |
const X< Curve, lime::Xtype::sharedSecret > | get_sharedSecret (void) override |
get shared secret when exchange is completed More... | |
void | set_secret (const X< Curve, lime::Xtype::privateKey > &secret) override |
set Secret key More... | |
void | set_secret (const DSA< Curve, lime::DSAtype::privateKey > &secret) override |
void | set_selfPublic (const X< Curve, lime::Xtype::publicKey > &selfPublic) override |
set Self Public key More... | |
void | set_selfPublic (const DSA< Curve, lime::DSAtype::publicKey > &selfPublic) override |
void | set_peerPublic (const X< Curve, lime::Xtype::publicKey > &peerPublic) override |
set Peer Public key More... | |
void | set_peerPublic (const DSA< Curve, lime::DSAtype::publicKey > &peerPublic) override |
void | createKeyPair (std::shared_ptr< lime::RNG > rng) override |
generate a new random key pair More... | |
void | deriveSelfPublic (void) override |
Compute the self public key using the secret already set in context. More... | |
void | computeSharedSecret (void) override |
Perform the shared secret computation, it is then available in the object via get_sharedSecret. More... | |
bctbx_ECDH () | |
~bctbx_ECDH () | |
![]() | |
virtual | ~keyExchange ()=default |
a wrapper around bctoolbox key exchange algorithms, implements the keyExchange interface
Provides X25519 and X448
|
inline |
|
inline |
|
inlineoverridevirtual |
Perform the shared secret computation, it is then available in the object via get_sharedSecret.
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
generate a new random key pair
[in] | rng | The Random Number Generator to be used to generate the private kay |
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
Compute the self public key using the secret already set in context.
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
get Peer Public key
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
get Secret key
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
get Self Public key
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
get shared secret when exchange is completed
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
set Peer Public key
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
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
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
set Secret key
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
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
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
set Self Public key
Implements lime::keyExchange< Curve >.
|
inlineoverridevirtual |
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
Implements lime::keyExchange< Curve >.