aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/math/gfpmath/point_gfp.cpp134
-rw-r--r--src/math/gfpmath/point_gfp.h14
2 files changed, 74 insertions, 74 deletions
diff --git a/src/math/gfpmath/point_gfp.cpp b/src/math/gfpmath/point_gfp.cpp
index 7d5f0e17a..6e0e834b9 100644
--- a/src/math/gfpmath/point_gfp.cpp
+++ b/src/math/gfpmath/point_gfp.cpp
@@ -40,10 +40,10 @@ BigInt decompress_point(bool yMod2,
// construct the point at infinity or a random point
PointGFp::PointGFp(const CurveGFp& curve) :
- mC(curve),
- mX(curve.get_p(), 0),
- mY(curve.get_p(), 1),
- mZ(curve.get_p(), 0)
+ curve(curve),
+ point_x(curve.get_p(), 0),
+ point_y(curve.get_p(), 1),
+ point_z(curve.get_p(), 0)
{
}
@@ -52,20 +52,20 @@ PointGFp::PointGFp(const CurveGFp& curve,
const BigInt& x,
const BigInt& y,
const BigInt& z) :
- mC(curve),
- mX(curve.get_p(), x),
- mY(curve.get_p(), y),
- mZ(curve.get_p(), z)
+ curve(curve),
+ point_x(curve.get_p(), x),
+ point_y(curve.get_p(), y),
+ point_z(curve.get_p(), z)
{
}
PointGFp::PointGFp(const CurveGFp& curve,
const BigInt& x,
const BigInt& y) :
- mC(curve),
- mX(curve.get_p(), x),
- mY(curve.get_p(), y),
- mZ(curve.get_p(), 1)
+ curve(curve),
+ point_x(curve.get_p(), x),
+ point_y(curve.get_p(), y),
+ point_z(curve.get_p(), 1)
{
}
@@ -81,19 +81,19 @@ PointGFp& PointGFp::operator+=(const PointGFp& rhs)
return *this;
}
- GFpElement U1 = mX;
- GFpElement S1 = mY;
+ GFpElement U1 = point_x;
+ GFpElement S1 = point_y;
- GFpElement rhs_z2 = rhs.mZ * rhs.mZ;
+ GFpElement rhs_z2 = rhs.point_z * rhs.point_z;
U1 *= rhs_z2;
- S1 *= rhs_z2 * rhs.mZ;
+ S1 *= rhs_z2 * rhs.point_z;
- GFpElement U2 = rhs.mX;
- GFpElement S2 = rhs.mY;
+ GFpElement U2 = rhs.point_x;
+ GFpElement S2 = rhs.point_y;
- GFpElement lhs_z2 = mZ * mZ;
+ GFpElement lhs_z2 = point_z * point_z;
U2 *= lhs_z2;
- S2 *= lhs_z2 * mZ;
+ S2 *= lhs_z2 * point_z;
GFpElement H(U2 - U1);
GFpElement r(S2 - S1);
@@ -106,7 +106,7 @@ PointGFp& PointGFp::operator+=(const PointGFp& rhs)
return *this;
}
- *this = PointGFp(mC); // setting myself to zero
+ *this = PointGFp(curve); // setting myself to zero
return *this;
}
@@ -122,11 +122,11 @@ PointGFp& PointGFp::operator+=(const PointGFp& rhs)
GFpElement y(r * (U2-x) - z);
- z = (mZ * rhs.mZ) * H;
+ z = (point_z * rhs.point_z) * H;
- mX = x;
- mY = y;
- mZ = z;
+ point_x = x;
+ point_y = y;
+ point_z = z;
return *this;
}
@@ -145,7 +145,7 @@ PointGFp& PointGFp::operator-=(const PointGFp& rhs)
PointGFp& PointGFp::operator*=(const BigInt& scalar)
{
- PointGFp H(this->mC); // create as zero
+ PointGFp H(this->curve); // create as zero
PointGFp P(*this);
BigInt m(scalar);
@@ -185,7 +185,7 @@ PointGFp& PointGFp::operator*=(const BigInt& scalar)
PointGFp& PointGFp::negate()
{
if(!is_zero())
- mY.negate();
+ point_y.negate();
return *this;
}
@@ -195,27 +195,27 @@ PointGFp& PointGFp::mult2_in_place()
{
if(is_zero())
return *this;
- else if(mY.is_zero())
+ else if(point_y.is_zero())
{
- *this = PointGFp(mC); // setting myself to zero
+ *this = PointGFp(curve); // setting myself to zero
return *this;
}
- GFpElement Y_squared = mY*mY;
+ GFpElement Y_squared = point_y*point_y;
- GFpElement S = mX * Y_squared;
+ GFpElement S = point_x * Y_squared;
GFpElement x = S + S;
S = x + x;
- GFpElement a_z4 = mC.get_a();
+ GFpElement a_z4 = curve.get_a();
- GFpElement z2 = mZ * mZ;
+ GFpElement z2 = point_z * point_z;
a_z4 *= z2;
a_z4 *= z2;
- GFpElement y(mX * mX);
+ GFpElement y(point_x * point_x);
GFpElement M(y + y + y + a_z4);
@@ -231,13 +231,13 @@ PointGFp& PointGFp::mult2_in_place()
y = M * (S - x) - U;
- z = mY * mZ;
+ z = point_y * point_z;
z = z + z;
- mX = x;
- mY = y;
- mZ = z;
+ point_x = x;
+ point_y = y;
+ point_z = z;
return *this;
}
@@ -260,20 +260,20 @@ PointGFp PointGFp::get_z_to_one()
*/
const PointGFp& PointGFp::set_z_to_one()
{
- if(mZ.is_zero())
+ if(point_z.is_zero())
throw Illegal_Transformation("cannot convert Z to one");
- if(mZ.get_value() != 1)
+ if(point_z.get_value() != 1)
{
// Converts to affine coordinates
- GFpElement z = inverse(mZ);
+ GFpElement z = inverse(point_z);
GFpElement z2 = z * z;
z *= z2;
- GFpElement x = mX * z2;
- GFpElement y = mY * z;
- mZ = GFpElement(mC.get_p(), BigInt(1));
- mX = x;
- mY = y;
+ GFpElement x = point_x * z2;
+ GFpElement y = point_y * z;
+ point_z = GFpElement(curve.get_p(), BigInt(1));
+ point_x = x;
+ point_y = y;
}
return *this;
@@ -284,9 +284,9 @@ BigInt PointGFp::get_affine_x() const
if(is_zero())
throw Illegal_Transformation("cannot convert to affine");
- GFpElement z2 = mZ * mZ;
+ GFpElement z2 = point_z * point_z;
z2.inverse_in_place();
- z2 *= mX;
+ z2 *= point_x;
return z2.get_value();
}
@@ -296,9 +296,9 @@ BigInt PointGFp::get_affine_y() const
if(is_zero())
throw Illegal_Transformation("cannot convert to affine");
- GFpElement z3 = mZ * mZ * mZ;
+ GFpElement z3 = point_z * point_z * point_z;
z3.inverse_in_place();
- z3 *= mY;
+ z3 *= point_y;
return z3.get_value();
}
@@ -306,7 +306,7 @@ BigInt PointGFp::get_affine_y() const
// Is this the point at infinity?
bool PointGFp::is_zero() const
{
- return(mX.is_zero() && mZ.is_zero());
+ return(point_x.is_zero() && point_z.is_zero());
}
void PointGFp::check_invariants() const
@@ -321,21 +321,21 @@ void PointGFp::check_invariants() const
if(is_zero())
return;
- const GFpElement y2 = mY * mY;
- const GFpElement x3 = mX * mX * mX;
+ const GFpElement y2 = point_y * point_y;
+ const GFpElement x3 = point_x * point_x * point_x;
- if(mZ.get_value() == BigInt(1))
+ if(point_z.get_value() == BigInt(1))
{
- GFpElement ax = mC.get_a() * mX;
- if(y2 != (x3 + ax + mC.get_b()))
+ GFpElement ax = curve.get_a() * point_x;
+ if(y2 != (x3 + ax + curve.get_b()))
throw Illegal_Point();
}
- GFpElement Zpow2 = mZ * mZ;
- GFpElement Zpow3 = Zpow2 * mZ;
- GFpElement AZpow4 = Zpow3 * mZ * mC.get_a();
- const GFpElement aXZ4 = AZpow4 * mX;
- const GFpElement bZ6 = mC.get_b() * Zpow3 * Zpow3;
+ GFpElement Zpow2 = point_z * point_z;
+ GFpElement Zpow3 = Zpow2 * point_z;
+ GFpElement AZpow4 = Zpow3 * point_z * curve.get_a();
+ const GFpElement aXZ4 = AZpow4 * point_x;
+ const GFpElement bZ6 = curve.get_b() * Zpow3 * Zpow3;
if(y2 != (x3 + aXZ4 + bZ6))
throw Illegal_Point();
@@ -344,10 +344,10 @@ void PointGFp::check_invariants() const
// swaps the states of *this and other, does not throw!
void PointGFp::swap(PointGFp& other)
{
- mC.swap(other.mC);
- mX.swap(other.mX);
- mY.swap(other.mY);
- mZ.swap(other.mZ);
+ curve.swap(other.curve);
+ point_x.swap(other.point_x);
+ point_y.swap(other.point_y);
+ point_z.swap(other.point_z);
}
bool PointGFp::operator==(const PointGFp& other) const
@@ -355,7 +355,9 @@ bool PointGFp::operator==(const PointGFp& other) const
if(get_curve() != other.get_curve())
return false;
- return (mX == other.mX && mY == other.mY && mZ == other.mZ);
+ return (point_x == other.point_x &&
+ point_y == other.point_y &&
+ point_z == other.point_z);
}
// arithmetic operators
diff --git a/src/math/gfpmath/point_gfp.h b/src/math/gfpmath/point_gfp.h
index a0623c071..6c4b012c5 100644
--- a/src/math/gfpmath/point_gfp.h
+++ b/src/math/gfpmath/point_gfp.h
@@ -116,7 +116,7 @@ class BOTAN_DLL PointGFp
* Return base curve of this point
* @result the curve over GF(p) of this point
*/
- const CurveGFp& get_curve() const { return mC; }
+ const CurveGFp& get_curve() const { return curve; }
/**
* get affine x coordinate
@@ -134,19 +134,19 @@ class BOTAN_DLL PointGFp
* get the jacobian projective x coordinate
* @result jacobian projective x coordinate
*/
- const BigInt& get_jac_proj_x() const { return mX.get_value(); }
+ const BigInt& get_jac_proj_x() const { return point_x.get_value(); }
/**
* get the jacobian projective y coordinate
* @result jacobian projective y coordinate
*/
- const BigInt& get_jac_proj_y() const { return mY.get_value(); }
+ const BigInt& get_jac_proj_y() const { return point_y.get_value(); }
/**
* get the jacobian projective z coordinate
* @result jacobian projective z coordinate
*/
- const BigInt& get_jac_proj_z() const { return mZ.get_value(); }
+ const BigInt& get_jac_proj_z() const { return point_z.get_value(); }
/**
* Is this the point at infinity?
@@ -173,10 +173,8 @@ class BOTAN_DLL PointGFp
*/
bool operator==(const PointGFp& other) const;
private:
- CurveGFp mC;
- GFpElement mX;
- GFpElement mY;
- GFpElement mZ;
+ CurveGFp curve;
+ GFpElement point_x, point_y, point_z;
};
// relational operators