scalarMult static method

Point scalarMult(
  1. Uint8List scalar,
  2. Point point
)

Implementation

static ed.Point scalarMult(Uint8List scalar, ed.Point point) {
  var result = ed.Point.newIdentityPoint();
  var temp = _copyPoint(point);

  for (int i = 0; i < 256; i++) {
    final bit = (scalar[i >> 3] >> (i & 7)) & 1;
    if (bit == 1) {
      result = pointAdd(result, temp);
    }
    temp = pointDouble(temp);
  }
  return result;
}