summaryrefslogtreecommitdiff
path: root/xed25519.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-04-30 20:29:21 -0400
committerJeffrey Walton <noloader@gmail.com>2019-04-30 20:29:21 -0400
commitff544c386cefc8bb72c3f54cf592edbe4f5c5e0c (patch)
tree159ac7e884c98fd9f3e39c0dbe281828240d2fc9 /xed25519.cpp
parenta379c5644a39e4816667aa0967c9ebda4fcd0144 (diff)
downloadcryptopp-git-ff544c386cefc8bb72c3f54cf592edbe4f5c5e0c.tar.gz
Use dynamic_cast in ed25519 (GH #829)
Diffstat (limited to 'xed25519.cpp')
-rw-r--r--xed25519.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/xed25519.cpp b/xed25519.cpp
index 42694050..1e3e7f40 100644
--- a/xed25519.cpp
+++ b/xed25519.cpp
@@ -674,8 +674,8 @@ size_t ed25519Signer::SignAndRestart(RandomNumberGenerator &rng, PK_MessageAccum
{
CRYPTOPP_ASSERT(signature != NULLPTR); CRYPTOPP_UNUSED(rng);
- ed25519_MessageAccumulator& accum = static_cast<ed25519_MessageAccumulator&>(messageAccumulator);
- const ed25519PrivateKey& pk = static_cast<const ed25519PrivateKey&>(GetPrivateKey());
+ ed25519_MessageAccumulator& accum = dynamic_cast<ed25519_MessageAccumulator&>(messageAccumulator);
+ const ed25519PrivateKey& pk = dynamic_cast<const ed25519PrivateKey&>(GetPrivateKey());
int ret = Donna::ed25519_sign(accum.data(), accum.size(), pk.GetPrivateKeyBytePtr(), pk.GetPublicKeyBytePtr(), signature);
CRYPTOPP_ASSERT(ret == 0);
@@ -689,7 +689,7 @@ size_t ed25519Signer::SignStream (RandomNumberGenerator &rng, std::istream& stre
{
CRYPTOPP_ASSERT(signature != NULLPTR); CRYPTOPP_UNUSED(rng);
- const ed25519PrivateKey& pk = static_cast<const ed25519PrivateKey&>(GetPrivateKey());
+ const ed25519PrivateKey& pk = dynamic_cast<const ed25519PrivateKey&>(GetPrivateKey());
int ret = Donna::ed25519_sign(stream, pk.GetPrivateKeyBytePtr(), pk.GetPublicKeyBytePtr(), signature);
CRYPTOPP_ASSERT(ret == 0);
@@ -853,14 +853,14 @@ ed25519Verifier::ed25519Verifier(BufferedTransformation &params)
ed25519Verifier::ed25519Verifier(const ed25519Signer& signer)
{
- const ed25519PrivateKey& priv = static_cast<const ed25519PrivateKey&>(signer.GetPrivateKey());
+ const ed25519PrivateKey& priv = dynamic_cast<const ed25519PrivateKey&>(signer.GetPrivateKey());
priv.MakePublicKey(AccessPublicKey());
}
bool ed25519Verifier::VerifyAndRestart(PK_MessageAccumulator &messageAccumulator) const
{
ed25519_MessageAccumulator& accum = static_cast<ed25519_MessageAccumulator&>(messageAccumulator);
- const ed25519PublicKey& pk = static_cast<const ed25519PublicKey&>(GetPublicKey());
+ const ed25519PublicKey& pk = dynamic_cast<const ed25519PublicKey&>(GetPublicKey());
int ret = Donna::ed25519_sign_open(accum.data(), accum.size(), pk.GetPublicKeyBytePtr(), accum.signature());
accum.Restart();