FileDocCategorySizeDatePackage
ECPoint.javaAPI DocJava SE 5 API2558Fri Aug 26 14:57:18 BST 2005java.security.spec

ECPoint

public class ECPoint extends Object
This immutable class represents a point on an elliptic curve (EC) in affine coordinates. Other coordinate systems can extend this class to represent this point in other coordinates.
author
Valerie Peng
version
1.3, 12/19/03
since
1.5

Fields Summary
private final BigInteger
x
private final BigInteger
y
public static final ECPoint
POINT_INFINITY
This defines the point at infinity.
Constructors Summary
private ECPoint()


    // private constructor for constructing point at infinity
      
	this.x = null;
	this.y = null;
    
public ECPoint(BigInteger x, BigInteger y)
Creates an ECPoint from the specified affine x-coordinate x and affine y-coordinate y.

param
x the affine x-coordinate.
param
y the affine y-coordinate.
exception
NullPointerException if x or y is null.

	if ((x==null) || (y==null)) {
	    throw new NullPointerException("affine coordinate x or y is null");
	}
	this.x = x;
	this.y = y;
    
Methods Summary
public booleanequals(java.lang.Object obj)
Compares this elliptic curve point for equality with the specified object.

param
obj the object to be compared.
return
true if obj is an instance of ECPoint and the affine coordinates match, false otherwise.

	if (this == obj) return true;
	if (this == POINT_INFINITY) return false;
	if (obj instanceof ECPoint) {
	    return ((x.equals(((ECPoint)obj).x)) && 
		    (y.equals(((ECPoint)obj).y)));
	}
	return false;
    
public java.math.BigIntegergetAffineX()
Returns the affine x-coordinate x. Note: POINT_INFINITY has a null affine x-coordinate.

return
the affine x-coordinate.

	return x;
    
public java.math.BigIntegergetAffineY()
Returns the affine y-coordinate y. Note: POINT_INFINITY has a null affine y-coordinate.

return
the affine y-coordinate.

	return y;
    
public inthashCode()
Returns a hash code value for this elliptic curve point.

return
a hash code value.

	if (this == POINT_INFINITY) return 0;
	return x.hashCode() << 5 + y.hashCode();