diff options
author | Hans Svensson <[email protected]> | 2019-02-04 10:47:25 +0100 |
---|---|---|
committer | Hans Svensson <[email protected]> | 2019-02-04 12:03:56 +0100 |
commit | c106a56a415bcef201bca8c1f1454ab6fe9bdb46 (patch) | |
tree | a05d8edd3caca82a7c92d92dd404919519b157af /lib/crypto/c_src/atoms.c | |
parent | 4bdbb313f621d54038a9c17c6d9895650d539eab (diff) | |
download | otp-c106a56a415bcef201bca8c1f1454ab6fe9bdb46.tar.gz otp-c106a56a415bcef201bca8c1f1454ab6fe9bdb46.tar.bz2 otp-c106a56a415bcef201bca8c1f1454ab6fe9bdb46.zip |
Add hash function BLAKE2 to crypto:hash/hmac
Adds two hash functions blake2b and blake2s (64 bit hash and 32 bit hash
respectively). These are modern and standard hash functions used in
blockchains and encrypted communication protocols (e.g. Noise -
http://www.noiseprotocol.org/). The hash functions are available in
OpenSSL since version 1.1.1.
Also add test cases and mention in documentation.
Diffstat (limited to 'lib/crypto/c_src/atoms.c')
-rw-r--r-- | lib/crypto/c_src/atoms.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/crypto/c_src/atoms.c b/lib/crypto/c_src/atoms.c index 3a028b9a67..5f19327197 100644 --- a/lib/crypto/c_src/atoms.c +++ b/lib/crypto/c_src/atoms.c @@ -110,6 +110,11 @@ ERL_NIF_TERM atom_sha3_512; ERL_NIF_TERM atom_md5; ERL_NIF_TERM atom_ripemd160; +#ifdef HAVE_BLAKE2 +ERL_NIF_TERM atom_blake2b; +ERL_NIF_TERM atom_blake2s; +#endif + #ifdef HAS_ENGINE_SUPPORT ERL_NIF_TERM atom_bad_engine_method; ERL_NIF_TERM atom_bad_engine_id; @@ -239,6 +244,10 @@ int init_atoms(ErlNifEnv *env, const ERL_NIF_TERM fips_mode, const ERL_NIF_TERM atom_sha3_512 = enif_make_atom(env,"sha3_512"); atom_md5 = enif_make_atom(env,"md5"); atom_ripemd160 = enif_make_atom(env,"ripemd160"); +#ifdef HAVE_BLAKE2 + atom_blake2b = enif_make_atom(env,"blake2b"); + atom_blake2s = enif_make_atom(env,"blake2s"); +#endif #ifdef HAS_ENGINE_SUPPORT atom_bad_engine_method = enif_make_atom(env,"bad_engine_method"); |