Bouncy Castle Cryptography Library 1.81

org.bouncycastle.math.ec.custom.sec
Class SecP256K1Curve

java.lang.Object
  extended byorg.bouncycastle.math.ec.ECCurve
      extended byorg.bouncycastle.math.ec.ECCurve.AbstractFp
          extended byorg.bouncycastle.math.ec.custom.sec.SecP256K1Curve

public class SecP256K1Curve
extends ECCurve.AbstractFp


Nested Class Summary
 
Nested classes inherited from class org.bouncycastle.math.ec.ECCurve
ECCurve.AbstractF2m, ECCurve.AbstractFp, ECCurve.Config, ECCurve.F2m, ECCurve.Fp
 
Field Summary
protected  SecP256K1Point infinity
           
static java.math.BigInteger q
           
 
Fields inherited from class org.bouncycastle.math.ec.ECCurve
a, b, cofactor, coord, COORD_AFFINE, COORD_HOMOGENEOUS, COORD_JACOBIAN, COORD_JACOBIAN_CHUDNOVSKY, COORD_JACOBIAN_MODIFIED, COORD_LAMBDA_AFFINE, COORD_LAMBDA_PROJECTIVE, COORD_SKEWED, endomorphism, field, multiplier, order
 
Constructor Summary
SecP256K1Curve()
           
 
Method Summary
protected  ECCurve cloneCurve()
           
 ECLookupTable createCacheSafeLookupTable(ECPoint[] points, int off, int len)
          Create a cache-safe lookup table for the specified sequence of points.
protected  ECPoint createRawPoint(ECFieldElement x, ECFieldElement y)
           
protected  ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs)
           
 ECFieldElement fromBigInteger(java.math.BigInteger x)
           
 int getFieldSize()
           
 ECPoint getInfinity()
           
 java.math.BigInteger getQ()
           
 ECFieldElement randomFieldElement(java.security.SecureRandom r)
           
 ECFieldElement randomFieldElementMult(java.security.SecureRandom r)
           
 boolean supportsCoordinateSystem(int coord)
           
 
Methods inherited from class org.bouncycastle.math.ec.ECCurve.AbstractFp
decompressPoint, isValidFieldElement
 
Methods inherited from class org.bouncycastle.math.ec.ECCurve
checkPoint, checkPoints, checkPoints, configure, createDefaultMultiplier, createPoint, decodePoint, equals, equals, getA, getAffinePointEncodingLength, getAllCoordinateSystems, getB, getCofactor, getCoordinateSystem, getEndomorphism, getField, getFieldElementEncodingLength, getMultiplier, getOrder, getPreCompInfo, hashCode, importPoint, normalizeAll, normalizeAll, precompute, validatePoint
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

q

public static final java.math.BigInteger q

infinity

protected SecP256K1Point infinity
Constructor Detail

SecP256K1Curve

public SecP256K1Curve()
Method Detail

cloneCurve

protected ECCurve cloneCurve()
Specified by:
cloneCurve in class ECCurve

supportsCoordinateSystem

public boolean supportsCoordinateSystem(int coord)
Overrides:
supportsCoordinateSystem in class ECCurve

getQ

public java.math.BigInteger getQ()
Overrides:
getQ in class ECCurve.AbstractFp

getFieldSize

public int getFieldSize()
Specified by:
getFieldSize in class ECCurve

fromBigInteger

public ECFieldElement fromBigInteger(java.math.BigInteger x)
Specified by:
fromBigInteger in class ECCurve

createRawPoint

protected ECPoint createRawPoint(ECFieldElement x,
                                 ECFieldElement y)
Specified by:
createRawPoint in class ECCurve

createRawPoint

protected ECPoint createRawPoint(ECFieldElement x,
                                 ECFieldElement y,
                                 ECFieldElement[] zs)
Specified by:
createRawPoint in class ECCurve

getInfinity

public ECPoint getInfinity()
Specified by:
getInfinity in class ECCurve

createCacheSafeLookupTable

public ECLookupTable createCacheSafeLookupTable(ECPoint[] points,
                                                int off,
                                                int len)
Description copied from class: ECCurve
Create a cache-safe lookup table for the specified sequence of points. All the points MUST belong to this ECCurve instance, and MUST already be normalized.

Overrides:
createCacheSafeLookupTable in class ECCurve

randomFieldElement

public ECFieldElement randomFieldElement(java.security.SecureRandom r)
Overrides:
randomFieldElement in class ECCurve.AbstractFp

randomFieldElementMult

public ECFieldElement randomFieldElementMult(java.security.SecureRandom r)
Overrides:
randomFieldElementMult in class ECCurve.AbstractFp

Bouncy Castle Cryptography Library 1.81