Struct ecdsa::RecoveryId
source · pub struct RecoveryId(_);
Expand description
Recovery IDs, a.k.a. “recid”.
This is an integer value 0
, 1
, 2
, or 3
included along with a
signature which is used during the recovery process to select the correct
public key from the signature.
It consists of two bits of information:
- low bit (0/1): was the y-coordinate of the affine point resulting from the fixed-base multiplication 𝑘×𝑮 odd? This part of the algorithm functions similar to point decompression.
- hi bit (3/4): did the affine x-coordinate of 𝑘×𝑮 overflow the order of
the scalar field, requiring a reduction when computing
r
?
Implementations§
source§impl RecoveryId
impl RecoveryId
sourcepub fn new(is_y_odd: bool, is_x_reduced: bool) -> Self
pub fn new(is_y_odd: bool, is_x_reduced: bool) -> Self
Create a new RecoveryId
from the following 1-bit arguments:
is_y_odd
: is the affine y-coordinate of 𝑘×𝑮 odd?is_x_reduced
: did the affine x-coordinate of 𝑘×𝑮 overflow the curve order?
sourcepub fn is_x_reduced(self) -> bool
pub fn is_x_reduced(self) -> bool
Did the affine x-coordinate of 𝑘×𝑮 overflow the curve order?
sourcepub fn to_byte(self) -> u8
pub fn to_byte(self) -> u8
Convert this RecoveryId
into a u8
.
Trait Implementations§
source§impl Clone for RecoveryId
impl Clone for RecoveryId
source§fn clone(&self) -> RecoveryId
fn clone(&self) -> RecoveryId
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RecoveryId
impl Debug for RecoveryId
source§impl From<RecoveryId> for u8
impl From<RecoveryId> for u8
source§fn from(id: RecoveryId) -> u8
fn from(id: RecoveryId) -> u8
Converts to this type from the input type.
source§impl Ord for RecoveryId
impl Ord for RecoveryId
source§fn cmp(&self, other: &RecoveryId) -> Ordering
fn cmp(&self, other: &RecoveryId) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<RecoveryId> for RecoveryId
impl PartialEq<RecoveryId> for RecoveryId
source§fn eq(&self, other: &RecoveryId) -> bool
fn eq(&self, other: &RecoveryId) -> bool
source§impl PartialOrd<RecoveryId> for RecoveryId
impl PartialOrd<RecoveryId> for RecoveryId
source§fn partial_cmp(&self, other: &RecoveryId) -> Option<Ordering>
fn partial_cmp(&self, other: &RecoveryId) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more