lime
Lime is a C++ library implementing Open Whisper System Signal protocol
|
Digital Signature interface. More...
Public Member Functions | |
virtual const DSA< Curve, lime::DSAtype::privateKey > | get_secret (void)=0 |
Secret key. More... | |
virtual const DSA< Curve, lime::DSAtype::publicKey > | get_public (void)=0 |
Public key. More... | |
virtual void | set_secret (const DSA< Curve, lime::DSAtype::privateKey > &secretKey)=0 |
Secret key. More... | |
virtual void | set_public (const DSA< Curve, lime::DSAtype::publicKey > &publicKey)=0 |
Public key. More... | |
virtual void | createKeyPair (std::shared_ptr< lime::RNG > rng)=0 |
generate a new random EdDSA key pair More... | |
virtual void | derivePublic (void)=0 |
Compute the public key using the secret already set in context. More... | |
virtual void | sign (const std::vector< uint8_t > &message, DSA< Curve, lime::DSAtype::signature > &signature)=0 |
Sign a message using the key pair previously set in the object. More... | |
virtual void | sign (const X< Curve, lime::Xtype::publicKey > &message, DSA< Curve, lime::DSAtype::signature > &signature)=0 |
virtual bool | verify (const std::vector< uint8_t > &message, const DSA< Curve, lime::DSAtype::signature > &signature)=0 |
Verify a message signature using the public key previously set in the object. More... | |
virtual bool | verify (const X< Curve, lime::Xtype::publicKey > &message, const DSA< Curve, lime::DSAtype::signature > &signature)=0 |
virtual | ~Signature ()=default |
Digital Signature interface.
shall be able to provide an interface to any algorithm implementing digital signature
|
virtualdefault |
|
pure virtual |
generate a new random EdDSA key pair
[in] | rng | The Random Number Generator to be used to generate the private kay |
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
Compute the public key using the secret already set in context.
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
Public key.
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
Secret key.
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
Public key.
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
Secret key.
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
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 |
Implemented in lime::bctbx_EDDSA< 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.
a convenience function to directly verify a key exchange public key
Implemented in lime::bctbx_EDDSA< Curve >.
|
pure virtual |
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 |
Implemented in lime::bctbx_EDDSA< 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.
a convenience function to directly verify a key exchange public key
Implemented in lime::bctbx_EDDSA< Curve >.