aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add cipher mode selftesting in selftest.cpplloyd2009-10-063-151/+198
| | | | Convert hardcoded startup selftests to use the new selftest framework
* Fix mode name parsinglloyd2009-10-061-1/+1
|
* Refactor Default_Engine::get_cipher so bits can be called from selftestlloyd2009-10-062-84/+104
|
* Extensions to SCAN_Name for dealing with cipher mode nameslloyd2009-10-062-3/+62
|
* In to_u32bit, ignore space characters in inputlloyd2009-10-061-0/+3
|
* Add a TSS examplelloyd2009-10-061-0/+38
|
* Add an implementation of threshold secret sharing from draft-mcgrew-tss-02lloyd2009-10-064-2/+331
|
* Clean up cpuid callinglloyd2009-10-061-32/+26
|
* Disable prefetch in AES for now. Problem: with iterative modes like CBC,lloyd2009-09-302-20/+0
| | | | | | | | the prefetch is called for each block of input, and so a total of (4096+256)/64 = 68 prefetches are executed for each block. This reduces performance of iterative modes dramatically. I'm not sure what the right approach for dealing with this is.
* Add cpuid check for Intel AESlloyd2009-09-301-1/+8
|
* Add vendor ID for AMDlloyd2009-09-291-1/+1
|
* Significantly rework CPUID support. Add cache line detectionlloyd2009-09-293-87/+114
|
* Add .S files automatically as welllloyd2009-09-291-1/+2
|
* Fix benchmarking of PK stufflloyd2009-09-291-1/+1
|
* Use prefetching in AES. Nominally, this will help somewhat with preventinglloyd2009-09-291-0/+8
| | | | | | | | | | timing attacks, since once all the TE/SE tables are entirely in cache then timing attacks against it become somewhat harder. However for this to be a full defense it would be necessary to ensure the tables were entirely loaded into cache, which is not guaranteed by the normal SSE prefetch instructions. (Or prefetch instructions for other CPUs, AFAIK). Much more importantly, it provides a 10% speedup.
* Change the prefetching interface; move to PREFETCH namespace, and add alloyd2009-09-291-9/+25
| | | | helper function for fetching both inputs and outputs of block ciphers.
* Add interface for general runtime self-testing of ciphers, hashes, etclloyd2009-09-292-8/+75
|
* Remove add block from utils/info.txtlloyd2009-09-291-27/+0
|
* Remove add block from block/info.txtlloyd2009-09-291-6/+0
|
* Remove add blocks from hash function info.txt fileslloyd2009-09-2921-146/+0
|
* Remove add blocks from block cipher info fileslloyd2009-09-2925-188/+0
|
* New logic for reading info.txt files - if no <add> block was given, thenlloyd2009-09-291-1/+8
| | | | simply add all .cpp and .h files in the directory.
* Add some basic prefetching support (only supported with GNU C++ or thingslloyd2009-09-294-3/+44
| | | | | that claim to be by defining __GNUG__ (such as Intel C++)) in new utils header prefetch.h
* Add a new macro BOTAN_BUILD_COMPILER_IS_XXX to build.hlloyd2009-09-2915-7/+40
|
* Use load_le instead of make_u32bit in Serpent x86 key schedule codelloyd2009-09-291-1/+1
|
* merge of '1efb42e84eca9e01edd7b7f1335af7011eab994c'lloyd2009-09-255-0/+169
|\ | | | | | | and 'bb55abb64b64ca63aeb361db40c6bc4692d4ce48'
| * Add runtime cpuid support. Check in the SSE2 engine that SSE2 is actuallylloyd2009-09-255-0/+169
| | | | | | | | existing on the current CPU before returning an object.
* | Modify the self test program to use the builtin runtime benchmarking goop.lloyd2009-09-248-381/+223
| | | | | | | | | | | | | | | | | | Features dropped: RNG benchmarking, the --bench-type option. New feature: Anything the library understands can be benchmarked using --bench-algo. Use 3DES and Serpent for mode benchmarking along with AES-128.
* | Add BitBucket to basefilt.hlloyd2009-09-241-0/+8
| |
* | Add engine deps on the asm_xxx modules so the engines get loadedlloyd2009-09-242-0/+8
| |
* | Enable OpenSSL AES (fixed, I think). And add support for OpenSSL's RC5lloyd2009-09-241-1/+7
| |
* | In the benchmark code, set a random key for the block and stream ciphers.lloyd2009-09-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This, I think, was what was causing the OpenSSL AES code to crash (without a key being set, the rounds are unset and probably causes the code to loop out past the end of an array somewhere). Sadly, this also confirms that OpenSSL's AES is much faster than Botan's: AES-128: 115.032 [core] 152.994 [openssl] AES-192: 98.6724 [core] 130.087 [openssl] AES-256: 86.6348 [core] 113.608 [openssl] Definitely some improvement can be made there! :(
* | Remove redundant SHA-1 test vector of empty inputlloyd2009-09-221-1/+0
| |
* | Add 4 test vectors for HMAC(BMW-512)lloyd2009-09-211-0/+41
| |
* | Remove unneeded headerslloyd2009-09-211-2/+0
| |
* | Update the implementation of Blue Midnight Wish to use the Round 2 tweakedlloyd2009-09-214-603/+1245
| | | | | | | | version.
* | Indentation fixlloyd2009-09-211-13/+12
| |
* | propagate from branch 'net.randombit.botan.1_8' (head ↵lloyd2009-09-17147-1833/+6462
|\| | | | | | | | | | | 1f4729658b70a340064bc9a33c923a44ecab84d8) to branch 'net.randombit.botan' (head b9ca6596a127964cb9795d22bc2a5642fab5de84)
| * The get_tm function was duplicated. Move single version to timer.{h,cpp}lloyd2009-09-176-82/+62
| |
| * Split up util.h into 3 fileslloyd2009-09-1729-41/+50
| | | | | | | | | | | | | | - rounding.h (round_up, round_down) - workfactor.h (dl_work_factor) - timer.h (system_time) And update all users of the previous util.h
| * Move memory locking function decls to mlock.hlloyd2009-09-176-26/+47
| | | | | | | | Inline round_up and round_down
| * Update OpenSSL engine with encrypt_n interface for block ciphers.lloyd2009-09-172-12/+46
| | | | | | | | | | | | Add support for SHA-2 and SEED. Wrap block cipher usage in checks for OPENSSL_NO_XXX
| * Remove some debug code from benchmark examplelloyd2009-09-151-6/+0
| |
| * In BMW-512, don't use the stack, instead use class SecureBuffers to reducelloyd2009-09-152-70/+70
| | | | | | | | info leakage.
| * Add an implementation of Blue Midnight Wish (512 bit version only)lloyd2009-09-158-24/+2164
| |
| * propagate from branch 'net.randombit.botan.1_8' (head ↵lloyd2009-09-15106-1641/+4092
| |\ | | | | | | | | | | | | | | | ef51dd2869ed38dae3aeb1c3b931ca9d595580e1) to branch 'net.randombit.botan' (head fc1942640045423f411fd865cbd584090b28d7eb)
| | * Update version #s to 1.9.1-prelloyd2009-09-133-4/+7
| | |
| | * Enable SSE2 engine under VC++lloyd2009-09-131-0/+1
| | |
| | * Make some changes to the SSE2 implementation of SHA-1 for compatability withlloyd2009-09-131-62/+46
| | | | | | | | | | | | Visual C++.
| | * Update for 1.9.0 release 2009-09-091.9.0lloyd2009-09-103-3/+6
| | |