Trait NormalizeLow

Source
pub trait NormalizeLow: Sized {
    // Required method
    fn normalize_low(&self) -> Option<Self>;
}
Expand description

Normalize a scalar (i.e. ECDSA S) to the lower half the field, as described in BIP 0062: Dealing with Malleability.

Required Methods§

Source

fn normalize_low(&self) -> Option<Self>

Normalize scalar to the lower half of the field (i.e. negate it if it’s larger than half the curve’s order).

Returns an Option with a new scalar if the original wasn’t already low-normalized.

May be implemented to work in variable time.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§