Struct TransformKey

pub struct TransformKey { /* private fields */ }
Expand description

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

Implementations§

§

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

§

fn clone(&self) -> TransformKey

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
§

impl Debug for TransformKey

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
§

impl Hash for TransformKey

§

fn hash<__H>(&self, __state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl Hashable for TransformKey

§

fn to_bytes(&self) -> ByteVector

Convert self to a stable byte representation.
§

impl PartialEq for TransformKey

§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Eq for TransformKey

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

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

Source§

fn vzip(self) -> V