diff --git a/eccrypto.h b/eccrypto.h index 92612967..be742668 100644 --- a/eccrypto.h +++ b/eccrypto.h @@ -213,6 +213,7 @@ template class DL_Algorithm_ECDSA : public DL_Algorithm_GDSA { public: + virtual ~DL_Algorithm_ECDSA() { } static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECDSA";} }; @@ -221,6 +222,7 @@ template class DL_Algorithm_ECNR : public DL_Algorithm_NR { public: + virtual ~DL_Algorithm_ECNR() { } static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECNR";} }; diff --git a/gfpcrypt.h b/gfpcrypt.h index 7af993fb..321ac046 100644 --- a/gfpcrypt.h +++ b/gfpcrypt.h @@ -152,6 +152,7 @@ template class DL_Algorithm_GDSA : public DL_ElgamalLikeSignatureAlgorithm { public: + virtual ~DL_Algorithm_GDSA() { } static const char * CRYPTOPP_API StaticAlgorithmName() {return "DSA-1363";} void Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const @@ -184,6 +185,7 @@ template class DL_Algorithm_NR : public DL_ElgamalLikeSignatureAlgorithm { public: + virtual ~DL_Algorithm_NR() { } static const char * CRYPTOPP_API StaticAlgorithmName() {return "NR";} void Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const @@ -412,6 +414,7 @@ template class DL_EncryptionAlgorithm_Xor : public DL_SymmetricEncryptionAlgorithm { public: + virtual ~DL_EncryptionAlgorithm_Xor() { } bool ParameterSupported(const char *name) const {return strcmp(name, Name::EncodingParameters()) == 0;} size_t GetSymmetricKeyLength(size_t plaintextLength) const {return plaintextLength + MAC::DEFAULT_KEYLENGTH;} @@ -488,6 +491,7 @@ template class DL_KeyDerivationAlgorithm_P1363 : public DL_KeyDerivationAlgorithm { public: + virtual ~DL_KeyDerivationAlgorithm_P1363() { } bool ParameterSupported(const char *name) const {return strcmp(name, Name::KeyDerivationParameters()) == 0;} void Derive(const DL_GroupParameters ¶ms, byte *derivedKey, size_t derivedLength, const T &agreedElement, const T &ephemeralPublicKey, const NameValuePairs ¶meters) const { diff --git a/luc.h b/luc.h index 7a816843..b065b8ed 100644 --- a/luc.h +++ b/luc.h @@ -188,6 +188,7 @@ protected: class DL_Algorithm_LUC_HMP : public DL_ElgamalLikeSignatureAlgorithm { public: + virtual ~DL_Algorithm_LUC_HMP() { } static const char * StaticAlgorithmName() {return "LUC-HMP";} void Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const; diff --git a/pubkey.h b/pubkey.h index 3a3f3bcd..478097f5 100644 --- a/pubkey.h +++ b/pubkey.h @@ -1436,6 +1436,7 @@ class DL_KeyAgreementAlgorithm_DH : public DL_KeyAgreementAlgorithm public: typedef ELEMENT Element; + virtual ~DL_KeyAgreementAlgorithm_DH() { } static const char * CRYPTOPP_API StaticAlgorithmName() {return COFACTOR_OPTION::ToEnum() == INCOMPATIBLE_COFACTOR_MULTIPLICTION ? "DHC" : "DH";}