diff options
author | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2006-12-14 11:41:39 +0000 |
---|---|---|
committer | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2006-12-14 11:41:39 +0000 |
commit | 085c5b2d0b70a2ff3d9ccf8616a7bdf4abbc957f (patch) | |
tree | be3960f1424e79719ea9c5f6152df003bc1c44f3 /gfpcrypt.cpp | |
parent | 60b7db799a5d9d607dba4b9a66c4421bb60f2577 (diff) | |
download | cryptopp-085c5b2d0b70a2ff3d9ccf8616a7bdf4abbc957f.tar.gz |
port to Borland C++Builder 2006
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@260 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'gfpcrypt.cpp')
-rw-r--r-- | gfpcrypt.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gfpcrypt.cpp b/gfpcrypt.cpp index a82c492..6d9ffce 100644 --- a/gfpcrypt.cpp +++ b/gfpcrypt.cpp @@ -148,8 +148,11 @@ bool DL_GroupParameters_IntegerBased::ValidateElement(unsigned int level, const // and at most 1 bit is leaked if it's false bool fullValidate = (GetFieldType() == 2 && level >= 3) || !FastSubgroupCheckAvailable(); - if (fullValidate) - pass = pass && IsIdentity(gpc ? gpc->Exponentiate(GetGroupPrecomputation(), q) : ExponentiateElement(g, q)); + if (fullValidate && pass) + { + Integer gp = gpc ? gpc->Exponentiate(GetGroupPrecomputation(), q) : ExponentiateElement(g, q); + pass = pass && IsIdentity(gp); + } else if (GetFieldType() == 1) pass = pass && Jacobi(g, p) == 1; } |