net.i2p.crypto.eddsa.math.bigint
Class BigIntegerFieldElement

java.lang.Object
  extended by net.i2p.crypto.eddsa.math.FieldElement
      extended by net.i2p.crypto.eddsa.math.bigint.BigIntegerFieldElement
All Implemented Interfaces:
Serializable

public class BigIntegerFieldElement
extends FieldElement
implements Serializable

A particular element of the field \Z/(2^255-19).

Author:
str4d
See Also:
Serialized Form

Field Summary
(package private)  BigInteger bi
          Variable is package private for encoding.
 
Fields inherited from class net.i2p.crypto.eddsa.math.FieldElement
f
 
Constructor Summary
BigIntegerFieldElement(Field f, BigInteger bi)
           
 
Method Summary
 FieldElement add(FieldElement val)
           
 FieldElement addOne()
           
 FieldElement divide(BigInteger val)
           
 FieldElement divide(FieldElement val)
           
 boolean equals(Object obj)
           
 int hashCode()
           
 FieldElement invert()
           
 boolean isNonZero()
           
 FieldElement mod(FieldElement m)
           
 FieldElement modPow(FieldElement e, FieldElement m)
           
 FieldElement multiply(FieldElement val)
           
 FieldElement negate()
           
 FieldElement pow(FieldElement e)
           
 FieldElement pow22523()
           
 FieldElement square()
           
 FieldElement squareAndDouble()
           
 FieldElement subtract(FieldElement val)
           
 FieldElement subtractOne()
           
 String toString()
           
 
Methods inherited from class net.i2p.crypto.eddsa.math.FieldElement
isNegative, toByteArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

bi

final BigInteger bi
Variable is package private for encoding.

Constructor Detail

BigIntegerFieldElement

public BigIntegerFieldElement(Field f,
                              BigInteger bi)
Method Detail

isNonZero

public boolean isNonZero()
Specified by:
isNonZero in class FieldElement

add

public FieldElement add(FieldElement val)
Specified by:
add in class FieldElement

addOne

public FieldElement addOne()
Overrides:
addOne in class FieldElement

subtract

public FieldElement subtract(FieldElement val)
Specified by:
subtract in class FieldElement

subtractOne

public FieldElement subtractOne()
Overrides:
subtractOne in class FieldElement

negate

public FieldElement negate()
Specified by:
negate in class FieldElement

divide

public FieldElement divide(FieldElement val)
Overrides:
divide in class FieldElement

divide

public FieldElement divide(BigInteger val)

multiply

public FieldElement multiply(FieldElement val)
Specified by:
multiply in class FieldElement

square

public FieldElement square()
Specified by:
square in class FieldElement

squareAndDouble

public FieldElement squareAndDouble()
Specified by:
squareAndDouble in class FieldElement

invert

public FieldElement invert()
Specified by:
invert in class FieldElement

mod

public FieldElement mod(FieldElement m)

modPow

public FieldElement modPow(FieldElement e,
                           FieldElement m)

pow

public FieldElement pow(FieldElement e)

pow22523

public FieldElement pow22523()
Specified by:
pow22523 in class FieldElement

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object