Bouncy Castle Cryptography Library 1.81

org.bouncycastle.math.ec
Class ECAlgorithms

java.lang.Object
  extended byorg.bouncycastle.math.ec.ECAlgorithms

public class ECAlgorithms
extends java.lang.Object


Constructor Summary
ECAlgorithms()
           
 
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
 

Constructor Detail

ECAlgorithms

public ECAlgorithms()
Method Detail

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)

Bouncy Castle Cryptography Library 1.81