#./fio-stl/159 lyra2.h
5 public symbols.
#Types
#fio_lyra2_args_s
c
typedef struct {
/** The password to hash. */
fio_buf_info_s password;
/** The salt for the hash. */
fio_buf_info_s salt;
/** Time cost (number of rounds, minimum 1). */
uint64_t t_cost;
/** Memory cost (number of rows in the matrix, minimum 3). */
uint64_t m_cost;
/** Desired output length in bytes (default 32 if 0). */
size_t outlen;
/** Number of columns (default 256 if 0). */
size_t n_cols;
} fio_lyra2_args_sLyra2 named arguments.
Symbol type: type
#Functions
#fio_lyra2
c
fio_u512 fio_lyra2(fio_lyra2_args_s args)Computes Lyra2 password hash.
Uses Blake2b as the underlying sponge/hash function. Matches the reference C implementation (nPARALLEL==1, SPONGE==0, RHO==1).
Output is written to the returned buffer (up to 512 bytes via fio_u512). For outlen > 64, use fio_lyra2_hash() instead.
Use fio_ct_is_eq to compare output hashes in constant time.
Symbol type: function
#fio_lyra2
c
#define fio_lyra2(...) fio_lyra2((fio_lyra2_args_s){__VA_ARGS__})Note: this may be a macro only / macro wrapper for a function.
Symbol type: macro
#fio_lyra2_hash
c
int fio_lyra2_hash(void *out, fio_lyra2_args_s args)Computes Lyra2 password hash into a caller-provided buffer. Supports arbitrary output lengths. Returns 0 on success, -1 on error.
Symbol type: function
#fio_lyra2_hash
c
#define fio_lyra2_hash(out, ...) \
fio_lyra2_hash(out, (fio_lyra2_args_s){__VA_ARGS__})Note: this may be a macro only / macro wrapper for a function.
Symbol type: macro