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 const fn new(is_y_odd: bool, is_x_reduced: bool) -> Self
pub const 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 const fn is_x_reduced(self) -> bool
pub const fn is_x_reduced(self) -> bool
Did the affine x-coordinate of 𝑘×𝑮 overflow the curve order?
sourcepub const fn from_byte(byte: u8) -> Option<Self>
pub const fn from_byte(byte: u8) -> Option<Self>
Convert a u8
into a RecoveryId
.
sourcepub const fn to_byte(self) -> u8
pub const 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
This method tests for
self
and other
values to be equal, and is used
by ==
.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 moresource§impl TryFrom<u8> for RecoveryId
impl TryFrom<u8> for RecoveryId
impl Copy for RecoveryId
impl Eq for RecoveryId
impl StructuralEq for RecoveryId
impl StructuralPartialEq for RecoveryId
Auto Trait Implementations§
impl RefUnwindSafe for RecoveryId
impl Send for RecoveryId
impl Sync for RecoveryId
impl Unpin for RecoveryId
impl UnwindSafe for RecoveryId
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more