summaryrefslogtreecommitdiff
path: root/xed25519.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-12-25 07:38:30 -0500
committerJeffrey Walton <noloader@gmail.com>2018-12-25 07:38:30 -0500
commit3b18e81bc1c113b005d679d7501530094c886297 (patch)
tree5d85565c1a19d7ce224631b40c90fa9240a88e16 /xed25519.cpp
parentc37d7c83b145d8d3c0b47b8b884cd15d09eb6e42 (diff)
downloadcryptopp-git-3b18e81bc1c113b005d679d7501530094c886297.tar.gz
Remove unneeded ed25519Verifier code
Add accessors for public and private key
Diffstat (limited to 'xed25519.cpp')
-rw-r--r--xed25519.cpp23
1 files changed, 4 insertions, 19 deletions
diff --git a/xed25519.cpp b/xed25519.cpp
index dde4ba5f..d1461a23 100644
--- a/xed25519.cpp
+++ b/xed25519.cpp
@@ -625,8 +625,7 @@ ed25519Signer::ed25519Signer(RandomNumberGenerator &rng)
ed25519Signer::ed25519Signer(BufferedTransformation &params)
{
- ed25519PrivateKey& key = static_cast<ed25519PrivateKey&>(AccessPrivateKey());
- key.BERDecode(params);
+ AccessPrivateKey().Load(params);
}
size_t ed25519Signer::SignAndRestart(RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart) const
@@ -635,7 +634,7 @@ size_t ed25519Signer::SignAndRestart(RandomNumberGenerator &rng, PK_MessageAccum
ed25519_MessageAccumulator& accum = static_cast<ed25519_MessageAccumulator&>(messageAccumulator);
const ed25519PrivateKey& pk = static_cast<const ed25519PrivateKey&>(GetPrivateKey());
- int ret = Donna::ed25519_sign(accum.data(), accum.size(), pk.m_sk, pk.m_pk, signature);
+ int ret = Donna::ed25519_sign(accum.data(), accum.size(), pk.GetPrivateKeyBytePtr(), pk.GetPublicKeyBytePtr(), signature);
CRYPTOPP_ASSERT(ret == 0);
if (restart)
@@ -796,21 +795,7 @@ ed25519Verifier::ed25519Verifier(const Integer &y)
ed25519Verifier::ed25519Verifier(BufferedTransformation &params)
{
- // TODO: Fix the on-disk format once we determine what it is.
- BERSequenceDecoder seq(params);
-
- size_t read;
- BERSequenceDecoder pk(seq, OCTET_STRING);
-
- CRYPTOPP_ASSERT(pk.MaxRetrievable() >= PUBLIC_KEYLENGTH);
- read = pk.Get(m_key.m_pk, PUBLIC_KEYLENGTH);
-
- pk.MessageEnd();
-
- if (read != PUBLIC_KEYLENGTH)
- throw BERDecodeErr();
-
- seq.MessageEnd();
+ AccessPublicKey().Load(params);
}
ed25519Verifier::ed25519Verifier(const ed25519Signer& signer)
@@ -823,7 +808,7 @@ bool ed25519Verifier::VerifyAndRestart(PK_MessageAccumulator &messageAccumulator
{
ed25519_MessageAccumulator& accum = static_cast<ed25519_MessageAccumulator&>(messageAccumulator);
const ed25519PublicKey& pk = static_cast<const ed25519PublicKey&>(GetPublicKey());
- int ret = Donna::ed25519_sign_open(accum.data(), accum.size(), pk.m_pk.begin(), accum.signature());
+ int ret = Donna::ed25519_sign_open(accum.data(), accum.size(), pk.GetPublicKeyBytePtr(), accum.signature());
accum.Restart();
return ret == 0;