pub struct BlindSignatureScheme {
pub n: u64,
pub e: u64,
pub d: u64,
}Expand description
Simplified Chaum blind signature protocol over Z_p*.
Protocol:
- Signer has key (d, e, n): d=private, e=public, n=modulus (RSA-like but tiny)
- User blinds message m: c = r^e * m mod n (r is blinding factor)
- Signer signs blinded message: s’ = c^d mod n
- User unblinds: s = s’ * r^{-1} mod n
- Verify: s^e = m mod n
§WARNING
Educational only. Real blind RSA requires SHA-based full-domain hash + PKCS1v2.1.
Fields§
§n: u64RSA-like modulus n = p*q (tiny, insecure)
e: u64Public exponent e
d: u64Private exponent d (e*d ≡ 1 mod λ(n))
Implementations§
Trait Implementations§
Source§impl Clone for BlindSignatureScheme
impl Clone for BlindSignatureScheme
Source§fn clone(&self) -> BlindSignatureScheme
fn clone(&self) -> BlindSignatureScheme
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for BlindSignatureScheme
impl RefUnwindSafe for BlindSignatureScheme
impl Send for BlindSignatureScheme
impl Sync for BlindSignatureScheme
impl Unpin for BlindSignatureScheme
impl UnsafeUnpin for BlindSignatureScheme
impl UnwindSafe for BlindSignatureScheme
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