Module dryoc::classic::crypto_kdf[][src]

Expand description

Key derivation function

Implements libsodium’s key derivation functions (crypto_kdf_*).

For details, refer to libsodium docs.

Classic API example

use base64::encode;
use dryoc::classic::crypto_kdf::*;

// Generate a random main key
let main_key = crypto_kdf_keygen();
// Provide 8 bytes of context data, can be any data
let context = b"hello123";

// Derive 20 subkeys
for i in 0..20 {
    let mut key = Key::default();
    crypto_kdf_derive_from_key(&mut key, i, context, &main_key).expect("kdf failed");
    println!("Subkey {}: {}", i, encode(&key));
}

Functions

Derives subkey from main_key, using context and subkey_id such that subkey will always be the same for the given set of inputs, but main_key cannot be derived from subkey.

Generates a random key, suitable for use as a main key with crypto_kdf_derive_from_key.

Type Definitions

Context for key derivation.

Key type for the main key used for deriving subkeys.