[]Struct recrypt::api::TransformKey

pub struct TransformKey { /* fields omitted */ }

TransformKeys allow a message encrypted to one public key (the key of the delegator) to be transformed and appear as if it was encrypted to another public key (the key of hte delegatee), or put another way, a TransformKey changes which private_key can decrypt the data.

TransfomKeys cannot, themselves, decrypt any data!

ephemeral_public_key - ephemeral key unique to this TransforKey. Key that encrypted the encrypted_k value to_public_key - public key of the delagatee encrypted_k - random value K, encrypted to the delegatee; used to un-roll successive levels of multi-hop transform encryption hashed_k - combination of the hash of K and the secret key of the delegator; used to recover K from encrypted_k


impl TransformKey

pub fn ephemeral_public_key(&self) -> &PublicKey

pub fn to_public_key(&self) -> &PublicKey

pub fn encrypted_temp_key(&self) -> &EncryptedTempKey

pub fn hashed_temp_key(&self) -> &HashedValue

pub fn public_signing_key(&self) -> &PublicSigningKey

pub fn signature(&self) -> &Ed25519Signature

pub fn new(
    ephemeral_public_key: PublicKey,
    to_public_key: PublicKey,
    encrypted_temp_key: EncryptedTempKey,
    hashed_temp_key: HashedValue,
    public_signing_key: PublicSigningKey,
    signature: Ed25519Signature
) -> TransformKey

Public constructor. See TransformKey.

pub fn augment(
    private_key: &PrivateKey
) -> Result<TransformKey, RecryptErr>

Augment the TransformKey using private_key. If the private_key the TransformKey was delegating from was unaugmented this can be used to make the TransformKey useful for delegation.

Trait Implementations

impl Hashable for TransformKey

impl PartialEq<TransformKey> for TransformKey

fn ne(&self, other: &Rhs) -> bool

This method tests for !=.

impl Clone for TransformKey

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

impl Debug for TransformKey

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 

impl<T, U> TryFrom for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized

impl<T> BorrowMut for T where
    T: ?Sized

impl<T, U> TryInto for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Same for T

type Output = T

Should always be Self