aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a few test vectors for SHA-1 with longer inputslloyd2008-11-231-0/+129
|
* Dean Gaudet's original version of the SHA-1 SSE2 code supported multiplelloyd2008-11-233-183/+206
| | | | | blocks as input (and can overlap computations from one block to another - very nice). Reimport that original version and use it.
* Do a minor optimization in some of the compression functions, loadinglloyd2008-11-237-121/+145
| | | | | the registers only once and carrying the values over between loop iterations.
* Add hash optimizations to change loglloyd2008-11-231-0/+1
|
* Update SHA1_IA32 to use compress_nlloyd2008-11-231-2/+6
|
* I had not anticipated this being really worthwhile, but it turns outlloyd2008-11-2333-746/+876
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to have been so! Change MDx_HashFunction::hash to a new compress_n which hashes an arbitrary number of blocks. I had a thought this might reduce a bit of loop overhead but the results were far better than I anticipated. Speedup across the board of about 2%, and very noticable (+10%) increases for MD4 and Tiger (probably b/c both of those have so few instructions in each iteration of the compression function). Before: SHA-1: amd64: 211.9 MiB/s core: 210.0 MiB/s sse2: 295.2 MiB/s MD4: 476.2 MiB/s MD5: 355.2 MiB/s SHA-256: 99.8 MiB/s SHA-512: 151.4 MiB/s RIPEMD-128: 326.9 MiB/s RIPEMD-160: 225.1 MiB/s Tiger: 214.8 MiB/s Whirlpool: 38.4 MiB/s After: SHA-1: amd64: 215.6 MiB/s core: 213.8 MiB/s sse2: 299.9 MiB/s MD4: 528.4 MiB/s MD5: 368.8 MiB/s SHA-256: 103.9 MiB/s SHA-512: 156.8 MiB/s RIPEMD-128: 334.8 MiB/s RIPEMD-160: 229.7 MiB/s Tiger: 240.7 MiB/s Whirlpool: 38.6 MiB/s
* Fix integer overflow in benchmarslloyd2008-11-231-4/+4
|
* Switch benchmark example command line arg from ms to secondslloyd2008-11-221-2/+2
|
* Move AutoSeeded_RNG decl before check for --help flag, so startup time is ↵lloyd2008-11-221-2/+2
| | | | easy to measure
* Mention improvements in es_ftwlloyd2008-11-221-0/+1
|
* Remove dep on buf_es in proc_walk info.txtlloyd2008-11-211-4/+0
|
* Fix poorly named functionlloyd2008-11-211-6/+6
|
* Last minute es_ftw optimizations / logic changes. Performance of seedinglloyd2008-11-212-35/+27
| | | | | | | | | was too slow, it was noticably slowing down AutoSeeded_RNG. Reduce the amount of output gathered to 32 times the size of the output buffer, and instead of using Buffered_EntropySource, just xor the read file data directly into the output buffer. Read up to 4096 bytes per file, but only count the first 128 towards the total goal (/proc/config.gz being a major culprit - large, random looking, and entirely or almost static).
* Remove debug printflloyd2008-11-211-1/+0
|
* Cache socket descriptors in EGD entropy source, instead of creating each polllloyd2008-11-213-51/+99
|
* Make it optional to provide an argument to --enable-modules orlloyd2008-11-211-2/+2
| | | | | | --disable-modules. While updating the Gentoo ebuild I found it was much easier to autogen the configure line if both of these options are no-ops if used with no value.
* Avoid a potential 32-bit overflow in Timer::combine_timers by promotinglloyd2008-11-211-2/+4
| | | | to 64 bit values before doing multiplication.
* Mention ANSI clock seems pretty bogus for benchmarkinglloyd2008-11-211-0/+3
|
* Update examples for changed 1.8 APIs, including:lloyd2008-11-216-14/+28
| | | | | | | | | | | | | EAX mode taking a BlockCipher* instead of a name. PK_Signer taking an EMSA* instead of a name. generate_dsa_primes using an Algorithm_Factory Changes to how new algorithms are added (look_add.h is gone entirely, replaced by Algorithm_Factory calls) in xor_ciph. Also update for new stream cipher key schedule function name and new directory for base class decl.
* Add comment showing likely future API for multi-block encryption in BlockCipherlloyd2008-11-211-0/+6
|
* Make readme sound less scary, since 1.7.23 will be 1.8.0 RC2lloyd2008-11-211-5/+3
|
* Log recent changeslloyd2008-11-211-0/+3
|
* Move MISTY1 tables from mist_tab.cpp to misty1.cpp - pretty smalllloyd2008-11-214-118/+106
|
* Fix examples makefilelloyd2008-11-211-7/+1
|
* Make Timer a pure virtual interface and add a new subclass ANSI_Clock_Timerlloyd2008-11-212-31/+40
| | | | | which uses the ANSI/ISO clock function (previously this had been the Timer::clock default implementation).
* Add a typedef in benchmark.h Default_Benchmark_Timer, which checks availablelloyd2008-11-211-8/+26
| | | | | timer alternatives. I realized otherwise each application would be forced to do the exact same thing, and no reason for that.
* Add an example of using the benchmark system to choose the fastest SHA-1lloyd2008-11-211-0/+90
| | | | implementation and then setting it as the default.
* Add an example of benchmark.hlloyd2008-11-211-0/+41
|
* Make it clear in log.txt that TR1==ECDSAlloyd2008-11-191-1/+1
|
* Wrap long lines in configure.pl outputlloyd2008-11-191-10/+46
| | | | | | Print the version number at the start of the build. Fix compiler name in TR1 message
* Add a comment WRT timing attacks on the AES implementationlloyd2008-11-191-0/+14
|
* Add a comment to BlockCipher mentionining the usefulness of extending itlloyd2008-11-181-0/+9
| | | | to support multiple blocks.
* Add some Doxygen comments for BlockCipherModePaddingMethodlloyd2008-11-181-23/+62
|
* Retroactively log adding SHA-1 SSE2 implementation in 1.7.12. Also mention ↵lloyd2008-11-171-0/+2
| | | | recent doc updates.
* Wrap line for readabilitylloyd2008-11-171-1/+2
|
* Disable ec_tests.cpp unless ECDSA is enabledlloyd2008-11-171-1/+13
|
* Use TR1 by default with GNU C++ and Intel C++, since all recent versions oflloyd2008-11-174-9/+25
| | | | | | | | | | | | | | | | | | both support TR1 fine AFAICT. Add ability to explicitly disable using TR1 with --with-tr1=none Add a marker in the cc info files specifiying if TR1 should be chosen by default. Yes, autoconf would be better for this than a static per-compiler setting. Yes, I totally hate autoconf. Yes, I would still consider autoconf patches. No, I'm not going to do it myself. :) I am looking forward to being able to safely adopt C++0x and TR2 throughout the library and make the need for a lot of this special-casing stuff go away. Until then, it seems better to defaulting to using tr1 (and thus, ECC) than not.
* Reorganize all GF(p)/ECC tests to be called from pk.cpplloyd2008-11-174-11/+13
|
* Remove print statements in PointGFp::check_invariants which were triggeredlloyd2008-11-171-19/+0
| | | | | | | when the test failed. I had added them for debugging something long ago. What I thought was an InSiTo ECC test failure was actually a sucessful test, it was making sure an Illegal_Point would be thrown in the conditions tested. So, all seems OK.
* Bump version to 1.7.23-prelloyd2008-11-173-2/+5
|
* Output that ECC tests are being run, and run them after GF(p) math tests ↵lloyd2008-11-172-2/+5
| | | | which is a reasonable ordering
* Tame ec_tests.cpp and integrate it into the test code.lloyd2008-11-173-1115/+1124
| | | | | | | | I'm seeing one failure on Core2. Have not diagnosed at all. A number of tests are #if'ed out. Many were rubbed out in the original InSiTo version, others I commented out due to changed/removed APIs.
* Add ec_test.cpp from InSiTo (low level ECC test cases)lloyd2008-11-171-0/+1202
|
* Ignore PDF and LaTeX toc/log files in doc/lloyd2008-11-171-0/+3
|
* Update the manual a bit, though really mostly this was deleting thingslloyd2008-11-171-643/+128
| | | | | | | that were inaccurate or no longer relevant. For instance the documentation on how to remove algorithms gave the painful nasty manual way that was the only method in Botan 1.6, however in 1.7/1.8 it is trivial to disable algorithms from the build using --disable-module.
* Update log and readme for 1.7.22 release 2008-11-171.7.22lloyd2008-11-172-2/+3
|
* Enable SSE2 SHA-1 on Intel Prescott CPUslloyd2008-11-171-0/+1
|
* Add other changes since 1.7.21lloyd2008-11-171-1/+3
|
* Optimize AES decryption in the same manner as the last changes to AES ↵lloyd2008-11-173-41/+45
| | | | encryption.
* Fix mode benchmarkinglloyd2008-11-171-0/+2
|