Function rejectLowOrder [src]
Check that the point does not generate a low-order group.
Return a WeakPublicKey error if it does.
Prototype
pub fn rejectLowOrder(p: Edwards25519) WeakPublicKeyError!void
Parameters
p: Edwards25519
Possible Errors
Source
pub fn rejectLowOrder(p: Edwards25519) WeakPublicKeyError!void {
const zi = p.z.invert();
const x = p.x.mul(zi);
const y = p.y.mul(zi);
const x_neg = x.neg();
const iy = Fe.sqrtm1.mul(y);
if (x.isZero() or y.isZero() or iy.equivalent(x) or iy.equivalent(x_neg)) {
return error.WeakPublicKey;
}
}