Add asserts to pubkey.h
parent
8fa8ec9913
commit
66a6994e99
11
pubkey.h
11
pubkey.h
|
|
@ -770,7 +770,9 @@ public:
|
||||||
if (m_validationLevel > level)
|
if (m_validationLevel > level)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
CRYPTOPP_ASSERT(ValidateGroup(rng, level));
|
||||||
bool pass = ValidateGroup(rng, level);
|
bool pass = ValidateGroup(rng, level);
|
||||||
|
CRYPTOPP_ASSERT(ValidateElement(level, GetSubgroupGenerator(), &GetBasePrecomputation()));
|
||||||
pass = pass && ValidateElement(level, GetSubgroupGenerator(), &GetBasePrecomputation());
|
pass = pass && ValidateElement(level, GetSubgroupGenerator(), &GetBasePrecomputation());
|
||||||
|
|
||||||
m_validationLevel = pass ? level+1 : 0;
|
m_validationLevel = pass ? level+1 : 0;
|
||||||
|
|
@ -1215,14 +1217,21 @@ public:
|
||||||
// GeneratableCryptoMaterial
|
// GeneratableCryptoMaterial
|
||||||
bool Validate(RandomNumberGenerator &rng, unsigned int level) const
|
bool Validate(RandomNumberGenerator &rng, unsigned int level) const
|
||||||
{
|
{
|
||||||
|
CRYPTOPP_ASSERT(GetAbstractGroupParameters().Validate(rng, level));
|
||||||
bool pass = GetAbstractGroupParameters().Validate(rng, level);
|
bool pass = GetAbstractGroupParameters().Validate(rng, level);
|
||||||
|
|
||||||
const Integer &q = GetAbstractGroupParameters().GetSubgroupOrder();
|
const Integer &q = GetAbstractGroupParameters().GetSubgroupOrder();
|
||||||
const Integer &x = GetPrivateExponent();
|
const Integer &x = GetPrivateExponent();
|
||||||
|
|
||||||
|
CRYPTOPP_ASSERT(x.IsPositive());
|
||||||
|
CRYPTOPP_ASSERT(x < q);
|
||||||
pass = pass && x.IsPositive() && x < q;
|
pass = pass && x.IsPositive() && x < q;
|
||||||
|
|
||||||
if (level >= 1)
|
if (level >= 1)
|
||||||
|
{
|
||||||
|
CRYPTOPP_ASSERT(Integer::Gcd(x, q) == Integer::One());
|
||||||
pass = pass && Integer::Gcd(x, q) == Integer::One();
|
pass = pass && Integer::Gcd(x, q) == Integer::One();
|
||||||
|
}
|
||||||
return pass;
|
return pass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1305,7 +1314,9 @@ public:
|
||||||
// CryptoMaterial
|
// CryptoMaterial
|
||||||
bool Validate(RandomNumberGenerator &rng, unsigned int level) const
|
bool Validate(RandomNumberGenerator &rng, unsigned int level) const
|
||||||
{
|
{
|
||||||
|
CRYPTOPP_ASSERT(GetAbstractGroupParameters().Validate(rng, level));
|
||||||
bool pass = GetAbstractGroupParameters().Validate(rng, level);
|
bool pass = GetAbstractGroupParameters().Validate(rng, level);
|
||||||
|
CRYPTOPP_ASSERT(GetAbstractGroupParameters().ValidateElement(level, this->GetPublicElement(), &GetPublicPrecomputation()));
|
||||||
pass = pass && GetAbstractGroupParameters().ValidateElement(level, this->GetPublicElement(), &GetPublicPrecomputation());
|
pass = pass && GetAbstractGroupParameters().ValidateElement(level, this->GetPublicElement(), &GetPublicPrecomputation());
|
||||||
return pass;
|
return pass;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue