Package org.bitcoinj.crypto
Class LazyECPoint
- java.lang.Object
 - 
- org.bitcoinj.crypto.LazyECPoint
 
 
- 
public class LazyECPoint extends java.lang.ObjectA 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
Constructors Constructor Description LazyECPoint(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.bouncycastle.math.ec.ECPointadd(org.bouncycastle.math.ec.ECPoint b)LazyECPointcompress()Returns a compressed version of this elliptic curve point.LazyECPointdecompress()Returns a decompressed version of this elliptic curve point.booleanequals(java.lang.Object o)booleanequals(org.bouncycastle.math.ec.ECPoint other)org.bouncycastle.math.ec.ECPointget()org.bouncycastle.math.ec.ECFieldElementgetAffineXCoord()org.bouncycastle.math.ec.ECFieldElementgetAffineYCoord()org.bouncycastle.math.ec.ECCurvegetCurve()org.bouncycastle.math.ec.ECPointgetDetachedPoint()byte[]getEncoded()byte[]getEncoded(boolean compressed)org.bouncycastle.math.ec.ECFieldElementgetX()org.bouncycastle.math.ec.ECFieldElementgetXCoord()org.bouncycastle.math.ec.ECFieldElementgetY()org.bouncycastle.math.ec.ECFieldElementgetYCoord()org.bouncycastle.math.ec.ECFieldElementgetZCoord(int index)org.bouncycastle.math.ec.ECFieldElement[]getZCoords()inthashCode()booleanisCompressed()booleanisInfinity()booleanisNormalized()booleanisValid()org.bouncycastle.math.ec.ECPointmultiply(java.math.BigInteger k)org.bouncycastle.math.ec.ECPointnegate()org.bouncycastle.math.ec.ECPointnormalize()org.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.ECPointthreeTimes()org.bouncycastle.math.ec.ECPointtimesPow2(int e)org.bouncycastle.math.ec.ECPointtwice()org.bouncycastle.math.ec.ECPointtwicePlus(org.bouncycastle.math.ec.ECPoint b) 
 - 
 
- 
- 
Constructor Detail
- 
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 public LazyECPoint(org.bouncycastle.math.ec.ECCurve curve, byte[] bits)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 Detail
- 
compress
public LazyECPoint 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
public LazyECPoint 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
public org.bouncycastle.math.ec.ECPoint multiply(java.math.BigInteger k)
 
- 
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
public boolean equals(java.lang.Object o)
- Overrides:
 equalsin classjava.lang.Object
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classjava.lang.Object
 
 - 
 
 -