aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add CommonCrypto cipher modes supportJose Pereira2018-09-096-6/+461
|
* Remove Darwin SecRandomCopyBytesJack Lloyd2018-09-044-85/+0
| | | | | It is the same RNG as arc4random and /dev/urandom. And arc4random seems to be working well for iOS and macOS.
* Merge GH #1667 Add hashing with CommonCryptoJack Lloyd2018-09-044-3/+203
|\
| * Add commoncrypto OS feature so it cannot be enabled on other systemsJack Lloyd2018-09-041-0/+4
| |
| * Indent to match conventions.Jack Lloyd2018-09-042-75/+73
| | | | | | | | | | Move CommonCrypto.h out of our commoncrypto.h since that header is included around the library.
| * Add support for hashing with CommonCryptoJose Pereira2018-09-034-3/+201
| |
* | Remove unneeded load_on autoJack Lloyd2018-09-049-18/+0
| | | | | | | | It is the default...
* | Remove use of OpenSSL IDEAJack Lloyd2018-09-041-5/+0
|/ | | | | | | | | It appears at least some versions of Ubuntu 16.04 have OpenSSLs which don't define OPENSSL_NO_IDEA and include declarations for EVP_idea_ecb, but the function is not found at link time. Thus enabling OpenSSL engine fails. It is not worth a further fight here.
* Use a literal date for this API versionJack Lloyd2018-09-021-5/+4
| | | | | It avoids having to rewrite existing logic when a new API version is introduced.
* Check PSS salt length during verificationJack Lloyd2018-08-303-36/+94
| | | | Fixes #1665
* Remove unused variableJack Lloyd2018-08-261-1/+0
|
* Merge GH #1662 Add AVX2 ChaChaJack Lloyd2018-08-264-12/+304
|\
| * Add AVX2 version of ChaChaJack Lloyd2018-08-264-12/+304
| |
* | Simplify code for SIMD_4x32::rhoJack Lloyd2018-08-261-49/+4
|/
* Move AVX2 wrapper to utilsJack Lloyd2018-08-244-259/+218
|
* AVX2Jack Lloyd2018-08-241-56/+62
|
* Serpent 8x decryptJack Lloyd2018-08-242-88/+118
|
* WIP for Serpent AVX2Jack Lloyd2018-08-244-7/+415
|
* Merge GH #1659 Report correct size for XMSS signaturesJack Lloyd2018-08-241-2/+4
|\
| * Implements correct XMSS signature size calculationMatthias Gierlings2018-08-241-2/+4
| | | | | | | | Implements the correct signature size calculation for XMSS, required by #1641.
* | Allow SIV for PBES2 private key encryptionJack Lloyd2018-08-231-2/+7
| |
* | Add OIDs for SIV and OCB mode ciphersJack Lloyd2018-08-231-0/+26
|/
* Merge GH #1656 Add operator*(BigInt,word)Jack Lloyd2018-08-232-0/+21
|\
| * Add operator*(BigInt, word)Jack Lloyd2018-08-232-0/+21
| | | | | | | | | | Gets hit about 2 million times in the test suite, avoids creating a temp BigInt (with alloc+free) or checking size of y.
* | Merge GH #1657 If cert extn decoding fails do not fail entire parseJack Lloyd2018-08-232-2/+8
|\ \
| * | If cert extension parsing fails, replace the object with UnknownJack Lloyd2018-08-232-2/+8
| |/ | | | | | | | | | | Allows the parse to complete and even allows examining the extension. GH #1652
* / Fix build without x509 moduleTobias Brunner2018-08-231-1/+22
|/ | | | | Fixes: dc85761ef02c ("Add path validation to FFI") Signed-off-by: Tobias Brunner <[email protected]>
* Add PBES2 as alias for PBE-PKCS5v20Jack Lloyd2018-08-232-2/+5
| | | | Easier to remember and type.
* Merge GH #1651 Default disable TLS v1.0/v1.1 and CBC+CCM suitesJack Lloyd2018-08-231-6/+6
|\
| * Default disable support for TLS v1.0/v1.1 and all CBC and CCM suitesJack Lloyd2018-08-221-6/+6
| |
* | Simplify exception messagesJack Lloyd2018-08-227-12/+29
|/ | | | Remove "Invalid argument" and "Decoding Error" prefixes
* Add nonce-set checks for OpenSSL CBC mode implsJack Lloyd2018-08-171-1/+5
|
* Have cipher modes also verify that the nonce is set prior to useJack Lloyd2018-08-175-7/+20
|
* In EAX, CCM, OCB verify nonce is set before processingJack Lloyd2018-08-173-1/+9
|
* Add BOTAN_STATE_CHECK macroJack Lloyd2018-08-172-2/+21
|
* Fix an EAX bug in reset()Jack Lloyd2018-08-171-0/+8
| | | | | | | | | | | | | | It failed to reset any data that had been fed into CMAC so far, so a sequence with eax->set_key(key); eax->start(nonce); eax->process(discarded_bits); eax->reset(); eax->start(second_nonce); eax->process(second_msg); would produce incorrect results
* Add botan_cipher_reset to FFIJack Lloyd2018-08-172-0/+15
|
* Ignore an empty string ("") for trusted_path argumentJack Lloyd2018-08-161-1/+1
|
* Add args for botan FFI cert verification for hostname and timeJack Lloyd2018-08-162-4/+16
|
* Add botan_x509_cert_dupJack Lloyd2018-08-162-4/+24
|
* Fix bug introduced in 15e149acJack Lloyd2018-08-161-6/+6
| | | | | This caused get_field, when called with a non-existing field, to return success and set the field to a small negative integer.
* Avoid throwing within the FFI layerJack Lloyd2018-08-163-10/+9
| | | | No reason given we know the message is going to be thrown away.
* Add TOTP to FFIJack Lloyd2018-08-163-4/+144
|
* For HOTP/TOTP allow a key/len pair instead of requiring SymmetricKeyJack Lloyd2018-08-165-9/+36
|
* Expose HOTP to FFIJack Lloyd2018-08-153-3/+137
|
* Fix some Doxygen warningsJack Lloyd2018-08-153-4/+2
|
* Update comments in FFI headerJack Lloyd2018-08-151-43/+138
| | | | | | Add/fix Doxygen comments. Remove warning which is not really true anymore.
* Remove support for 8 or 16 bit BigInt wordsJack Lloyd2018-08-156-27/+48
| | | | | | | | | | It turned out 8 bit was very broken (failed to compile, due to overload problems with functions taking uint8_t vs word). 16 bit words work aside from a test failure, but is really slow. Practically speaking we are not in a position to support 16-bit CPUs very well. And being able to assume sizeof(word) >= sizeof(uint32_t) allows simplifying some code.
* Fix BigInt::to_{dec,hex}_string for zeroJack Lloyd2018-08-151-1/+8
| | | | They returned an empty string instead
* Cleanup of BigInt encoding/decoding functionsJack Lloyd2018-08-145-29/+146
| | | | | | | | | | | | | Instigated by finding a bug where BigInt::encode with decimal output would often have a leading '0' char. Which is papered over in the IO operator, but was exposed by botan_mp_to_str which called BigInt::encode directly. Split BigInt::encode/decode into two versions, one taking the Base argument and the other using the (previously default) binary base. With a view of eventually deprecating the versions taking a base. Add BigInt::to_dec_string() and BigInt::to_hex_string()