pub struct BlsProofOfPossession { /* 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 BlsProofOfPossession
impl Clone for BlsProofOfPossession
Source§fn clone(&self) -> BlsProofOfPossession
fn clone(&self) -> BlsProofOfPossession
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 BlsProofOfPossession
impl Debug for BlsProofOfPossession
Source§impl<'de> Deserialize<'de> for BlsProofOfPossession
impl<'de> Deserialize<'de> for BlsProofOfPossession
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<&BlsSigningKey> for BlsProofOfPossession
impl From<&BlsSigningKey> for BlsProofOfPossession
Source§fn from(sk: &BlsSigningKey) -> Self
fn from(sk: &BlsSigningKey) -> 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 BlsProofOfPossession
impl PartialEq for BlsProofOfPossession
Source§impl Serialize for BlsProofOfPossession
impl Serialize for BlsProofOfPossession
impl Copy for BlsProofOfPossession
impl Eq for BlsProofOfPossession
impl StructuralPartialEq for BlsProofOfPossession
Auto Trait Implementations§
impl Freeze for BlsProofOfPossession
impl RefUnwindSafe for BlsProofOfPossession
impl Send for BlsProofOfPossession
impl Sync for BlsProofOfPossession
impl Unpin for BlsProofOfPossession
impl UnwindSafe for BlsProofOfPossession
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