org.bouncycastle.math.ec
Class ECAlgorithms
java.lang.Object
org.bouncycastle.math.ec.ECAlgorithms
- public class ECAlgorithms
- extends java.lang.Object
Method Summary |
static ECPoint |
cleanPoint(ECCurve c,
ECPoint p)
|
static ECPoint |
importPoint(ECCurve c,
ECPoint p)
|
static boolean |
isF2mCurve(ECCurve c)
|
static boolean |
isF2mField(FiniteField field)
|
static boolean |
isFpCurve(ECCurve c)
|
static boolean |
isFpField(FiniteField field)
|
static void |
montgomeryTrick(ECFieldElement[] zs,
int off,
int len)
|
static void |
montgomeryTrick(ECFieldElement[] zs,
int off,
int len,
ECFieldElement scale)
|
static ECPoint |
referenceMultiply(ECPoint p,
java.math.BigInteger k)
Simple shift-and-add multiplication. |
static ECPoint |
shamirsTrick(ECPoint P,
java.math.BigInteger k,
ECPoint Q,
java.math.BigInteger l)
|
static ECPoint |
sumOfMultiplies(ECPoint[] ps,
java.math.BigInteger[] ks)
|
static ECPoint |
sumOfTwoMultiplies(ECPoint P,
java.math.BigInteger a,
ECPoint Q,
java.math.BigInteger b)
|
static ECPoint |
validatePoint(ECPoint p)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ECAlgorithms
public ECAlgorithms()
isF2mCurve
public static boolean isF2mCurve(ECCurve c)
isF2mField
public static boolean isF2mField(FiniteField field)
isFpCurve
public static boolean isFpCurve(ECCurve c)
isFpField
public static boolean isFpField(FiniteField field)
sumOfMultiplies
public static ECPoint sumOfMultiplies(ECPoint[] ps,
java.math.BigInteger[] ks)
sumOfTwoMultiplies
public static ECPoint sumOfTwoMultiplies(ECPoint P,
java.math.BigInteger a,
ECPoint Q,
java.math.BigInteger b)
shamirsTrick
public static ECPoint shamirsTrick(ECPoint P,
java.math.BigInteger k,
ECPoint Q,
java.math.BigInteger l)
importPoint
public static ECPoint importPoint(ECCurve c,
ECPoint p)
montgomeryTrick
public static void montgomeryTrick(ECFieldElement[] zs,
int off,
int len)
montgomeryTrick
public static void montgomeryTrick(ECFieldElement[] zs,
int off,
int len,
ECFieldElement scale)
referenceMultiply
public static ECPoint referenceMultiply(ECPoint p,
java.math.BigInteger k)
- Simple shift-and-add multiplication. Serves as reference implementation to verify (possibly
faster) implementations, and for very small scalars. CAUTION: This implementation is NOT
constant-time in any way. It is only intended to be used for diagnostics.
- Parameters:
p
- The point to multiply.k
- The multiplier.
- Returns:
- The result of the point multiplication kP.
validatePoint
public static ECPoint validatePoint(ECPoint p)
cleanPoint
public static ECPoint cleanPoint(ECCurve c,
ECPoint p)