aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src/algorithms.c
AgeCommit message (Collapse)Author
2019-06-14crypto: MAC nif unifying HMAC, CMAC and POLY1305Hans Nilsson
into one nif using the EVP_DigestSign interface. This enables acceleration if available in lower layers, that is, in cryptolib and lower. However, for older cryptolibs the old HMAC and CMAC low-level interfaces are used, but moved from hmac.c and cmac.c into mac.c.
2019-04-17crypto: New function supports/1Hans Nilsson
Takes argument hashs, public_keys, ciphers, macs, curves or rsa_opts. Returns the algorithm names, but ONLY the openssl names. supports/0 still returns aliases and misspellings.
2019-04-10crypto: Obey compile flags for no DSA, BF, DES, DHHans Nilsson
2019-03-21crypto: Handle additional OPENSSL_NO_* flagsHans Nilsson
OPENSSL_NO_MD4 OPENSSL_NO_MD5 OPENSSL_NO_RC2 OPENSSL_NO_RC4 OPENSSL_NO_RMD160 OPENSSL_NO_CMAC OPENSSL_NO_CHACHA
2019-02-25crypto: New experimental apiHans Nilsson
The new files api_ng.h and api_ng.c implements an api using EVP. The api is not by any mean new, except for the crypto application in Erlang/OTP. The aims at using the block api in a stream manor, that is 1) call crypto_init/4 2..N) call crypto_update/{2,3} The purpose is to simplify and hopefully optimize the SSL and SSH applications. By keeping the crypto state in C in an enif_resource the costful state copying in SSL and SSH is reduced with 1-2 per message sent or received. Changes in other files are for adaptation like FIPS etc since many functions uses the central get_cipher_type() function.
2019-02-04Add hash function BLAKE2 to crypto:hash/hmacHans Svensson
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.
2019-01-08Revamp algorithms()Doug Hogan
* Switch from signed to unsigned int since the Erlang call uses unsigned anyway.
2018-12-20Add Ericsson AB copyright header to all new filesDoug Hogan
Using the same copyright header as crypto.c
2018-12-20Move algorithms to a new fileDoug Hogan
crypto.c is now only responsible for declaring NIFs and setup/tear down.