pub struct ProofOfPossession { /* private fields */ }
Expand description
MultiSig proof of possession, which contains two elements from G1. However,
the two elements have different types: k1
is represented as a BlstSig
as it has the same structure, and this facilitates its verification. On
the other hand, k2
is a G1 point, as it does not share structure with
the BLS signature, and we need to have an ad-hoc verification mechanism.
Implementations§
Trait Implementations§
source§impl Clone for ProofOfPossession
impl Clone for ProofOfPossession
source§fn clone(&self) -> ProofOfPossession
fn clone(&self) -> ProofOfPossession
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 ProofOfPossession
impl Debug for ProofOfPossession
source§impl<'de> Deserialize<'de> for ProofOfPossession
impl<'de> Deserialize<'de> for ProofOfPossession
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<&SigningKey> for ProofOfPossession
impl From<&SigningKey> for ProofOfPossession
source§fn from(sk: &SigningKey) -> Self
fn from(sk: &SigningKey) -> Self
Convert a secret key into an MspPoP
. This is performed by computing
k1 = H_G1(b"PoP" || mvk)
and k2 = g1 * sk
where H_G1
hashes into
G1
and g1
is the generator in G1
.
source§impl PartialEq for ProofOfPossession
impl PartialEq for ProofOfPossession
source§impl Serialize for ProofOfPossession
impl Serialize for ProofOfPossession
impl Copy for ProofOfPossession
impl Eq for ProofOfPossession
impl StructuralPartialEq for ProofOfPossession
Auto Trait Implementations§
impl Freeze for ProofOfPossession
impl RefUnwindSafe for ProofOfPossession
impl Send for ProofOfPossession
impl Sync for ProofOfPossession
impl Unpin for ProofOfPossession
impl UnwindSafe for ProofOfPossession
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)