aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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-157-29/+52
| | | | | | | | | | 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.
* In speed test, check for availability of NIST reducer functionsJack Lloyd2018-08-151-0/+2
| | | | This caused compilation to fail if MP_WORD_BITS was 8 or 16
* 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-146-33/+162
| | | | | | | | | | | | | 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()
* Add some additional null pointer arg checks to FFIJack Lloyd2018-08-144-29/+66
|
* Merge GH #1647 Add X.509 path validation to FFIJack Lloyd2018-08-146-3/+182
|\
| * Add path validation to FFIJack Lloyd2018-08-136-3/+182
| |
* | Merge GH #1648 Add XChaCha20Poly1305 tests generated by libsodiumJack Lloyd2018-08-131-0/+9362
|\ \
| * | Add XChaCha20Poly1305 test vectors generated by libsodiumSimon Warta2018-08-131-0/+9362
| |/ | | | | | | | | | | | | This adds a set of XChaCha20Poly1305 test vectors generated by libsodium. Those are systematically created in https://github.com/webmaster128/xchacha20poly1305-testvectors and include tests with empty messages and non-empty additional data.
* / Expose RDRAND RNG through FFIJack Lloyd2018-08-136-46/+86
|/
* Merge GH #1646 Add MPI and FPE to Python wrapperJack Lloyd2018-08-135-178/+680
|\
| * Add MPI and FPE to Python wrapperJack Lloyd2018-08-132-144/+628
| | | | | | | | | | Also make all member variables private (__ prefix), and rename classes to match Python conventions
| * De-inline ffi_guard_thunkJack Lloyd2018-08-133-34/+52
| | | | | | | | Saves about 300 Kb of code space in the FFI object files
* | Add some final annotationsJack Lloyd2018-08-134-4/+4
| |
* | Add missing override annotations [ci skip]Jack Lloyd2018-08-132-2/+2
|/
* Better error reporting for FFIJack Lloyd2018-08-123-6/+18
| | | | | Previously safe_get(x) where x was null would return an error about an exception being thrown, instead of a null pointer error.
* Fix for OpenSSLJack Lloyd2018-08-121-0/+4
|
* Add function to return the size of a key agreement outputJack Lloyd2018-08-1211-8/+47
| | | | Very useful when using "Raw" DH/ECDH via the FFI API.
* Fix Python2 problemJack Lloyd2018-08-112-1/+8
|
* In Python expose new name gettersJack Lloyd2018-08-112-2/+36
|
* Convert Python tests to actual unit testsJack Lloyd2018-08-112-168/+122
|
* Add scrypt to PythonJack Lloyd2018-08-112-4/+34
|
* Better error checking in Python wrapperJack Lloyd2018-08-113-213/+381
| | | | | | Adopt APIs added in 2.8 Expose botan_error_description which was added in 2.5 but not exported!
* Put bcrypt decls in ffi in same placeJack Lloyd2018-08-111-22/+22
|
* Add botan_cipher_get_keyspecJack Lloyd2018-08-115-21/+48
| | | | | | | botan_cipher_query_keylen doesn't return the modulus. Renames (recently added/unreleased) botan_{block_cipher,mac}_query_keylen to x_get_keyspec so the names are consistent.
* Add some useful FFI functionsJack Lloyd2018-08-105-7/+95
|
* Optimize computation of CTR input blocksJack Lloyd2018-08-102-9/+14
| | | | | | | | We don't need to read each block since we know what is there Improves CTR perf with AES-NI by 5-6%, also helps GCM GH #969
* Specialize CTR::seek for 4-byte countersJack Lloyd2018-08-101-5/+19
| | | | | When used with AES-128 on Skylake (AES-NI), improves GCM performance by 10% on small messages and 5% on 1K messages.
* GHASH should check the nonce sizeJack Lloyd2018-08-101-0/+1
|
* Fix FFI testJack Lloyd2018-08-101-1/+3
| | | | This could fail if the random plaintext was of zero length
* Lint fixJack Lloyd2018-08-101-1/+1
|
* Fix ECIES tests when cipher was disabledJack Lloyd2018-08-101-14/+14
| | | | Now the constructor throws instead of the encrypt/decrypt op
* Add a function to query output length of symmetric cipherJack Lloyd2018-08-106-6/+31
|
* Fix off by one for SM2 ciphertext lengthJack Lloyd2018-08-101-1/+1
| | | | | It is possible up to 13 bytes are required. Round up to 16 bytes just cause.
* Improve speed of cli testsJack Lloyd2018-08-102-49/+72
| | | | | Exit early from scrypt bench if we only computed a single value in the requested msec bounds. Reduce speed timeouts across board.
* Add functions to get size of PK ciphertext,plaintextJack Lloyd2018-08-1020-79/+236
| | | | Needed for https://github.com/strongswan/strongswan/pull/109
* Guard use of Serialized_RNG with thread macro checkJack Lloyd2018-08-101-0/+2
|
* Merge GH #1641 Add functions to get expected length of PK signatureJack Lloyd2018-08-1026-24/+133
|\
| * Add FFI function to get signature output lengthJack Lloyd2018-08-103-11/+32
| |
| * Add PK_Signer::signature_lengthJack Lloyd2018-08-1023-13/+101
| |
* | Add a "user-threadsafe" option to botan_rng_initJack Lloyd2018-08-102-0/+17
| |
* | Allow x509 module to be optional for FFIJack Lloyd2018-08-104-23/+125
|/
* Fix GCM bug: would accept AD without keyed if AD was emptyJack Lloyd2018-08-091-2/+2
|
* Add Tweakable_Block_Cipher classJack Lloyd2018-08-093-14/+28
|
* Remove functions from Cipher_Mode now inherited from base classJack Lloyd2018-08-091-44/+0
|
* Fix shadow warningsJack Lloyd2018-08-092-10/+10
|
* Add StreamCipher::write_keystreamJack Lloyd2018-08-085-7/+37
| | | | | Avoids the XOR operation. Only implemented for ChaCha20 currently, everything else defaults to memset-to-zero + xor-cipher
* Add test that invalid bcrypt versions are rejectedJack Lloyd2018-08-081-2/+6
|