crypto: add sub function to Ristretto255 (#23724)

This commit is contained in:
David Rubin 2025-05-05 06:30:59 -07:00 committed by GitHub
parent 7401f06f99
commit 369177f0ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -150,11 +150,16 @@ pub const Ristretto255 = struct {
return .{ .p = p.p.add(q.p) };
}
/// Subtract two Ristretto255 elements.
pub inline fn sub(p: Ristretto255, q: Ristretto255) Ristretto255 {
return .{ .p = p.p.sub(q.p) };
}
/// Multiply a Ristretto255 element with a scalar.
/// Return error.WeakPublicKey if the resulting element is
/// the identity element.
pub inline fn mul(p: Ristretto255, s: [encoded_length]u8) (IdentityElementError || WeakPublicKeyError)!Ristretto255 {
return Ristretto255{ .p = try p.p.mul(s) };
return .{ .p = try p.p.mul(s) };
}
/// Return true if two Ristretto255 elements are equivalent