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

WeakPublicKey WeakPublicKeyError

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; } }