aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Change call to system_time to use std::chronolloyd2009-09-301-2/+4
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-3069-865/+313
|\ | | | | | | | | | | 8a5eb02c2e451fc983f234f7ba2f023f5a7d294f) to branch 'net.randombit.botan.c++0x' (head e18cd411269e15638df3298d6a4165446e7ca529)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-175-65/+35
| |\ | | | | | | | | | | | | | | | b9ca6596a127964cb9795d22bc2a5642fab5de84) to branch 'net.randombit.botan.c++0x' (head 3c769a81bd357a14f8aca4502b67e8465cee0947)
| * \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-1734-98/+162
| |\ \ | | | | | | | | | | | | | | | | | | | | 92e05ab242e4b6998d685961c53700534a673bce) to branch 'net.randombit.botan.c++0x' (head 27ce37b971ec5cb1f80a9a95b13d5a951b96653b)
| * | | Use <chrono> in the runtime benchmarking code instead of the locallloyd2009-09-163-56/+47
| | | | | | | | | | | | | | | | timers.
| * | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-1666-809/+266
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 32f457161b1ad1afb7a3d0ccebc98ada83fb23d9) to branch 'net.randombit.botan.c++0x' (head 6e3c13869f27636152cf11c65a7d8197a93641d9)
| | * | | Remove dep on mutex module (doesn't exist here). Use initializer list in ↵lloyd2009-09-114-18/+11
| | | | | | | | | | | | | | | | | | | | libstate.cpp
| | * | | Use GCC 4.4.1-release for C++0x testinglloyd2009-09-091-1/+1
| | | | |
| | * | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-0863-792/+256
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cadcc57872bef55226579df57349fe09a93d1f5) to branch 'net.randombit.botan.c++0x' (head d1747f0394aa4442e5b32b9102b830e1a86f0e5a)
| | | * \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-21134-391/+633
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 95eb8083f5884531e5ca0667388f8a6fb6d05c41) to branch 'net.randombit.botan.c++0x' (head 56e105e678540c8bcafa4d0198c19a9489fbf8d1)
| | | * \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-1563-793/+258
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5438defd358f82e876917a8bd6d735305ecb0a8e) to branch 'net.randombit.botan.c++0x' (head cbdb2fd418557add29a536f7bdb6e78db16f725c)
| | | | * | | | Move mutex directory back to the Atticlloyd2009-07-0314-421/+0
| | | | | | | |
| | | | * | | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-0329-172/+220
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d6d32791adfa878b6fc0dd3a5b65a665b7bbb549) to branch 'net.randombit.botan.c++0x' (head 54deb0e078aab8cd91c8fd8819d1e6668fc762da)
| | | | * | | | | Move mutex.h to src/mutex (from Attic)lloyd2009-07-031-0/+56
| | | | | | | | |
| | | | * | | | | Move mutex from Attic to src to deal with merge conflictlloyd2009-07-0312-0/+356
| | | | | | | | |
| | | | * | | | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-06-0463-785/+258
| | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6a746ccf1e957dba703e65372050a7bd4d6b117d) to branch 'net.randombit.botan.c++0x' (head f54bb7b391eb3b71f380a68ddd460debdc31545d)
| | | | | * | | | | Use C++0x std::shared_ptr<> instead of TR1'slloyd2009-04-0115-72/+58
| | | | | | | | | |
| | | | | * | | | | Replace the (deprecated) auto_ptr with unique_ptr.lloyd2009-04-0124-71/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was mostly a s/auto_ptr/unique_ptr/, except in the CVC code and one function in ECDSA, which relied on auto_ptr's move semantics (ugh) and had to be modified in various ways.
| | | | | * | | | | A few experiments with auto keyword type inference. Looks like things willlloyd2009-04-013-79/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be much cleaner, though I am looking forward to the new for syntax which will simplify a lot of these uses further.
| | | | | * | | | | Remove copy_if, now included in C++0x (also, it turns out, not being usedlloyd2009-04-011-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the source).
| | | | | * | | | | Remove the mutex classes in favor of C++0x's std::mutex and std::lock_guardlloyd2009-04-0125-545/+51
| | | | | | | | | |
| | | | | * | | | | Start a new branch for C++0x experimentation.lloyd2009-04-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With GCC, build as C++0x (set the binary name to my particular installed GCC 4.4 snapshot).
* | | | | | | | | | 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-292-87/+99
| | | | | | | | | |
* | | | | | | | | | 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
| | | | | | | | | |
* | | | | | | | | | 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-2914-0/+28
| | | | | | | | | |
* | | | | | | | | | Use load_le instead of make_u32bit in Serpent x86 key schedule codelloyd2009-09-291-1/+1
| | | | | | | | | |
* | | | | | | | | | merge of '1efb42e84eca9e01edd7b7f1335af7011eab994c'lloyd2009-09-254-0/+168
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and 'bb55abb64b64ca63aeb361db40c6bc4692d4ce48'
| * | | | | | | | | | Add runtime cpuid support. Check in the SSE2 engine that SSE2 is actuallylloyd2009-09-254-0/+168
| | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | existing on the current CPU before returning an object.
* | | | | | | | | | 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 unneeded headerslloyd2009-09-211-2/+0
| | | | | | | | | |
* | | | | | | | | | Update the implementation of Blue Midnight Wish to use the Round 2 tweakedlloyd2009-09-212-90/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | version.
* | | | | | | | | | Indentation fixlloyd2009-09-211-13/+12
| | | | | | | | | |
* | | | | | | | | | propagate from branch 'net.randombit.botan.1_8' (head ↵lloyd2009-09-17134-1733/+3572
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1f4729658b70a340064bc9a33c923a44ecab84d8) to branch 'net.randombit.botan' (head b9ca6596a127964cb9795d22bc2a5642fab5de84)
| * | | | | | | | | The get_tm function was duplicated. Move single version to timer.{h,cpp}lloyd2009-09-175-65/+35
| | |_|_|_|_|_|_|/ | |/| | | | | | |
| * | | | | | | | Split up util.h into 3 fileslloyd2009-09-1728-40/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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