Struct distributed_cards::Deck [−][src]
pub struct Deck { /* fields omitted */ }
Expand description
The Deck struct is the starting point to shuffle. It contains n cards. The deck doesn’t care what cards it represents.
Example
let rng = &mut thread_rng(); let primes = [Prime::random(128, rng), Prime::random(128, rng)]; // each participant contributes one prime let rsa_parameter = RsaParameter::from_primes(&primes); let uuid = Uuid::from_u128(0x_1905709b_e2ae_469c_9589_4e37dcf3e5bc); // must be unique and unpredictable for each shuffle let deck = Deck::new(104, uuid); let (encrypted_deck, key) = deck.shuffle_encrypt(&rsa_parameter, rng); assert!(deck.is_shuffle_encrypt_valid(&key, &encrypted_deck));
Implementations
1st shuffling phase
pub fn shuffle_encrypt<Rng: CryptoRng + RngCore>(
&self,
rsa_parameter: &RsaParameter,
rng: &mut Rng
) -> (EncryptedDeck, Rsa)
[src]Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Deck
impl UnwindSafe for Deck
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V