Module lair_keystore_api::dependencies::sodoken::sign
Expand description
Api functions related to cryptographic signatures and verification.
§Example
// we have a keypair
let pk: sodoken::BufWriteSized<{ sodoken::sign::PUBLICKEYBYTES }> =
sodoken::BufWriteSized::new_no_lock();
let sk: sodoken::BufWriteSized<{ sodoken::sign::SECRETKEYBYTES }> =
sodoken::BufWriteSized::new_mem_locked().unwrap();
sodoken::sign::keypair(pk.clone(), sk.clone()).await.unwrap();
let pk = pk.to_read_sized();
let sk = sk.to_read_sized();
// we can generate a signature
let sig: sodoken::BufWriteSized<{ sodoken::sign::BYTES }> =
sodoken::BufWriteSized::new_no_lock();
sodoken::sign::detached(
sig.clone(),
b"test message".to_vec(),
sk,
).await.unwrap();
let sig = sig.to_read_sized();
// we can validate the signature
assert!(sodoken::sign::verify_detached(
sig,
b"test message".to_vec(),
pk,
).await.unwrap());
Constants§
- length of sign signature
- length of sign public key
- length of sign secret key
- length of sign seed
- length of encryption public key
- length of encryption secret key
Functions§
- create a signature from a signature private key
- Convert a signing ed25519 public key into an encryption x25519 public key. Please understand the downsides of this function before making use of it. https://doc.libsodium.org/advanced/ed25519-curve25519
- Convert a signing ed25519 secret key into an encryption x25519 secret key. Please understand the downsides of this function before making use of it. https://doc.libsodium.org/advanced/ed25519-curve25519
- create an ed25519 signature keypair from entropy
- create an ed25519 signature keypair from a private seed
- create a signature from a signature private key