pub struct Pake<C: EllipticCurve + 'static> {
pub pub_pake: PakePubKey,
pub k: Option<[u8; 32]>,
/* private fields */
}Fields§
§pub_pake: PakePubKey§k: Option<[u8; 32]>Implementations§
source§impl Pake<SIEC255Params>
impl Pake<SIEC255Params>
Used for pake negotiation
use rust_pake::pake::{Pake, Role};
use serde_json;
fn main() {
let mut pake_a = Pake::new(Role::Sender, Some("private_key_a".as_bytes()));
let mut pake_b = Pake::new(Role::Reciever, Some("private_key_a".as_bytes()));
pake_b.update(pake_a.pub_pake.clone());
pake_a.update(pake_b.pub_pake.clone());
assert_eq!(pake_a.k, pake_b.k);
}
Auto Trait Implementations§
impl<C> RefUnwindSafe for Pake<C>where
C: RefUnwindSafe,
impl<C> Send for Pake<C>where
C: Sync,
impl<C> Sync for Pake<C>where
C: Sync,
impl<C> Unpin for Pake<C>
impl<C> UnwindSafe for Pake<C>where
C: RefUnwindSafe,
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