aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove openssl/gnump engine dep on libstate, no longer a deplloyd2008-11-232-8/+0
|
* Document new options in release noteslloyd2008-11-231-0/+1
|
* Add handy aliases to configure for controlling the modules using OpenSSL,lloyd2008-11-231-0/+9
| | | | | | | | | | | | | | GNU MP, zlib, and bzip2. --with-{openssl,gnump,bzip2,zlib} --without-{openssl,gnump,bzip2,zlib} They have the exact same effect as --enable-modules=x or --disable-modules=x This turned out to be a much easier way of specifying options for the Gentoo ebuild. It is likely that other distro builds architectures will also prefer this option style as being somewhat more autoconf-like and fitting in with existing command templates.
* Limit the output size of fast polls by the BeOS, Unix, and Win32 entropylloyd2008-11-233-0/+3
| | | | pollers that grab basic statistical data to 32 bytes.
* Use a simple run length encoding in xor_into_buf, so long blocks of spaces,lloyd2008-11-232-3/+22
| | | | | zero bytes, etc (relatively common, especially with the statistical pollers that use xor_into_buf) are removed. Counters wrap at 256.
* Compile fixlloyd2008-11-231-2/+2
|
* Note Buffered_EntropySource being removedlloyd2008-11-231-0/+1
|
* Remove now unused buf_es modulelloyd2008-11-233-134/+0
|
* Update BeOS entropy poller to also derive directly from EntropySourcelloyd2008-11-233-35/+46
| | | | | and use xor_into_buf. Completely untested, though it looks clean besides missing the BeOS headers+funcs if I try to compile on Linux.
* Fix return types in declarationlloyd2008-11-231-2/+3
|
* Convert Win32 stats polling entropy source to use xor_into_buf. Untested.lloyd2008-11-233-44/+59
|
* Fix indexing of ids array. Don't zeroize stat/rusage bufs before uselloyd2008-11-231-8/+4
|
* Use template version of xor_into_buf wherever useful in es_unix.cpplloyd2008-11-231-3/+3
|
* Pass by const reference so larger structs can be used with xor_into_buf templatelloyd2008-11-231-1/+1
|
* Use template version of xor_into_buf in es_unixlloyd2008-11-231-1/+1
|
* Move xor_into_buf to xor_buf.cpp. Also add a new template wrapper forlloyd2008-11-233-10/+39
| | | | xoring integer values in.
* Change unix_procs entropy source to be a plain EntropySource instead oflloyd2008-11-233-24/+47
| | | | | | | | | | | | | a Buffered_EntropySource. Data used in the poll is directly accumulated into the output buffer using XOR, wrapping around as needed. The implementation uses xor_into_buf from xor_buf.h This is simpler and more convincingly secure than the method used by Buffered_EntropySource. In particular the collected data is persisted in the buffer there much longer than needed. It is also much harder for entropy sources to signal errors or a failure to collected data using Buffered_EntropySource. And, with the simple xor_into_buf function, it is actually quite easy to remove without major changes.
* In Randpool and HMAC_RNG, zeroize the I/O buffer used for holding polledlloyd2008-11-232-0/+5
| | | | randomness data after the contents have been fed into the MAC.
* Add xor_into_buf. Add Doxygen comments for xor_buflloyd2008-11-231-10/+32
|
* Using SHA-1 as the check hash in the block cipher tests is messy b/c SHA-1lloyd2008-11-231-1/+1
| | | | | has many engine variants, etc. Instead use CRC32 which tends to work and not be surprising.
* Revert change that added multiblock support to SSE2 SHA-1. Was causinglloyd2008-11-233-206/+183
| | | | | a random segfault (always inside an SSE2 intrinsic). Did not investigate much beyond that. Worth looking into since it seemed worth another 1% or so.
* 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
|