aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/hash
Commit message (Collapse)AuthorAgeFilesLines
* Use a single Sbox table for WhirlpoolJack Lloyd2020-12-223-618/+205
| | | | | | This actually only degrades performance slightly, and Whirlpool is already quite slow. Saves 14K of ROM and probably lessens side channel risk a bit.
* Add SHACAL2 using ARMv8 SHA instructionsJack Lloyd2020-12-211-4/+4
|
* Align SHA-2 constantsJack Lloyd2020-12-202-19/+19
| | | | | This allows using the aligned load instruction from SSE2 though that doesn't seem to make any difference on performance.
* Avoid having something at namespace scope named TABLEJack Lloyd2020-12-121-23/+23
| | | | Likely to cause problems in the amalgamation
* It seems basemetal armeabi won't do local alignments greater than 8Jack Lloyd2020-12-111-45/+49
| | | | | Move these tables outside of the functions so larger values can be applied.
* Incrase the alignment of all lookup tablesJack Lloyd2020-12-113-13/+13
| | | | | | | | | We had done this in an ad-hoc way in the past for eg the AES tables but given how easy C++'s alignas is to use we should apply it universally. Use 256 byte alignment for larger tables since that heads of any possible issues that arise from machines with large cache lines.
* Cleanups in the Aarch64 SHA-2 codeJack Lloyd2020-12-051-101/+88
|
* Clean up the SHA-2 x86 SHA-NI implementationJack Lloyd2020-12-051-98/+99
|
* Remove ULL suffixesJack Lloyd2020-12-014-803/+803
| | | | Not required anymore
* Add support for keyed Blake2b and also MAC via Blake2b.Tom2020-11-292-5/+54
|
* Make scan_name.h, cpuid.h and http_util.h internalJack Lloyd2020-11-285-5/+5
|
* Merge GH #2456 Remove deprecated headers, make many headers internalJack Lloyd2020-11-0653-171/+129
|\
| * Remove deprecated headers, make more headers internalJack Lloyd2020-11-0653-171/+129
| | | | | | | | | | | | | | | | | | Now modules default to internal headers instead of defaulting to public; making a new public API should be a visible and intentional choice. Brings the public header count from over 300 to around 150. Also removes the deprecated tls_blocking interface
* | Remove compiler version checks for old compilersJack Lloyd2020-11-064-10/+10
|/ | | | Also, add MSVC for ghash_cpu - somehow this got lost!
* Remove default output length for SHAKEJack Lloyd2020-11-051-4/+4
| | | | Instead it must be specified
* Remove Tiger hash functionJack Lloyd2020-11-055-633/+0
|
* 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.