aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add Ed25519 implementation based on SUPERCOP ref10Jack Lloyd2017-06-079-0/+4379
| | | | This work was sponsored by Ribose Inc
* Fix missing binary mode flag on compression ofstreamsVolker Aßmann2017-06-062-4/+4
|
* Added std::ios::binary option for istream open in compression. WithoutVolker Aßmann2017-06-051-2/+2
| | | | | this the compress/uncompress methods may produce corrupted files on Windows.
* Add --ecc-groups= option to speedJack Lloyd2017-06-041-37/+41
| | | | Instead of hardcoding which ecc groups to test in each alg.
* Add basic test for TPM UUID classJack Lloyd2017-06-042-3/+32
| | | | Constify some member functions
* Correct failure when renegotiating with old serverJack Lloyd2017-06-041-1/+1
| | | | | | | | | | | | | | | | When renegotiating the client checks that the server hasn't changed its mind about supporting the renegotiation extension (this is a likely indicator of an attack). However due to a typo the client was actually comparing the value in the client hello of the first handshake against the server hello in the renegotiation handshake. Since Botan always sends the renegotiation extension, this would cause the check to fail when renegotiating with an old server that doesn't support the renegotiation extension. Reported on mailing list by Falko Strenzke. Tested patch against OpenSSL 0.9.8k
* Add FFI func botan_scrub_memJack Lloyd2017-05-293-0/+16
|
* Avoid infinite loop in PGP-S2KJack Lloyd2017-05-292-5/+16
| | | | | | | | In simple mode (no salt) with an empty password the input buffer is empty. Add a check that salt is not empty if iterations > 1 since PGP only has simple, salted, and iterated+salted modes.
* Document that timed calibration is not available for PGP-S2KJack Lloyd2017-05-272-11/+51
| | | | | | Made a try at implementing it but its a huge pain due to the combination of the iteration count being the byte count and that we have to end on exactly an encodable iteration count.
* Add (back) OpenPGP-S2KJack Lloyd2017-05-276-2/+245
| | | | | | | | | | | | | It was removed somewhere along the line in 1.11, with the logic that it is a funky PGP-specific scheme and (quoting the commit that removed it) "not really useful outside of a full PGP implementation". This assumed that the PGP implementation would be in Botan itself, but PGP is implemented in https://github.com/evpo/EncryptPad/ (which is a PGP implementation using 1.10), and RNP (https://github.com/riboseinc/rnp) would like to use it also. This work was sponsored by Ribose Inc (@riboseinc).
* Add botan_hash_copy_state FFI function.Daniel Wyatt2017-05-253-0/+34
|
* Make Botan compile with LibreSSL again.Alexander Bluhm2017-05-243-6/+6
| | | | | | Add some #ifdef LIBRESSL_VERSION_NUMBER in addition to the OPENSSL_VERSION_NUMBER switch. Narrow down API compatiblity between LibreSSL and OpenSSL version in docs.
* Merge GH #1056 Add HashFunction::copy_state and port to OpenSSL 1.1.0Jack Lloyd2017-05-2247-75/+341
|\
| * Add copy_state to OpenSSL hash functions, and port to OpenSSL 1.1.0Jack Lloyd2017-05-225-74/+130
| |
| * Fix for old GCC and ClangJack Lloyd2017-05-222-2/+2
| | | | | | | | | | They don't understand unique_ptr<Derived> to unique_ptr<Base> without help https://stackoverflow.com/questions/22018115/converting-stdunique-ptrderived-to-stdunique-ptrbase
| * Add HashFunction::copy_stateJack Lloyd2017-05-2242-1/+186
| | | | | | | | See GH #1037
* | Merge GH #1054 Add HOTP and TOTP algorithmsJack Lloyd2017-05-229-0/+524
|\ \
| * | Doc and 32-bit build fixesJack Lloyd2017-05-221-7/+7
| | |
| * | Add HOTP (RFC 4226) and TOTP (RFC 6238)Jack Lloyd2017-05-199-0/+524
| | |
* | | Merge GH #1055 Add fallback RNG for the testsJack Lloyd2017-05-221-0/+37
|\ \ \
| * | | Add a bogus fallback RNG for the testsJack Lloyd2017-05-211-0/+37
| | | | | | | | | | | | | | | | This allows all tests to run even if no RNG type enabled in the build
* | | | Merge GH #844 Add support for ARMv8 SHA instructionsJack Lloyd2017-05-2212-52/+890
|\ \ \ \ | |_|_|/ |/| | |
| * | | Disable ARMv8 SHA extensions on 32-bitJack Lloyd2017-05-222-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Works everywhere but Apple Clang. Could handle this with a hack to configure but running ARMv8 in 32-bit mode is rare and suboptimal, and it would be better to deal with this using compile-time feature detection.
| * | | Change SHA-2 to use a single convention for CPU extnJack Lloyd2017-05-203-9/+8
| | | |
| * | | Set minimum compiler versions for ARMv8 SHA intrinsicsJack Lloyd2017-05-202-0/+10
| | | |
| * | | Small cleanups for ARM SHA codeJack Lloyd2017-05-205-16/+411
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for new define syntax, remove old style casts. Add some randomly generated longer SHA-256 vectors, previously had precisely zero multiblock tests.
| * | | Add SHA-256 using ARMv8 instructionsJack Lloyd2017-05-207-43/+255
| | | | | | | | | | | | | | | | Based on patch from Jeffrey Walton in GH #841
| * | | Add ARMv8 SHA-1 supportJack Lloyd2017-05-204-0/+222
| |/ / | | | | | | | | | | | | | | | Based on patch from Jeffrey Walton in GH #840 Only tested in qemu so far.
* | | Merge GH #1053 Fix path length constraint checking (GH #991)Jack Lloyd2017-05-2114-5/+310
|\ \ \ | |/ / |/| |
| * | fix pathLenConstraint validationDaniel Neus2017-05-1914-5/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes GH #991 The problem with the current implementation of the chain validation code is that is runs from the end certificate to the trust cert. @securitykernel and me tried to fix the pathLenConstraint validation within this reverse loop but we were not sure if we missed some edge cases. So we felt safer to use the algorithm listed in RFC 5280 which executes from the top to the bottom. It's probably best to rewrite the code to use the whole algorithm from RFC 5280, i.e. validating the chain from the trust to the end cert. Additionally, we wrote some tests including the one that raised this issue initially.
* | | Fix warningsJack Lloyd2017-05-192-3/+3
| |/ |/|
* | Fixes for MSVC version detectionJack Lloyd2017-05-191-1/+1
| | | | | | | | | | See comments in https://github.com/randombit/botan/commit/7f019174bfcf3c2b31bda74fe40ce35727db1cef
* | Merge GH #826 Add support for Intel SHA instructionsJack Lloyd2017-05-1913-2/+485
|\ \
| * | Set minimum compiler versions for SHA intrinsicsJack Lloyd2017-05-192-0/+12
| | |
| * | Add support for Intel SHA-1/SHA-2 instructionsJack Lloyd2017-05-1913-2/+473
| | | | | | | | | | | | Based on GH #807 and #808
* | | Add SM3 OIDs and PKCSv1.5 hash prefixJack Lloyd2017-05-193-1/+16
|/ /
* | Merge GH #359 Add botan cli encryption toolJack Lloyd2017-05-194-0/+355
|\ \
| * | Fix 3 space indentSimon Warta2017-04-181-4/+4
| | |
| * | Add BOTAN_HAS_AEAD_MODES requirement for encryption cliSimon Warta2017-04-182-2/+2
| | |
| * | Run cli tests on TravisSimon Warta2017-04-181-0/+7
| | |
| * | Some linting cleanups for cli_tests.pySimon Warta2017-04-181-6/+6
| | |
| * | Update registration format of "encryption" cli commandSimon Warta2017-04-181-2/+2
| | |
| * | Add more ciphersSimon Warta2017-04-182-13/+71
| | |
| * | Fix whitespace errorsSimon Warta2017-04-182-3/+3
| | |
| * | Fix bug in vecparser: member must not be staticSimon Warta2017-04-181-2/+1
| | |
| * | Adapt cli command encryption to new cli interfaceSimon Warta2017-04-181-37/+42
| | |
| * | Add botan encryption cli appSimon Warta2017-04-183-0/+286
| | |
* | | Merge GH #1052 Add build-time compiler detectionJack Lloyd2017-05-191-3/+3
|\ \ \
| * | | Let modules specify minimum compiler version, add runtime compiler version checkJack Lloyd2017-05-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This comes up recently to support CPU extensions by Intel (#826) and ARM (#844) since the intrinsic functions were only added in compiler versions more recent than the minimums we generally support, but might actually be useful for all kinds of things in the future since one can add a (new, otherwise optional) C++14 or C++17 module in 2.x branch while continuing to support the current set of supported compiler versions for the main library functionality. Uses RDSEED as the test case, to ensure version detection/comparisons work on all platforms.
* | | | Merge GH #1051 Extensions for PKCSv1.5 signature formattingJack Lloyd2017-05-198-5/+96
|\ \ \ \