aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/src
AgeCommit message (Collapse)Author
2013-05-08crypto, public_key & ssl: Change API to hide resource format for EC KEYSverker Eriksson
2013-05-08crypto: Allow integer keys for rsa_private/public_en/decryptSverker Eriksson
as well as mpint's for backward compatibility.
2013-05-08crypto: Introduce generic sign() and verify() functionsSverker Eriksson
for rsa, dss, and new ecdsa. No mpint's accepted.
2013-05-08crypto: Replaced all mpint's with normal binariesSverker Eriksson
2013-05-08CRYPTO: add support for Elliptic Curves to crypto appAndreas Schultz
Conflicts: lib/crypto/src/crypto.erl
2013-04-03crypto: New SRP APIIngela Anderton Andin
Adjust API to better fit in with similar funtions in crypto
2013-04-03CRYPTO: add algorithms/0 function that returns a list off compiled in crypto ↵Andreas Schultz
algorithms add algorithms/0 function that returns a list off compiled in crypto algorithms and make tests suites with SHA226, SHA256, SHA384 and SHA512 conditional based on that
2013-03-28CRYPTO: add support for RFC-2945 SRP-3 and RFC-5054 SRP-6a authenticationAndreas Schultz
2013-03-28crypto: Refactor mod_exp_nifSverker Eriksson
As a preparation for the new mod_exp_prime and in the quest to reduce to use of the old mpint format.
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-23Turn warnings to errors on selected applicationsBjörn Gustavsson
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2013-01-14Merge branch 'sverk/crypto-hmac-enhancements/OTP-10640'Fredrik Gustafsson
* sverk/crypto-hmac-enhancements/OTP-10640: crypto: Add RFC-4231 test vectors for output truncation crypto: Add test cases for the generic hmac interface in the RFC-4231 tests crypto: Add RFC-2202 test vectors for HMAC-MD5 and HMAC-SHA1 crypto: Provide a generic interface for HMAC generation crypto: Document all types currently available for hmac_init
2012-12-21fix ripemd160 to use hash_init family and add documentationMichael Loftis
this patch removes the exports for ripemd160 from the previous patches and incorporates those functions into the hash_init family. documentation is also added.
2012-12-18add ripemd160 support to cryptoMichael Loftis
add ripemd160 message digest support to the crypto app, includes some test cases.
2012-12-12crypto: Provide a generic interface for HMAC generationDaniel White
2012-12-04crypto: Make crypto:info() up to dateSverker Eriksson
Also added test code to check the consistency of crypto:info().
2012-12-04crypto: Throw notsup for DES3 CFB encryption for old opensslSverker Eriksson
An attempt to enable the use of openssl 0.9.7
2012-10-09crypto: Make unloading of crypto saferSverker Eriksson
Facts: crypto nif-lib registers callback functions that openssl uses for memory management and thread synchronization. The callback functions can only be set once, openssl does not allow changing the callback functions. Problem: If openssl is dynamicly linked to crypto, you might get s scenario where the crypto lib is unloaded while leaving openssl loaded with its old pointers to the unloaded crypto code intact. If crypto is then reloaded (by init:restart() for example), the crypto nif-lib might get relocated at a different address. crypto calls openssl which in turn calls the old invalid callback functions...kaboom. Solution: Break apart the callback functions into a separate dynamic lib that crypto loads with dlopen. When crypto is unloaded the callback lib is left in place to be reused if/when crypto is loaded again.
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-22crypto: Add sha224 for rsa sign/verifySverker Eriksson
2012-08-22crypto: Add more generic hash interfaceSverker Eriksson
2012-08-22crypto: Add sha224Sverker Eriksson
2012-08-22crypto: Add sha384Sverker Eriksson
2012-08-22crypto: Cleanup code for sha256 and sha512Sverker Eriksson
2012-08-22crypto: Add SHA256 and SHA512 based MACsAndreas Schultz
2012-08-22crypto: Redo interface for rsa and dss hash signingSverker Eriksson
Replace _hash functions with {digest,_} argument to existing sign/verify functions.
2012-08-22crypto: Add rsa and dss hash signing supportAndreas Schultz
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2011-11-30crypto: Add sha{256,384,512} to rsa_verifySverker Eriksson
2011-11-30crypto: Add sha256 and sha512Sverker Eriksson
No test and doc
2011-11-01Additions to crypto and public_key needed for full PKCS-8 supportIngela Anderton Andin
2011-10-18Merge branch 'pg/des-cfb-functions'Sverker Eriksson
* pg/des-cfb-functions: [crypto] Remove swedish characters from test code [crypto] Add DES and Triple DES cipher feedback (CFB) mode functions OTP-9640
2011-10-18[crypto] Add DES and Triple DES cipher feedback (CFB) mode functionsPaul Guyot
2011-09-21Revert "Support 'md2' hash in crypto:rsa_sign/3 and crypto:rsa_verify/4"Sverker Eriksson
This reverts commit 82897cc8f399fab832148711b586215c9a3f7af1.
2011-09-20Merge branch 'cr/md2-With-RSA-Encryption' into devHenrik Nord
* cr/md2-With-RSA-Encryption: Document crypto:sha_mac_96/2 to compute an SHA MAC, not MD5 Support md2WithRSAEncryption certificates in public_key Support 'md2' hash in crypto:rsa_sign/3 and crypto:rsa_verify/4 OTP-9554
2011-09-07[crypto] Fix rand_uniform for negative valuesSverker Eriksson
Also let it throw badarg if 'Hi' is not larger than 'Lo'.
2011-09-06Support 'md2' hash in crypto:rsa_sign/3 and crypto:rsa_verify/4Christian von Roques
2011-05-18Add true streaming AES (CTR) encryption and streaming HMAC operationsTravis Jensen
The current crypto module implementations require all of the data being encrypted or authenticated to be in memory at one time. When trying to encrypt or authenticate a large file (on order of GBs), this is problematic. The implementation of AES CTR uses the same underlying implementation as aes_ctr_[en|de]crypt, but hands the state back to the client after every operation. The HMAC implementation differs from the previous implementations of sha_mac and md5_mac. The old implementations did not utilize the OpenSSL HMAC implementation. In order to ensure that I didn't implement something incorrectly, I chose to use the OpenSSL HMAC implementation directly, since it handles streaming as well. This has the added side benefit of allowing other hash functions to be used as desired (for instances, I added support for ripemd160 hashing). While I haven't done this, it seems like the existing md5_mac and sha_mac functions could either be depricated or redefined in terms of the new hmac_ functions. Update AES CTR and HMAC streaming with code review input Ensure that memcpy operations in hmac operations are being size checked properly. Rename aes_ctr_XXX_with_state to aes_ctr_stream_XXX. Remove redundant hmac_init_[sha|md5|ripemd160] functions. Fix documentation for hmac_final_n. Fix possible error using negative value as a marker on an unsigned int Now, use a separate marker and add a unit test to test specifically for a case where HashLen is larger than the underlying resultant hash. Revert "Fix possible error using negative value as a marker on an unsigned int" This reverts commit 59cb177aa96444c0fd3ace6d01f7b8a70dd69cc9. Resolve buffer overflow posibility on an unsigned int. Change handling the marker for HashLen to use the fact that a second parameter that has to be the the HashLen was passed. Also, ensure that HashLen parameter is positive.
2011-04-19Renamed the function strong_rand_uniform to strong_rand_mpint.Niclas Eklund
Added some checks in crypto.erl and crypto.c. Changed ssh_bits to use strong_rand_mpint.
2011-04-18Fixed SSH appup, copyright headers SSH vsn and SSH release note.Niclas Eklund
2011-04-15Adds NIFs for cryptographically strong random number generation.Niclas Eklund
Also adds documentation and unit tests. Thanks to Geoff Cant.
2010-11-17crypto CTR supportSverker Eriksson
2010-09-02Build opt, debug and valgrind libraries as separate librariesRickard Green
The NIF library for crypto can now be built for valgrind and/or debug as separate NIF libraries that will be automatically loaded if the runtime system has been built with a matching build type.
2010-07-08Fix type spec error in cryptoSverker Eriksson
Changed return types from "binary" to "binary()" for md5_mac, md5_mac_96, sha_mac and sha_mac_96.
2010-06-09OTP-8700 crypto:dss_sign and dss_verify with pre-hashed digest.Sverker Eriksson
New variants of crypto:dss_sign and crypto:dss_verify with an extra argument to control how the digest is calculated.
2010-05-31crypto: Add type specs for all documented functionsBjörn Gustavsson
2010-05-31crypto: Use erlang:nif_error/1 to squelch false Dialyzer warningsBjörn Gustavsson
2010-04-28OTP-8333 Crypto using NIF'sSverker Eriksson
crypto application changed to use NIFs instead of driver.