Struct distributed_cards::EncryptedDeck [−][src]
pub struct EncryptedDeck { /* fields omitted */ }
Implementations
1st shuffling phase
pub fn shuffle_encrypt<Rng: CryptoRng + RngCore>(
&self,
rsa_parameter: &RsaParameter,
shuffle_rng: &mut Rng
) -> (EncryptedDeck, Rsa)
returns true if the shuffle_encrypt deck is obviously tampered with, doesn’t catch all cases
checks if the shuffle_encrypt mechanism was executed correctly and it can be reversed again
pub fn encrypt_card_specific(
&self,
shuffle_key: &Rsa,
rsa_parameter: &RsaParameter
) -> (EncryptedDeck, Vec<Rsa>)
pub fn encrypt_card_specific(
&self,
shuffle_key: &Rsa,
rsa_parameter: &RsaParameter
) -> (EncryptedDeck, Vec<Rsa>)
removes shuffling key from cards and encrypts each card with a unique random key returns the deck and all card specific keys
returns true if the shuffle_encrypt deck is obviously tampered with, doesn’t catch all cases
pub fn is_encrypt_card_specific_valid(
&self,
shuffle_key: &Rsa,
result: &EncryptedDeck,
keys: &[Rsa]
) -> bool
pub fn is_encrypt_card_specific_valid(
&self,
shuffle_key: &Rsa,
result: &EncryptedDeck,
keys: &[Rsa]
) -> bool
checks whether the encrypt_card_specific function was executed correctly needs to know the keys involved, so can only be called for peers after the game has ended and everyone published all their keys
Returns None on error. The caller has to check whether there are duplicate cards in the deck If there are duplicates the peer who put the first card specific keys on the deck tampered with the deck
Panics
If card_id >= num_cards
Trait Implementations
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
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for EncryptedDeck
impl Send for EncryptedDeck
impl Sync for EncryptedDeck
impl Unpin for EncryptedDeck
impl UnwindSafe for EncryptedDeck
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V