From 3b18e81bc1c113b005d679d7501530094c886297 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Tue, 25 Dec 2018 07:38:30 -0500 Subject: Remove unneeded ed25519Verifier code Add accessors for public and private key --- xed25519.cpp | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'xed25519.cpp') 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 ¶ms) { - ed25519PrivateKey& key = static_cast(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(messageAccumulator); const ed25519PrivateKey& pk = static_cast(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 ¶ms) { - // 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(messageAccumulator); const ed25519PublicKey& pk = static_cast(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; -- cgit v1.2.1