Package org.bitcoinj.crypto
Class LazyECPoint
java.lang.Object
org.bitcoinj.crypto.LazyECPoint
A wrapper around a SECP256K1 ECPoint that delays decoding of the point for as long as possible. This is useful because point
encode/decode in Bouncy Castle is quite slow especially on Dalvik, as it often involves decompression/recompression.
-
Constructor Summary
ConstructorsConstructorDescriptionLazyECPoint(byte[] bits) Construct a LazyECPoint from a public key.LazyECPoint(org.bouncycastle.math.ec.ECCurve curve, byte[] bits) Deprecated.LazyECPoint(org.bouncycastle.math.ec.ECPoint point, boolean compressed) Construct a LazyECPoint from an already decoded point. -
Method Summary
Modifier and TypeMethodDescriptionorg.bouncycastle.math.ec.ECPointadd(org.bouncycastle.math.ec.ECPoint b) compress()Returns a compressed version of this elliptic curve point.Returns a decompressed version of this elliptic curve point.booleanbooleanequals(org.bouncycastle.math.ec.ECPoint other) org.bouncycastle.math.ec.ECPointget()org.bouncycastle.math.ec.ECFieldElementorg.bouncycastle.math.ec.ECFieldElementorg.bouncycastle.math.ec.ECCurvegetCurve()org.bouncycastle.math.ec.ECPointbyte[]byte[]getEncoded(boolean compressed) org.bouncycastle.math.ec.ECFieldElementgetX()org.bouncycastle.math.ec.ECFieldElementorg.bouncycastle.math.ec.ECFieldElementgetY()org.bouncycastle.math.ec.ECFieldElementorg.bouncycastle.math.ec.ECFieldElementgetZCoord(int index) org.bouncycastle.math.ec.ECFieldElement[]inthashCode()booleanbooleanbooleanbooleanisValid()org.bouncycastle.math.ec.ECPointorg.bouncycastle.math.ec.ECPointnegate()org.bouncycastle.math.ec.ECPointorg.bouncycastle.math.ec.ECPointscaleX(org.bouncycastle.math.ec.ECFieldElement scale) org.bouncycastle.math.ec.ECPointscaleY(org.bouncycastle.math.ec.ECFieldElement scale) org.bouncycastle.math.ec.ECPointsubtract(org.bouncycastle.math.ec.ECPoint b) org.bouncycastle.math.ec.ECPointorg.bouncycastle.math.ec.ECPointtimesPow2(int e) org.bouncycastle.math.ec.ECPointtwice()org.bouncycastle.math.ec.ECPointtwicePlus(org.bouncycastle.math.ec.ECPoint b)
-
Constructor Details
-
LazyECPoint
public LazyECPoint(byte[] bits) Construct a LazyECPoint from a public key. Due to the delayed decoding of the point the validation of the public key is delayed too, e.g. until a getter is called.- Parameters:
bits- public key bytes
-
LazyECPoint
Deprecated.Construct a LazyECPoint from a public key. Due to the delayed decoding of the point the validation of the public key is delayed too, e.g. until a getter is called.- Parameters:
curve- a curve the point is onbits- public key bytes
-
LazyECPoint
public LazyECPoint(org.bouncycastle.math.ec.ECPoint point, boolean compressed) Construct a LazyECPoint from an already decoded point.- Parameters:
point- the wrapped pointcompressed- true if the represented public key is compressed
-
-
Method Details
-
compress
Returns a compressed version of this elliptic curve point. Returns the same point if it's already compressed. See theECKeyclass docs for a discussion of point compression. -
decompress
Returns a decompressed version of this elliptic curve point. Returns the same point if it's already compressed. See theECKeyclass docs for a discussion of point compression. -
get
public org.bouncycastle.math.ec.ECPoint get() -
getEncoded
public byte[] getEncoded() -
getDetachedPoint
public org.bouncycastle.math.ec.ECPoint getDetachedPoint() -
isInfinity
public boolean isInfinity() -
timesPow2
public org.bouncycastle.math.ec.ECPoint timesPow2(int e) -
getYCoord
public org.bouncycastle.math.ec.ECFieldElement getYCoord() -
getZCoords
public org.bouncycastle.math.ec.ECFieldElement[] getZCoords() -
isNormalized
public boolean isNormalized() -
isCompressed
public boolean isCompressed() -
multiply
-
subtract
public org.bouncycastle.math.ec.ECPoint subtract(org.bouncycastle.math.ec.ECPoint b) -
isValid
public boolean isValid() -
scaleY
public org.bouncycastle.math.ec.ECPoint scaleY(org.bouncycastle.math.ec.ECFieldElement scale) -
getXCoord
public org.bouncycastle.math.ec.ECFieldElement getXCoord() -
scaleX
public org.bouncycastle.math.ec.ECPoint scaleX(org.bouncycastle.math.ec.ECFieldElement scale) -
equals
public boolean equals(org.bouncycastle.math.ec.ECPoint other) -
negate
public org.bouncycastle.math.ec.ECPoint negate() -
threeTimes
public org.bouncycastle.math.ec.ECPoint threeTimes() -
getZCoord
public org.bouncycastle.math.ec.ECFieldElement getZCoord(int index) -
getEncoded
public byte[] getEncoded(boolean compressed) -
add
public org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint b) -
twicePlus
public org.bouncycastle.math.ec.ECPoint twicePlus(org.bouncycastle.math.ec.ECPoint b) -
getCurve
public org.bouncycastle.math.ec.ECCurve getCurve() -
normalize
public org.bouncycastle.math.ec.ECPoint normalize() -
getY
public org.bouncycastle.math.ec.ECFieldElement getY() -
twice
public org.bouncycastle.math.ec.ECPoint twice() -
getAffineYCoord
public org.bouncycastle.math.ec.ECFieldElement getAffineYCoord() -
getAffineXCoord
public org.bouncycastle.math.ec.ECFieldElement getAffineXCoord() -
getX
public org.bouncycastle.math.ec.ECFieldElement getX() -
equals
-
hashCode
public int hashCode()
-
LazyECPoint(byte[])