From 085c5b2d0b70a2ff3d9ccf8616a7bdf4abbc957f Mon Sep 17 00:00:00 2001 From: weidai Date: Thu, 14 Dec 2006 11:41:39 +0000 Subject: 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 --- gfpcrypt.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gfpcrypt.cpp') 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; } -- cgit v1.2.1