Browse Source

Add constructor from keypair for EDDSA25519Signer.

pull/263/head
EinMByte 9 years ago
parent
commit
22f9380d49
  1. 5
      core/crypto/EdDSA25519.cpp
  2. 10
      core/crypto/EdDSA25519.h

5
core/crypto/EdDSA25519.cpp

@ -28,6 +28,11 @@ size_t EDDSA25519Verifier::GetSignatureLen() const
return EDDSA25519_SIGNATURE_LENGTH; return EDDSA25519_SIGNATURE_LENGTH;
} }
EDDSA25519Signer::EDDSA25519Signer(const uint8_t* signingPrivateKey, const uint8_t* signingPublicKey)
{
std::memcpy(m_PrivateKey, signingPrivateKey, EDDSA25519_PRIVATE_KEY_LENGTH);
std::memcpy(m_PublicKey, signingPublicKey, EDDSA25519_PUBLIC_KEY_LENGTH);
}
EDDSA25519Signer::EDDSA25519Signer(const uint8_t* signingPrivateKey) EDDSA25519Signer::EDDSA25519Signer(const uint8_t* signingPrivateKey)
{ {

10
core/crypto/EdDSA25519.h

@ -29,9 +29,15 @@ class EDDSA25519Signer : public Signer {
public: public:
/** /**
* @todo allow passing the public key too as an optimization * Construct from a key pair.
*/ */
EDDSA25519Signer(const uint8_t * signingPrivateKey); EDDSA25519Signer(const uint8_t* signingPrivateKey, const uint8_t* signingPublicKey);
/**
* Construct from a private key.
* The corresponding public key will be computed from it.
*/
EDDSA25519Signer(const uint8_t* signingPrivateKey);
/** /**
* @todo do not pass random number generator, EdDSA does not require a random * @todo do not pass random number generator, EdDSA does not require a random

Loading…
Cancel
Save