lime
Lime is a C++ library implementing Open Whisper System Signal protocol
|
a wrapper around bctoolbox signature algorithms, implements the Signature interface More...
Public Member Functions | |
const DSA< Curve, lime::DSAtype::privateKey > | get_secret (void) override |
Secret key. More... | |
const DSA< Curve, lime::DSAtype::publicKey > | get_public (void) override |
Public key. More... | |
void | set_secret (const DSA< Curve, lime::DSAtype::privateKey > &secretKey) override |
Secret key. More... | |
void | set_public (const DSA< Curve, lime::DSAtype::publicKey > &publicKey) override |
Public key. More... | |
void | createKeyPair (std::shared_ptr< lime::RNG > rng) override |
generate a new random EdDSA key pair More... | |
void | derivePublic (void) override |
Compute the public key using the secret already set in context. More... | |
void | sign (const std::vector< uint8_t > &message, DSA< Curve, lime::DSAtype::signature > &signature) override |
Sign a message using the key pair previously set in the object. More... | |
void | sign (const X< Curve, lime::Xtype::publicKey > &message, DSA< Curve, lime::DSAtype::signature > &signature) override |
bool | verify (const std::vector< uint8_t > &message, const DSA< Curve, lime::DSAtype::signature > &signature) override |
Verify a message signature using the public key previously set in the object. More... | |
bool | verify (const X< Curve, lime::Xtype::publicKey > &message, const DSA< Curve, lime::DSAtype::signature > &signature) override |
bctbx_EDDSA () | |
~bctbx_EDDSA () | |
![]() | |
virtual | ~Signature ()=default |
a wrapper around bctoolbox signature algorithms, implements the Signature interface
Provides EdDSA on curves 25519 and 448
|
inline |
|
inline |
|
inlineoverridevirtual |
generate a new random EdDSA key pair
[in] | rng | The Random Number Generator to be used to generate the private kay |
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Compute the public key using the secret already set in context.
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Public key.
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Secret key.
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Public key.
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Secret key.
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Sign a message using the key pair previously set in the object.
[in] | message | The message to be signed (we can sign any vector or more specifically a key exchange public key) |
[out] | signature | The signature produced from the message with a key pair previously introduced in the object |
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
a convenience function to directly verify a key exchange public key
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
Verify a message signature using the public key previously set in the object.
[in] | message | The message signed (we can verify any vector or more specifically a key exchange public key) |
[in] | signature | The signature produced from the message with a key pair previously introduced in the object |
Implements lime::Signature< Curve >.
|
inlineoverridevirtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
a convenience function to directly verify a key exchange public key
Implements lime::Signature< Curve >.