Struct distributed_cards::EncryptedDeck
source · [−]pub struct EncryptedDeck { /* private fields */ }
Implementations
sourceimpl EncryptedDeck
impl EncryptedDeck
1st shuffling phase
pub fn shuffle_encrypt<Rng: CryptoRng + RngCore>(
&self,
rsa_parameter: &RsaParameter,
shuffle_rng: &mut Rng
) -> (EncryptedDeck, Rsa)
sourcepub fn is_shuffle_encrypt_invalid(&self, num_cards: u32) -> bool
pub fn is_shuffle_encrypt_invalid(&self, num_cards: u32) -> bool
returns true if the shuffle_encrypt deck is obviously tampered with, doesn’t catch all cases
sourcepub fn is_shuffle_encrypt_valid(&self, key: &Rsa, result: &EncryptedDeck) -> bool
pub fn is_shuffle_encrypt_valid(&self, key: &Rsa, result: &EncryptedDeck) -> bool
checks if the shuffle_encrypt mechanism was executed correctly and it can be reversed again
sourceimpl EncryptedDeck
impl EncryptedDeck
sourcepub 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
sourcepub fn is_encrypt_card_specific_invalid(&self, num_cards: u32) -> bool
pub fn is_encrypt_card_specific_invalid(&self, num_cards: u32) -> bool
returns true if the shuffle_encrypt deck is obviously tampered with, doesn’t catch all cases
sourcepub 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
sourceimpl EncryptedDeck
impl EncryptedDeck
pub fn from_biguints(cards: Vec<BigUint>) -> Self
sourcepub fn decrypt_card(
&self,
card_id: u32,
shuffle_id: Uuid,
own_key: &Rsa,
other_keys: &[Rsa]
) -> Option<u32>
pub fn decrypt_card(
&self,
card_id: u32,
shuffle_id: Uuid,
own_key: &Rsa,
other_keys: &[Rsa]
) -> Option<u32>
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
pub fn get_cards(&self) -> Vec<BigUint>
Trait Implementations
sourceimpl Clone for EncryptedDeck
impl Clone for EncryptedDeck
sourcefn clone(&self) -> EncryptedDeck
fn clone(&self) -> EncryptedDeck
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for EncryptedDeck
impl Debug for EncryptedDeck
sourceimpl<'de> Deserialize<'de> for EncryptedDeck
impl<'de> Deserialize<'de> for EncryptedDeck
sourcefn 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
sourceimpl PartialEq<EncryptedDeck> for EncryptedDeck
impl PartialEq<EncryptedDeck> for EncryptedDeck
sourcefn eq(&self, other: &EncryptedDeck) -> bool
fn eq(&self, other: &EncryptedDeck) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &EncryptedDeck) -> bool
fn ne(&self, other: &EncryptedDeck) -> bool
This method tests for !=
.
sourceimpl Serialize for EncryptedDeck
impl Serialize for EncryptedDeck
impl StructuralPartialEq for EncryptedDeck
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more