aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/doc/src/crypto.xml
AgeCommit message (Collapse)Author
2016-09-28Document FIPS mode supportDániel Szoboszlay
2016-09-07Merge branch 'maint'Raimo Niskanen
2016-09-02Add '_cfb' alias for misspelled '_cbf' cipherRaimo Niskanen
2016-08-12Added a reference to cmac RFC in the description part of the man pagePetr Gotthard
2016-07-30crypto:cmac calculating the Cipher-based Message Authentication CodePetr Gotthard
The ERL-82 issue requests a way to calculate a CMAC in Erlang. The AES128 CMAC is standartized in RFC 4493 and used e.g. for message authentication in the LoRaWAN networks. The CMAC is implemented by OpenSSL since v1.0.1, but as @IngelaAndin stated in response to the ERL-82, the current crypto implementation does not include functions that call those OpenSSL cryptolib functions. This commit introduces a new function `crypto:cmac` that calls the corresponding OpenSSL functions and calculates the CMAC. Only the cmac_nif is implemented. The incremental functions (init, update, final) are not provided because the current OpenSSL does not allow custom memory allocators like `enif_alloc_resource`. The Erlang user guide states that at least OpenSSL 0.9.8 is required, so I added few #ifdefs so the code is compatible with all versions. However, the OpenSSL pages say that the pre-1.0.1 versions (0.9.8 and 1.0.0) are no longer maintained. Even the 1.0.1 will be retired by Dec 2016. Hence I believe that adding a 1.0.1-only function like CMAC should be OK.
2016-04-25crypto: Deprecate rand_bytes/1Ingela Anderton Andin
OpenSSL has deprecated the function RAND_pseudo_bytes used by crypto:rand_bytes/1, so this function is now deprecated in OTP too. rand_bytes/3 also used this function, but was not documented so we can remove it right away. This commit also removes the fallback in generate_key to use rand_bytes/1 if strong_rand_bytes/1 throws low entropy. This is a potential incompatibility but we think it is desirable as crypto should provide cryptographically secure functions.
2016-04-18Merge branch 'mururu/crypto/aes-gcm-tag-len.PR-998.OTP-13483'Sverker Eriksson
2016-03-26crypto: Enable AES-GCM tag length to changeYuki Ito
This commit enables AES-GCM encryption/decryption to change its tag length between 1 to 16 bytes.
2016-03-15update copyright-yearHenrik Nord
2015-12-11crypto: Support 192-bit keys for AES CBCSverker Eriksson
and deprecate aes_cbc128 and aes_cbc256 in favor of aes_cbc. This commit is pr 832 squashed, rebased and made work on master https://github.com/erlang/otp/pull/832/commits
2015-11-20Merge branch 'riverrun/maint' into maintZandra
* riverrun/maint: Recommend against using crypto:rand_bytes
2015-11-17[crypto] Correct documentationHans Bolinder
Fix mistakes found by 'xmllint'.
2015-11-06Recommend against using crypto:rand_bytesDavid Whitlock
2015-09-25Fix typos in crypto documentationMagnus Henoch
s/stong_rand_bytes/strong_rand_bytes/, s/bts/bits/
2015-06-18Change license text to APLv2Bruce Yinhe
2015-01-14Merge branch 'andreaTP/added-aes-ecb-to-crypto/OTP-12403'Marcus Arendt
* andreaTP/added-aes-ecb-to-crypto/OTP-12403: aligned implementation following last specs finally fixed docs fixed incorrect tag proposal of documentation fixes and tests add aes ecb to crypto library
2015-01-09aligned implementation following last specsandreaP
2015-01-09finally fixed docsandreaP
2015-01-09fixed incorrect tagandreaP
2015-01-09proposal of documentationandreaP
2014-11-17[crypto] enhance generate_key for ECC keysAndreas Schultz
enhance generate_key to calculate ECC public keys from private keys
2014-09-29Merge branch 'maint'Bruce Yinhe
2014-09-23Fix a typo in crypto docBruce Yinhe
Thanks to @ino_murko from Twitter
2014-09-03crypto: add support for ChaCha20/Policy1305 AEAD cipherAndreas Schultz
2014-09-03crypto: add AES128-GCM cipher supportAndreas Schultz
2014-04-29Add AES-CBF8 cypher to crypto moduleBernard Duggan
This adds the aes_cfb8 cypher type (and associated tests and documentation) to the crypto module.
2014-02-24Merge branch 'lukas/ose/master/OTP-11334'Lukas Larsson
* lukas/ose/master/OTP-11334: (71 commits) erts: Fix unix efile assert ose: Use -O2 when building ose: Expand OSE docs ose: Add dummy ttsl driver ose: Cleanup cleanup of mutex selection defines ose: Polish mmap configure checks ose: Add ose specific x-compile flags ose: Updating fd_driver and spawn_driver for OSE ose: Updating event and signal API for OSE ose: Cleanup of mutex selection defines win32: Compile erl_log.exe ose: Remove uneccesary define ose: Fix ssl configure test for osx erts: Fix sys_msg_dispatcher assert ose: Fix broken doc links ose: Thread priorities configurable from lmconf ose: Yielding the cpu is done "the OSE" way ose: Start using ppdata for tse key ose: Do not use spinlocks on OSE ose: Fix support for crypto ... Conflicts: lib/crypto/c_src/crypto.c
2014-02-24crypto: Add rand_seed functionLukas Larsson
This function is needed on OSs that do not automatically initialize the PRNG seed.
2014-02-12crypto: Fix bug when using old hmac contextSverker Eriksson
Symptom: Using an old context (that had already been passed as argument to either hmac_upgrade or hmac_final) could cause VM crash or worse. Reason: Only a shallow copy (memcpy) of the context was made causing a new context to partly mutate its parent context into an inconsistent state. Problem: Only OpenSSL v1.0 supports deep copy of hmac context. It is thus not possible to implement a functional interface for older OpenSSL versions (0.9.8) which still have wide spread use. Solution: Change hmac contexts into a mutable state using NIF resources. Document reuse of old contexts as undefined. Future: If a need for reusing old context variables arise, a new hmac_copy function could be introduced that is only supported for OpenSSL v1.0.
2014-01-24Merge branch 'andrewtj/atj-crypto-chiphertext-typo'Henrik Nord
* andrewtj/atj-crypto-chiphertext-typo: crypto: Fix 'ChipherText' typo in doc OTP-11609
2014-01-13crypto: selective support for GF2m curvesAndreas Schultz
Newer OpenSSL versions allow to selectively disable GF2m elliptic curves. Selectively enable GF2m curves is support for them is available.
2014-01-13crypto: document ec_curves/0 and ec_curve/1Andreas Schultz
2013-11-27crypto: Throw notsup for AES IGE if openssl older than 0.9.8cSverker Eriksson
2013-11-16crypto: Fix 'ChipherText' typo in docAndrew Tunnell-Jones
2013-09-30crypto: Add IGE mode for AESYura Beznos
2013-06-10Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
2013-06-07crypto & public_key: Clearify documentation.Ingela Anderton Andin
2013-06-04Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
2013-06-03crypto: Document enhancementIngela Anderton Andin
2013-05-28Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
Conflicts: bootstrap/lib/stdlib/ebin/beam_lib.beam lib/public_key/test/erl_make_certs.erl
2013-05-24crypto, public_key & ssl: Make more functions accept integer keysSverker Eriksson
2013-05-22crypto,ssh, netconf, inets: binary_to_integer -> bytes_to_integerIngela Anderton Andin
2013-05-20crypto: Documentation fixes from reviewIngela Anderton Andin
Conflicts: lib/crypto/doc/src/crypto.xml Conflicts: lib/crypto/doc/src/crypto.xml
2013-05-20ssl, public_key, crypto: crypto:algorithms/0 -> crypto:supports/0Ingela Anderton Andin
2013-05-20ssh & crypto: Remove use of deprecated crypto functions from sshIngela Anderton Andin
2013-05-08Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
Conflicts: lib/crypto/doc/src/crypto_app.xml
2013-05-08ssl & crypto: Generalize the remaining crypto APIIngela Anderton Andin
2013-05-08crypto: New API for ciphersIngela Anderton Andin
2013-05-08crypto: Deprecate functions, update doc and specsIngela Anderton Andin
2013-05-08CRYPTO: add support for Elliptic Curves to crypto appAndreas Schultz
Conflicts: lib/crypto/src/crypto.erl