Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | diffie-hellman: Explicitly initialize DH exponent sizes during initialization | Martin Willi | 2014-08-25 | 2 | -8/+36 |
| | | | | | | | | To avoid any race conditions when multiple threads call and initialize diffie_hellman_get_params(), explicitly examine the optimum DH exponent size during library initialization. Fixes #655. | ||||
* | crypto-factory: Only sort RNGs by algorithm identifier | Tobias Brunner | 2014-06-20 | 1 | -5/+13 |
| | | | | | Others remain in the order in which they were added, grouped by algorithm identifier and sorted by benchmarking speed, if provided. | ||||
* | windows: Check for clock_gettime() function itself as well | Martin Willi | 2014-06-04 | 1 | -1/+1 |
| | | | | | CLOCK_THREAD_CPUTIME_ID seems to be defined sometimes even if clock_gettime() is missing. | ||||
* | windows: Add a common Windows header for platform specific wrappers | Martin Willi | 2014-06-03 | 1 | -2/+4 |
| | | | | | Include some more basic system headers in utils.h, so we can use that common header on the different platforms. | ||||
* | enum: Don't directly include enum.h | Martin Willi | 2014-05-16 | 1 | -1/+1 |
| | | | | | To allow enum.h to depend on utils.h definitions, avoid its direct inclusion. Instead include utils.h, which includes enum.h as well. | ||||
* | aead: Support custom AEAD salt sizes | Martin Willi | 2014-03-31 | 5 | -13/+32 |
| | | | | | | | | | The salt, or often called implicit nonce, varies between AEAD algorithms and their use in protocols. For IKE and ESP, GCM uses 4 bytes, while CCM uses 3 bytes. With TLS, however, AEAD mode uses 4 bytes for both GCM and CCM. Our GCM backends currently support 4 bytes and CCM 3 bytes only. This is fine until we go for CCM mode support in TLS, which requires 4 byte nonces. | ||||
* | crypto-tester: Don't fail if key size is not supported | Tobias Brunner | 2014-03-20 | 1 | -6/+3 |
| | | | | | | | | The Blowfish and Twofish implementations provided by the gcrypt plugin only support specific key lengths, which we don't know when testing against vectors (either during unit tests or during algorithm registration). The on_create test with a specific key length will be skipped anyway, so there is no point in treating this failure differently. | ||||
* | unit-tests: Actually verify registered algorithms against test vectors | Tobias Brunner | 2014-03-20 | 1 | -1/+38 |
| | | | | | | | | Previously, the {ns}.crypto_test.on_add option had to be enabled to actually test the algorithms, which we can't enforce for the tests in the test_runner as the option is already read when the crypto factory is initialized. Even so, we wouldn't want to do this for every unit test, which would be the result of enabling that option. | ||||
* | lib: All settings use configured namespace | Tobias Brunner | 2014-02-12 | 3 | -8/+8 |
| | |||||
* | proposal: Add possibility to register custom proposal keyword parser | Thomas Egerer | 2014-01-20 | 2 | -2/+66 |
| | | | | | | | | | If a proposal string cannot be matched to a token using strcmp (e.g. if you want to register a whole class of algorithms containing their ID, like my_alg_2342), you can use the provided function to register a parser that transforms the given string into a proposal token. Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com> | ||||
* | Prototype implementation of IKE key exchange via NTRU encryption | Andreas Steffen | 2013-11-27 | 3 | -3/+17 |
| | |||||
* | ecc: Added ECC Brainpool ECDH groups as registered with IANA | Andreas Steffen | 2013-10-17 | 3 | -3/+20 |
| | |||||
* | Revert refactoring which broke CentOS build | Andreas Steffen | 2013-10-13 | 1 | -1/+1 |
| | |||||
* | iv_gen: Mask sequential IVs with a random salt | Tobias Brunner | 2013-10-11 | 1 | -0/+24 |
| | | | | | This makes it harder to attack a HA setup, even if the sequence numbers were not fully in sync. | ||||
* | iv_gen: Provide external sequence number (IKE, ESP) | Tobias Brunner | 2013-10-11 | 3 | -17/+10 |
| | | | | This prevents duplicate sequential IVs in case of a HA failover. | ||||
* | iv_gen: aead_t implementations provide an IV generator | Tobias Brunner | 2013-10-11 | 2 | -1/+30 |
| | |||||
* | iv_gen: Add IV generator that allocates IVs sequentially | Tobias Brunner | 2013-10-11 | 2 | -0/+119 |
| | |||||
* | iv_gen: Add IV generator that allocates IVs randomly | Tobias Brunner | 2013-10-11 | 2 | -0/+111 |
| | | | | Uses RNG_WEAK as the code currently does elsewhere to allocate IVs. | ||||
* | crypto: Add generic interface for IV generators | Tobias Brunner | 2013-10-11 | 1 | -0/+59 |
| | |||||
* | apidoc: Move mac_prf to prf Doxygen group | Tobias Brunner | 2013-10-11 | 1 | -1/+1 |
| | |||||
* | crypto-factory: Try next available RNG implementation if constructor fails | Tobias Brunner | 2013-10-11 | 1 | -13/+6 |
| | |||||
* | crypto-factory: Order entries by algorithm identifier and (optionally) speed | Tobias Brunner | 2013-10-11 | 1 | -22/+18 |
| | |||||
* | Remove HASH_PREFERRED, usages are replaced with HASH_SHA1, which is required ↵ | Tobias Brunner | 2013-10-11 | 4 | -18/+10 |
| | | | | for IKEv2 anyway | ||||
* | pkcs5: Add missing break statements when checking crypto primitives | Tobias Brunner | 2013-07-24 | 1 | -0/+2 |
| | |||||
* | Fix various API doc issues and typos | Tobias Brunner | 2013-07-18 | 1 | -2/+2 |
| | | | | Partially based on an old patch by Adrian-Ken Rueegsegger. | ||||
* | crypto-factory: count the number of test vector failures during registration | Martin Willi | 2013-06-21 | 2 | -30/+73 |
| | |||||
* | Added missing string for full-length HMAC-SHA512 signer | Tobias Brunner | 2013-06-10 | 1 | -0/+1 |
| | |||||
* | Add support for untruncated HMAC-SHA-512 | Tobias Brunner | 2013-05-08 | 2 | -1/+9 |
| | |||||
* | Also support 128-bit RC2 | Tobias Brunner | 2013-05-08 | 1 | -1/+2 |
| | |||||
* | Function added to convert a hash algorithm to an HMAC integrity algorithm | Tobias Brunner | 2013-05-08 | 2 | -0/+77 |
| | |||||
* | Support the PKCS#5/PKCS#12 encryption scheme used by OpenSSL for private keys | Tobias Brunner | 2013-05-08 | 1 | -0/+6 |
| | |||||
* | Move PKCS#12 key derivation to a separate file | Tobias Brunner | 2013-05-08 | 1 | -145/+11 |
| | |||||
* | PKCS#5 wrapper can decrypt PKCS#12-like schemes | Tobias Brunner | 2013-05-08 | 1 | -3/+171 |
| | |||||
* | Fix cleanup in crypto_tester if a crypter fails | Tobias Brunner | 2013-05-08 | 1 | -1/+4 |
| | |||||
* | Add implementation of the RC2 block cipher (RFC 2268) | Tobias Brunner | 2013-05-08 | 2 | -4/+16 |
| | |||||
* | Extract function to convert ASN.1 INTEGER object to u_int64_t | Tobias Brunner | 2013-05-08 | 1 | -23/+3 |
| | |||||
* | Extract PKCS#5 handling from pkcs8 plugin to separate helper class | Tobias Brunner | 2013-05-08 | 2 | -0/+691 |
| | |||||
* | Fix cleanup in crypto_tester if AEAD implementation fails | Tobias Brunner | 2013-02-28 | 1 | -1/+4 |
| | |||||
* | Fixed some typos, courtesy of codespell | Tobias Brunner | 2012-12-20 | 1 | -2/+2 |
| | |||||
* | Move PKCS#9 attribute lists to pkcs7 plugin, as we currently use it there only | Martin Willi | 2012-12-19 | 2 | -349/+0 |
| | |||||
* | Remove unused monolithic PKCS#7 code | Martin Willi | 2012-12-19 | 2 | -1238/+0 |
| | |||||
* | Rebuild PKCS#9 encoding after adding new attributes | Martin Willi | 2012-12-19 | 1 | -0/+3 |
| | |||||
* | Don't store additional encoding for each PKCS#9 attribute | Martin Willi | 2012-12-19 | 1 | -13/+15 |
| | |||||
* | Unify PKCS#9 set_attribute* methods to a single add_attribute | Martin Willi | 2012-12-19 | 3 | -56/+11 |
| | | | | | This way the PKCS#9 implementation does not have to know the encoding types for values | ||||
* | PKCS#9 coding style cleanups | Martin Willi | 2012-12-19 | 2 | -110/+41 |
| | |||||
* | Remove external build_encoding method in PKCS#9 | Martin Willi | 2012-12-19 | 2 | -9/+5 |
| | |||||
* | Moved settings_t to utils folder | Tobias Brunner | 2012-10-24 | 1 | -0/+1 |
| | |||||
* | Moved debug.[ch] to utils folder | Tobias Brunner | 2012-10-24 | 5 | -5/+5 |
| | |||||
* | Moved enum_name_t to utils folder | Tobias Brunner | 2012-10-24 | 1 | -1/+1 |
| | |||||
* | Moved data structures to new collections subfolder | Tobias Brunner | 2012-10-24 | 6 | -6/+6 |
| |