Trait recrypt::api::KeyGenOps [−]
pub trait KeyGenOps { fn compute_public_key(
&self,
private_key: &PrivateKey
) -> Result<PublicKey, ApiErr>; fn random_private_key(&mut self) -> PrivateKey; fn generate_key_pair(&mut self) -> Result<(PrivateKey, PublicKey), ApiErr>; fn generate_transform_key(
&mut self,
from_private_key: PrivateKey,
to_public_key: PublicKey,
public_signing_key: PublicSigningKey,
private_signing_key: PrivateSigningKey
) -> Result<TransformKey, ApiErr>; }
Key generation operations
Required Methods
fn compute_public_key(
&self,
private_key: &PrivateKey
) -> Result<PublicKey, ApiErr>
&self,
private_key: &PrivateKey
) -> Result<PublicKey, ApiErr>
Compute a PublicKey
given a PrivateKey
fn random_private_key(&mut self) -> PrivateKey
Generate a random private key.
Relies on Api::random_bytes
to generate cryptographically secure random bytes
fn generate_key_pair(&mut self) -> Result<(PrivateKey, PublicKey), ApiErr>
Generate a public/private keypair.
Relies on Api::random_bytes
to generate cryptographically secure random bytes
fn generate_transform_key(
&mut self,
from_private_key: PrivateKey,
to_public_key: PublicKey,
public_signing_key: PublicSigningKey,
private_signing_key: PrivateSigningKey
) -> Result<TransformKey, ApiErr>
&mut self,
from_private_key: PrivateKey,
to_public_key: PublicKey,
public_signing_key: PublicSigningKey,
private_signing_key: PrivateSigningKey
) -> Result<TransformKey, ApiErr>
Generate a transform key which is used to delegate to the to_public_key
from the from_private_key
.
Arguments
from_private_key
- key that can currently decrypt the value. (delegator)to_public_key
- key that we want to let decrypt the value. (delegatee)from_public_signing_key
- The public signing key of the person (or device) who is generating this transform keyfrom_private_signing_key
- The private signing key of the person (or device) who is generating this transform key
Return
Key which allows a proxy to compute the transform. See EncryptOps.transform
.
Implementors
impl<R: RandomBytesGen, H: Sha256Hashing, S: Ed25519Signing> KeyGenOps for Api<H, S, R>