[]Struct recrypt::api_480::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

Methods

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(
    &self,
    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 Clone for TransformKey

impl Debug for TransformKey

impl Eq for TransformKey

impl Hash for TransformKey

impl Hashable for TransformKey

impl PartialEq<TransformKey> for TransformKey

Auto Trait Implementations

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,