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

java.lang.Object
  extended by net.i2p.crypto.eddsa.math.bigint.BigIntegerScalarOps
All Implemented Interfaces:
ScalarOps

public class BigIntegerScalarOps
extends Object
implements ScalarOps


Constructor Summary
BigIntegerScalarOps(Field f, BigInteger l)
           
 
Method Summary
 byte[] multiplyAndAdd(byte[] a, byte[] b, byte[] c)
          r = (a * b + c) mod l
 byte[] reduce(byte[] s)
          Reduce the given scalar mod l.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BigIntegerScalarOps

public BigIntegerScalarOps(Field f,
                           BigInteger l)
Method Detail

reduce

public byte[] reduce(byte[] s)
Description copied from interface: ScalarOps
Reduce the given scalar mod l.

From the Ed25519 paper:
Here we interpret 2b-bit strings in little-endian form as integers in {0, 1,..., 2^(2b)-1}.

Specified by:
reduce in interface ScalarOps
Returns:
s mod l

multiplyAndAdd

public byte[] multiplyAndAdd(byte[] a,
                             byte[] b,
                             byte[] c)
Description copied from interface: ScalarOps
r = (a * b + c) mod l

Specified by:
multiplyAndAdd in interface ScalarOps
Returns:
(a*b + c) mod l