diff options
author | Jeffrey Walton <noloader@gmail.com> | 2019-04-30 20:29:21 -0400 |
---|---|---|
committer | Jeffrey Walton <noloader@gmail.com> | 2019-04-30 20:29:21 -0400 |
commit | ff544c386cefc8bb72c3f54cf592edbe4f5c5e0c (patch) | |
tree | 159ac7e884c98fd9f3e39c0dbe281828240d2fc9 /xed25519.cpp | |
parent | a379c5644a39e4816667aa0967c9ebda4fcd0144 (diff) | |
download | cryptopp-git-ff544c386cefc8bb72c3f54cf592edbe4f5c5e0c.tar.gz |
Use dynamic_cast in ed25519 (GH #829)
Diffstat (limited to 'xed25519.cpp')
-rw-r--r-- | xed25519.cpp | 10 |
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 ¶ms) 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();
|