public class Ed25519ScalarOps extends Object implements ScalarOps
q = 2^252 + 27742317777372353535851937790883648493.
Reviewed/commented by Bloody Rookie (nemproject@gmx.de)
| Constructor and Description |
|---|
Ed25519ScalarOps() |
| Modifier and Type | Method and Description |
|---|---|
byte[] |
multiplyAndAdd(byte[] a,
byte[] b,
byte[] c)
Input:
|
byte[] |
reduce(byte[] s)
Reduction modulo the group order q.
|
public byte[] reduce(byte[] s)
Input: s[0]+256*s[1]+...+256^63*s[63] = s
Output: s[0]+256*s[1]+...+256^31*s[31] = s mod q where q = 2^252 + 27742317777372353535851937790883648493.
public byte[] multiplyAndAdd(byte[] a,
byte[] b,
byte[] c)
Output: result[0]+256*result[1]+...+256^31*result[31] = (ab+c) mod q where q = 2^252 + 27742317777372353535851937790883648493.
See the comments in reduce(byte[]) for an explanation of the algorithm.
multiplyAndAdd in interface ScalarOpsCopyright © 2016. All rights reserved.