summaryrefslogtreecommitdiff
path: root/lib/crypto/c_src/cipher.c
Commit message (Collapse)AuthorAgeFilesLines
* crypto: Fix AES and Blowfish names for OpenSSL 3.0Dmitri Vereshchagin2022-08-031-11/+11
| | | | | Before this change AES in 128 bit CFB mode and Blowfish in CFB/OFB modes are always reported as unsupported when linked with OpenSSL 3.0.
* Update copyright yearErlang/OTP2022-05-171-1/+1
|
* Add OFB mode support for AESausimian2022-04-071-0/+4
| | | | | Add Output Feedback mode support for AES encryption / decryption for key sizes of 128, 192 and 256 bits.
* crypto: Introduce new macro for readability in cipher defsHans Nilsson2022-01-241-7/+8
|
* crypto: CIPHER - decide if in crypto:supported at loadtime of libHans Nilsson2022-01-241-63/+81
|
* crypto: Introduce the symbol HAS_3_0_APIHans Nilsson2022-01-241-2/+2
|
* Update copyright yearRickard Green2021-12-131-1/+1
|
* crypto: Cipher aliases could be present even if the aliased cipher was missingHans Nilsson2021-11-111-13/+0
|
* crypto: Update the EVP_CIPHER_CTX_* usageHans Nilsson2021-10-181-2/+10
| | | | | | | to better fit OpenSSL 3.0: - use new EVP_CIPHER_CTX_ctrl for .ccm and .gcm - remove EVP_CIPHER_CTX_copy if OpenSSL 3.0 cryptolib
* crypto: Disable RC4 if OpenSSL 3.0 cryptolibHans Nilsson2021-10-181-1/+1
|
* crypto: Slightly change the 3-DES symbol handlingHans Nilsson2021-10-181-12/+18
|
* crypto: Extend badarg macros with argument number parameterHans Nilsson2021-10-061-3/+6
|
* crypto: EVP_CIPH_FLAG_AEAD_CIPHER is not always definedHans Nilsson2021-04-151-0/+4
|
* Rename aead attr to prop_aeadBryan Paxton2021-04-071-1/+3
|
* Add aead attribute to map from crypto:cipher_info/1Bryan Paxton2021-03-281-0/+1
| | | | | - changes map returned by cipher_info/1 nif to include an aead attribute which indictates whether the cipher is AEAD or not
* crypto: Add aes_ctr etc aliases to the New APIHans Nilsson2020-12-161-0/+13
| | | | | | | they (aes_ctr, aes_cbc, aes_cfb8, aes_cfb128, aes_gcm and aes_ccm) were in the Old API, but never in the New API. It turned out, that it was difficult in some places to change i.e block_encrypt(aes_ctr,...) into cipher_one_time(aes_X_ctr,...) due to program structures. So therefor those aliases are introduced.
* crypto: Remove aes_ige_crypt_nif/4 and aes_ige256Hans Nilsson2020-12-101-7/+1
| | | | | aes_*_ige256 is not supported by the OpenSSL EVP API. The low-level functions were never documented.
* crypto: Fix CodeChecker 'Medium severity' warningsHans Nilsson2020-11-261-40/+42
|
* Update copyright yearRickard Green2020-03-131-1/+1
|
* crypto: Make aes_*_cfb8 and aes_*_cfb128 FIPS enabledHans Nilsson2019-10-021-6/+6
|
* crypto: Rename cipher fips macroHans Nilsson2019-06-191-2/+2
| | | | FORBIDDEN_IN_FIPS -> CIPHER_FORBIDDEN_IN_FIPS
* crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1Hans Nilsson2019-05-221-0/+1
| | | | | It was accidently disabled in the crypto:supports/0 and /1. It worked however in the encrypt/decrypt functions.
* crypto: New function supports/1Hans Nilsson2019-04-171-37/+9
| | | | 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.
* crypto: Obey compile flags for no DSA, BF, DES, DHHans Nilsson2019-04-101-3/+10
|
* crypto: Misc C-changes,Hans Nilsson2019-04-051-20/+20
| | | | error fixes, better error reporting (file and line), make aead more robust and like the _ng api.
* Merge pull request #2186 from essen/improve-cipher-infoHans Nilsson2019-03-221-0/+36
|\ | | | | | | | | Make crypto:cipher_info work for all ciphers and aliases OTP-15655
| * Add missing cipher modes to crypto:cipher_info/1 resultLoïc Hoguin2019-03-191-0/+36
| |
* | crypto: Handle additional OPENSSL_NO_* flagsHans Nilsson2019-03-211-2/+2
| | | | | | | | | | | | | | | | | | | | OPENSSL_NO_MD4 OPENSSL_NO_MD5 OPENSSL_NO_RC2 OPENSSL_NO_RC4 OPENSSL_NO_RMD160 OPENSSL_NO_CMAC OPENSSL_NO_CHACHA
* | crypto: Implement crypto one-shotHans Nilsson2019-03-191-1/+8
|/ | | | Also: Compatibility functions for aes_ctr in historic crypto libs
* Add crypto:cipher_info/1 and crypto:hash_info/1Loïc Hoguin2019-03-061-0/+93
| | | | | Also adds some more aliases that contain the key length in their name.
* crypto: New experimental apiHans Nilsson2019-02-251-45/+149
| | | | | | | | | | | | | | | | | | | 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.
* crypto: Fix compilation < 1.0.0Hans Nilsson2019-02-041-0/+2
|
* Explicitly initialize all of the fields in cipher_typesDoug Hogan2019-01-081-16/+16
|
* Revamp init_cipher_ctx()Doug Hogan2019-01-081-4/+6
|
* Revamp evp_cipher_ctx_dtor()Doug Hogan2019-01-071-1/+5
| | | | Make it NULL safe.
* Make cipher ctx init internal to cipher.c per PR feedbackDoug Hogan2018-12-211-1/+16
|
* Add Ericsson AB copyright header to all new filesDoug Hogan2018-12-201-0/+20
| | | | Using the same copyright header as crypto.c
* Move cipher utility functions to a new fileDoug Hogan2018-12-201-0/+82