Group operations over P384.
Functions
fn addMixed(p: P384, q: AffineCoordinates) P384
Add P384 points, the second being specified using affine coordinates.
fn fromAffineCoordinates(p: AffineCoordinates) EncodingError!P384
Create a point from affine coordinates after checking that they match the curve …
Create a point from affine coordinates after checking that they match the curve equation.
fn fromSec1(s: []const u8) EncodingError || NotSquareError || NonCanonicalError!P384
Deserialize a SEC1-encoded point.
fn fromSerializedAffineCoordinates(xs: [48]u8, ys: [48]u8, endian: std.builtin.Endian) NonCanonicalError || EncodingError!P384
Create a point from serialized affine coordinates.
fn mul(p: P384, s_: [48]u8, endian: std.builtin.Endian) IdentityElementError!P384
Multiply an elliptic curve point by a scalar. Return error.IdentityElement if t…
Multiply an elliptic curve point by a scalar. Return error.IdentityElement if the result is the identity element.
fn mulDoubleBasePublic(p1: P384, s1_: [48]u8, p2: P384, s2_: [48]u8, endian: std.builtin.Endian) IdentityElementError!P384
Double-base multiplication of public parameters - Compute (p1s1)+(p2s2) *IN VA…
Double-base multiplication of public parameters - Compute (p1s1)+(p2s2) IN VARIABLE TIME This can be used for signature verification.
fn mulPublic(p: P384, s_: [48]u8, endian: std.builtin.Endian) IdentityElementError!P384
Multiply an elliptic curve point by a PUBLIC scalar IN VARIABLE TIME This c…
Multiply an elliptic curve point by a PUBLIC scalar IN VARIABLE TIME This can be used for signature verification.
fn subMixed(p: P384, q: AffineCoordinates) P384
Subtract P384 points, the second being specified using affine coordinates.