Skip to main content

crypto_core_ed25519_is_valid_point

Function crypto_core_ed25519_is_valid_point 

Source
pub fn crypto_core_ed25519_is_valid_point(p: &Ed25519Point) -> bool
Expand description

Checks whether p is a valid prime-order Ed25519 point.

This validates the canonical compressed encoding, rejects points that are not on the curve or have small order, and requires membership in the main subgroup. The high bit is the sign of the x-coordinate and may legitimately be set.

§Example

use dryoc::classic::crypto_core::crypto_core_ed25519_is_valid_point;
use dryoc::classic::crypto_sign::crypto_sign_keypair;

let (pk, _) = crypto_sign_keypair();
assert!(crypto_core_ed25519_is_valid_point(&pk));

§Compatibility

This matches crypto_core_ed25519_is_valid_point in libsodium 1.0.21 and later. Libsodium versions through 1.0.20 incorrectly accepted some mixed-order points; this function rejects them.