Documentation Index
Fetch the complete documentation index at: https://docs.privora.xyz/llms.txt
Use this file to discover all available pages before exploring further.
User-side X25519 encryption for local recovery.
use privora_sdk_client::prelude::*;
let user_crypto = UserCrypto::from_keypair(&keypair)?;
Constructor
from_keypair
pub fn from_keypair(keypair: &Keypair) -> Result<Self>
Create from Solana keypair.
from_x25519
pub fn from_x25519(secret: X25519SecretKey, ed25519_public: Ed25519PublicKey) -> Self
Create from raw keys.
Methods
x25519_public_key
pub fn x25519_public_key(&self) -> &X25519PublicKey
public_key_bytes
pub fn public_key_bytes(&self) -> [u8; 32]
add_recovery
pub fn add_recovery<T>(
&self,
encrypted: ClientEncrypted<T>,
plaintext: &[u8],
) -> Result<ClientEncrypted<T>>
Add user recovery to encrypted value.
decrypt_recovery
pub fn decrypt_recovery(&self, recovery: &UserRecoveryData) -> Result<Vec<u8>>
Decrypt from recovery data.
decrypt_from_mpc
pub fn decrypt_from_mpc(
&self,
ciphertext: &[u8],
nonce: &[u8; 24],
ephemeral_pubkey: &[u8; 32],
) -> Result<Vec<u8>>
Decrypt MPC result.
encrypt_for_self
pub fn encrypt_for_self(&self, data: &[u8]) -> Result<(Vec<u8>, [u8; 24])>
decrypt_from_self
pub fn decrypt_from_self(&self, ciphertext: &[u8], nonce: &[u8; 24]) -> Result<Vec<u8>>
UserRecoveryData
pub struct UserRecoveryData {
pub ciphertext: Vec<u8>,
pub nonce: [u8; 24],
}