net.i2p.crypto.eddsa.math.bigint
Class BigIntegerScalarOps
java.lang.Object
net.i2p.crypto.eddsa.math.bigint.BigIntegerScalarOps
- All Implemented Interfaces:
- ScalarOps
public class BigIntegerScalarOps
- extends Object
- implements ScalarOps
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 |
BigIntegerScalarOps
public BigIntegerScalarOps(Field f,
BigInteger l)
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