aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/hash
Commit message (Collapse)AuthorAgeFilesLines
* Minor optimization for Blake2b::final_resultJack Lloyd2019-12-081-1/+2
| | | | Avoids some needless memsets
* Resolve various integer conversion warnings from MSVCJack Lloyd2019-12-061-1/+1
|
* Deprecate many publically available headersJack Lloyd2019-09-0638-0/+60
|
* Make ssse3/sse2 dependencies explicit rather than implicitJack Lloyd2019-09-042-0/+2
| | | | Previously --disable-sse2/--disable-ssse3 would not work as expected
* Add BOTAN_FORCE_INLINE and use it in BLAKE2bJack Lloyd2019-08-311-3/+3
| | | | Closes #2089
* Fix a carry handling bug in StreebogJack Lloyd2019-08-261-3/+4
| | | | Closes #2082
* Remove BearSSL providerJack Lloyd2019-07-051-16/+1
| | | | | | BearSSL is much slower than Botan's builtins, and it is not commonly included in distributions so doesn't even have the advantage of ubiquity.
* Fix conflict when BMI2 is enabled and --single-amalgamation-fileJack Lloyd2019-06-191-3/+3
| | | | Not sure why this wasn't causing an error in the MSVC CI builds.
* Make the ISA list a listJack Lloyd2019-04-178-8/+28
|
* Fix some extra semicolonsJack Lloyd2019-03-271-1/+1
|
* Work around problem with GCC 4.8Jack Lloyd2019-03-262-2/+4
|
* Fix some warnings from GCC 9Jack Lloyd2019-03-252-2/+2
| | | | New redundant-move and pessimizing-move warnings found some
* s/Blake2b/BLAKE2b/Jack Lloyd2019-02-222-18/+20
| | | | As that is the proper name of the hash. Add a typedef for compat.
* Unroll SHA-3Jack Lloyd2019-02-212-132/+158
| | | | Improves performance by about 10-12%
* Recognize BLAKE2b also [ci skip]Jack Lloyd2019-01-311-1/+1
| | | | See #1822
* Add BMI2 variants for SHA-512 and SHA-3Jack Lloyd2019-01-1810-10/+413
| | | | Both about 33% faster on Skylake
* Avoid including rotate.h in bswap.hJack Lloyd2018-12-219-0/+9
| | | | | | | It was only needed for one case which is easily hardcoded. Include rotate.h in all the source files that actually use rotr/rotl but implicitly picked it up via loadstor.h -> bswap.h -> rotate.h include chain.
* Fix more MSVC warningsJack Lloyd2018-12-101-1/+1
|
* Fix some MSVC warningsJack Lloyd2018-12-101-1/+1
|
* Merge GH #1776 Clean ups in MDx_HashFunctionJack Lloyd2018-12-082-33/+49
|\
| * Require MDx_HashFunction block size to be a power of 2Jack Lloyd2018-12-082-14/+25
| | | | | | | | | | | | Allows replacing div/mod by a variable with a shift/mask. Allows storing just the bit count, which saves a few bytes.
| * Cleanups in MDx_HashFunctionJack Lloyd2018-12-082-32/+37
| |
* | Clean up Streebog and fix use of unaligned loadsJack Lloyd2018-12-082-94/+114
|/
* Avoid calling memset, memcpy within library codeJack Lloyd2018-11-171-1/+3
| | | | | | | | | Prefer using wrappers in mem_utils for this. Current exception is where memcpy is being used to convert between two different types, since copy_mem requires input and output pointers have the same type. There should be a new function to handle conversion-via-memcpy operation.
* Fix some warnings in ARM specific codeJack Lloyd2018-10-011-12/+12
|
* Add support for hashing with CommonCryptoJose Pereira2018-09-031-3/+17
|
* Tiny optimization in MDx_HashFunction::final_resultJack Lloyd2018-05-281-2/+1
| | | | Typically not a bottleneck but this shows up in XMSS profiling
* Add BMI2-specific SHA-256Jack Lloyd2018-05-274-2/+167
| | | | | Currently just a copy of the baseline compression function, but compiled with BMI2 flags. On Skylake improves performance by about 40%.
* Add message to BOTAN_ARG_CHECK and use it more widelyJack Lloyd2018-05-131-2/+2
|
* Rename threefish module to threefish_512Jack Lloyd2018-03-062-2/+2
| | | | GH #1477
* Optimize SHA_3::expandJack Lloyd2018-01-311-15/+14
| | | | Noticable speedup for SHAKE esp with longer output lengths
* WhitespaceJack Lloyd2018-01-301-5/+5
|
* Use copy_out_vec_le instead of explicit loop in SHA-3 and KeccakJack Lloyd2018-01-302-4/+2
|
* Reorganize SHA-3 source file [ci skip]Jack Lloyd2018-01-301-35/+35
| | | | Put all the statics at beginning followed by member functions.
* Avoid allocating zero bytes for SHA-3 paddingJack Lloyd2018-01-304-27/+28
| | | | Inspired by #1433
* ABI for Aarch64 cryptoJack Lloyd2018-01-122-8/+2
|
* Make stream, block, hash and cipher mode base classes optionalJack Lloyd2018-01-122-0/+8
|
* Add missing ISA annotationsJack Lloyd2018-01-043-2/+3
| | | | Lack of these broke single file amalgamation (GH #1386)
* Avoid macros in Blake2b to workaround Visual C++ 2017 infinite loopJack Lloyd2017-12-301-39/+44
| | | | | Was fixed in 2017 SP1. Same bug hit Crypto++ - https://gihub.com/weidai11/cryptopp/issues/527
* Rename SSE4.x names to avoid underscoresJack Lloyd2017-12-112-2/+2
| | | | | | This breaks how we determine the ISA flags for amalgamation files. The code for doing that is kind of a hack but I don't want to mess with it right now, easier to just rename the ISA internally.
* Rename the SSE4 ISA extensionsJack Lloyd2017-12-112-2/+2
| | | | Simplifies macro generation
* Rename CRC24 tablesJack Lloyd2017-12-101-9/+9
| | | | These conflict with name of temp variables and MSVC gets noisy.
* Fix a typo in sha1_sse2.cppFelix Yan2017-12-031-1/+1
|
* Minor documentation fix in HashFunction::create_or_throw.Marcus Brinkmann2017-11-261-1/+1
|
* Merge GH #1281 CRC24 optimizationsJack Lloyd2017-10-292-67/+213
|\
| * CRC24 performance improvement (32 bits in parallel)Krzysztof Kwiatkowski2017-10-292-67/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Algorithm uses 4 tables of precalculated CRC24 values, thanks to which it can process in parallel 32 bits of data. This tric doubles performance Further improvements are possible. Results - (tested with RNP) processing 1GB armor data ``` OLD: rnp --enarmor=msg /tmp/1gb.rnd --output 4.48s user 0.89s system 98% cpu 5.429 total NEW: rnp --enarmor=msg /tmp/1gb.rnd --output 2.38s user 0.86s system 79% cpu 4.089 total OLD: rnp --dearmor out.xxx --output out.d 5.58s user 0.65s system 98% cpu 6.338 total NEW: rnp --dearmor out.xxx --output out.d 3.28s user 0.84s system 96% cpu 4.275 total ```
* | Include <memory> in base type headersJack Lloyd2017-10-291-0/+1
|/ | | | Needed for the create calls
* Fix build on 32-bitJack Lloyd2017-10-261-1/+1
|
* Avoid invalid iterator woesJack Lloyd2017-10-261-8/+18
|
* Blake2b optimizationsJack Lloyd2017-10-263-133/+94
| | | | | Nothing major but does improve perf for large buffers from 910 MB/s to 970 MB/s on Skylake.