multiply method

  1. @override
JubJubPoint multiply(
  1. List<int> by
)
override

Scalar multiplication from raw bytes.

Implementation

@override
JubJubPoint multiply(List<int> by) {
  assert(by.length == 32);
  final zero = JubJubNielsPoint.identity();
  JubJubPoint acc = JubJubPoint.identity();
  final bits = BytesUtils.bytesToBits(by);
  final iterableBits = bits.reversed.skip(4);
  for (final bit in iterableBits) {
    acc = acc.double();
    acc += JubJubNielsPoint.conditionalSelect(zero, this, bit);
  }
  return acc;
}