Function monero_io::decompress_point

source ·
pub fn decompress_point(bytes: [u8; 32]) -> Option<EdwardsPoint>
Expand description

Decompress a canonically-encoded Ed25519 point.

Ed25519 is of order 8 * l. This function ensures each of those 8 * l points have a singular encoding by checking points aren’t encoded with an unreduced field element, and aren’t negative when the negative is equivalent (0 == -0).

Since this decodes an Ed25519 point, it does not check the point is in the prime-order subgroup. Torsioned points do have a canonical encoding, and only aren’t canonical when considered in relation to the prime-order subgroup.