1234567891011121314151617181920 |
- int
- hydro_kdf_derive_from_key(uint8_t *subkey, size_t subkey_len, uint64_t subkey_id,
- const char ctx[hydro_kdf_CONTEXTBYTES],
- const uint8_t key[hydro_kdf_KEYBYTES])
- {
- hydro_hash_state st;
- COMPILER_ASSERT(hydro_kdf_CONTEXTBYTES >= hydro_hash_CONTEXTBYTES);
- COMPILER_ASSERT(hydro_kdf_KEYBYTES >= hydro_hash_KEYBYTES);
- if (hydro_hash_init_with_tweak(&st, ctx, subkey_id, key) != 0) {
- return -1;
- }
- return hydro_hash_final(&st, subkey, subkey_len);
- }
- void
- hydro_kdf_keygen(uint8_t key[hydro_kdf_KEYBYTES])
- {
- hydro_random_buf(key, hydro_kdf_KEYBYTES);
- }
|