Interface ScalarOps

All Superinterfaces:
Serializable
All Known Implementing Classes:
BigIntegerScalarOps, Ed25519ScalarOps

public interface ScalarOps extends Serializable
Since:
0.9.15
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    multiplyAndAdd(byte[] a, byte[] b, byte[] c)
    $r = (a * b + c) \bmod l$
    byte[]
    reduce(byte[] s)
    Reduce the given scalar mod $l$.
  • Method Details

    • reduce

      byte[] reduce(byte[] s)
      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\}$.

      Parameters:
      s - the scalar to reduce
      Returns:
      $s \bmod l$
    • multiplyAndAdd

      byte[] multiplyAndAdd(byte[] a, byte[] b, byte[] c)
      $r = (a * b + c) \bmod l$
      Parameters:
      a - a scalar
      b - a scalar
      c - a scalar
      Returns:
      $(a*b + c) \bmod l$