Package org.bitcoinj.crypto
Class LazyECPoint
java.lang.Object
org.bitcoinj.crypto.LazyECPoint
A wrapper around 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
ConstructorDescriptionLazyECPoint
(org.bouncycastle.math.ec.ECCurve curve, byte[] bits) Construct a LazyECPoint from a public key.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.ECPoint
add
(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.boolean
boolean
equals
(org.bouncycastle.math.ec.ECPoint other) org.bouncycastle.math.ec.ECPoint
get()
org.bouncycastle.math.ec.ECFieldElement
org.bouncycastle.math.ec.ECFieldElement
org.bouncycastle.math.ec.ECCurve
getCurve()
org.bouncycastle.math.ec.ECPoint
byte[]
byte[]
getEncoded
(boolean compressed) org.bouncycastle.math.ec.ECFieldElement
getX()
org.bouncycastle.math.ec.ECFieldElement
org.bouncycastle.math.ec.ECFieldElement
getY()
org.bouncycastle.math.ec.ECFieldElement
org.bouncycastle.math.ec.ECFieldElement
getZCoord
(int index) org.bouncycastle.math.ec.ECFieldElement[]
int
hashCode()
boolean
boolean
boolean
boolean
isValid()
org.bouncycastle.math.ec.ECPoint
org.bouncycastle.math.ec.ECPoint
negate()
org.bouncycastle.math.ec.ECPoint
org.bouncycastle.math.ec.ECPoint
scaleX
(org.bouncycastle.math.ec.ECFieldElement scale) org.bouncycastle.math.ec.ECPoint
scaleY
(org.bouncycastle.math.ec.ECFieldElement scale) org.bouncycastle.math.ec.ECPoint
subtract
(org.bouncycastle.math.ec.ECPoint b) org.bouncycastle.math.ec.ECPoint
org.bouncycastle.math.ec.ECPoint
timesPow2
(int e) org.bouncycastle.math.ec.ECPoint
twice()
org.bouncycastle.math.ec.ECPoint
twicePlus
(org.bouncycastle.math.ec.ECPoint b)
-
Constructor Details
-
LazyECPoint
public LazyECPoint(org.bouncycastle.math.ec.ECCurve curve, 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:
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 theECKey
class 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 theECKey
class 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()
-