aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src
AgeCommit message (Collapse)Author
2019-06-14crypto: Enable MAC key length checking in mac-tableHans Nilsson
2019-06-14crypto: Move mac compatibility functions to hmac.c and cmac.cHans Nilsson
The ultimate goal is to get rid of compatibility with old cryptolib versions so we could remove those compatibility files permanently.
2019-06-14crypto: Use dirty schedulers for mac_updateHans Nilsson
2019-06-14crypto: Implement NIFs for the new mac_init, mac_update and mac_finalHans Nilsson
Use them for old HMAC functions. Also simplify hmac and cmac on the Erlang level
2019-06-14crypto: Use new mac_nif for hmac, cmac and poly1305Hans Nilsson
2019-06-14crypto: Refactor for readabilityHans Nilsson
2019-06-14crypto: Use dirty schedulers for the new mac_nif if large dataHans Nilsson
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-06-14crypto: Remove warnings when linking with LibreSSLHans Nilsson
got warning for unused function.
2019-05-22crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1Hans Nilsson
It was accidently disabled in the crypto:supports/0 and /1. It worked however in the encrypt/decrypt functions.
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-04-10crypto: Remove compiler warning on an fprintf in the otp test engineHans Nilsson
The otp_test_engine is only used in some of the test cases.
2019-04-10crypto: Fix valgrind error in api_ng.c ng_crypto_one_time for OpenSSL<1.0.1Hans Nilsson
2019-04-05Merge branch 'sverker/crypto/bcmp-memcmp-fix/OTP-15750'Sverker Eriksson
into sverker/master/crypto/bcmp-memcmp-fix/OTP-15750
2019-04-05crypto: Fix link error on windowsSverker Eriksson
Replace deprecated 'bcmp' with 'memcmp'.
2019-04-05crypto: Fix valgrind error for api_ng.cHans Nilsson
2019-04-05crypto: Misc C-changes,Hans Nilsson
error fixes, better error reporting (file and line), make aead more robust and like the _ng api.
2019-03-22crypto: New error schema in aead.cHans Nilsson
2019-03-22crypto: Move new error macros to common.hHans Nilsson
2019-03-22Merge pull request #2186 from essen/improve-cipher-infoHans Nilsson
Make crypto:cipher_info work for all ciphers and aliases OTP-15655
2019-03-21crypto: Fixup unused label warningHans Nilsson
2019-03-21crypto: Fixup 'break strict-aliasing rules' warningHans Nilsson
2019-03-21crypto: Fixup 'break strict-aliasing rules' warningHans Nilsson
2019-03-21crypto: Fixup the ripemd160 macro chaosHans 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-03-19Add missing cipher modes to crypto:cipher_info/1 resultLoïc Hoguin
2019-03-19crypto: Wrong ifdef symbol used for ENGINEHans Nilsson
2019-03-19crypto: Handle EVP_CIPHER_CTX copying correctlyHans Nilsson
2019-03-19crypto: Fix bug in ng_apiHans Nilsson
2019-03-19crypto: Better error descriptionsHans Nilsson
2019-03-19crypto: Fix bug for older cryptolibHans Nilsson
2019-03-19crypto: Fix leak for eddsa detected by ValgrindHans Nilsson
2019-03-19crypto: New function for SSL appHans Nilsson
2019-03-19crypto: Exceptions as error return in api_ngHans Nilsson
2019-03-19crypto: Cleaning of comments + spec fixingHans Nilsson
2019-03-19crypto: Shrink aes.c,h (remove aes_ctr_stream_* funcs)Hans Nilsson
2019-03-19crypto: Remove chacha20.c,h and rc4.c,hHans Nilsson
Replaced by api_ng.c
2019-03-19crypto: Use/implement new funcs for stream-apiHans Nilsson
2019-03-19crypto: Remove block.c and block.hHans Nilsson
Replaced by api_ng.c
2019-03-19crypto: Fix syntax error in ASSERTHans Nilsson
2019-03-19crypto: Implement crypto one-shotHans Nilsson
Also: Compatibility functions for aes_ctr in historic crypto libs
2019-03-19crypto: Remove condition of block sizeHans Nilsson
Unnecessary, because the underlying crypto libraries handles this case. Also: - Relax the condition of binary Key and IV -Fix bug for empty data on historic cryptolibs because tests fails for empty data on at least aes_cfb8 on OpenSSL 0.9.8h. It does not fail on OpenSSL 0.9.8zh.
2019-03-18Merge branch 'hans/crypto/fix_chacha20_bug/OTP-15678'Hans Nilsson
* hans/crypto/fix_chacha20_bug/OTP-15678: crypto: Disable chacha20 if OpenSSL 1.1.0-1.1.0c
2019-03-15crypto: Disable chacha20 if OpenSSL 1.1.0-1.1.0cHans Nilsson
due to a bug. The cipher first appeared in 1.1.0
2019-03-15crypto: Fix bug in error return for crypto:poly1305/2Hans Nilsson
Returned the atom notsup instead of the exception notsup.
2019-03-06Add crypto:cipher_info/1 and crypto:hash_info/1Loïc Hoguin
Also adds some more aliases that contain the key length in their name.
2019-02-27crypto: Fix FIPS modeHans Nilsson
There were some bad values returned if FIPS mode was enabled. The exclusion of algorithms were not completly correct either.
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-06crypto: Disable blake2 in LibreSSL (not supported)Hans Nilsson