Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add ; after call to VC++'s __cpuid, not a macro | lloyd | 2009-10-25 | 1 | -1/+1 |
| | |||||
* | Cast the u32bit output array to an int* when calling the VC++ intrinsic, | lloyd | 2009-10-25 | 1 | -3/+6 |
| | | | | | | | since it passes signed ints for whatever reason. Ensure CALL_CPUID is always defined (previously, it would not be if on an x86 but compiled with something other than GCC, ICC, VC++). | ||||
* | Kill stdio include | lloyd | 2009-10-23 | 1 | -2/+0 |
| | |||||
* | Use new load/store ops in xtea x4 code | lloyd | 2009-10-23 | 1 | -12/+6 |
| | |||||
* | Add new store_[l|b]e variants taking 8 values. | lloyd | 2009-10-23 | 1 | -16/+108 |
| | | | | | | Add new load options that are passed a number of variables by reference, setting them all at once. Will allow for batching operations (eg using SIMD operations to do 128-bit wide bswaps) for future optimizations. | ||||
* | Simply unrolling the loop in XTEA and processing 4 blocks worth of data at | lloyd | 2009-10-23 | 1 | -0/+70 |
| | | | | | | | | a time more than doubles performance (from 38 MB/s to 90 MB/s on Core2 Q6600). Could do even better with SIMD, I'm sure, but this is fast and easy, and works everywhere. Probably will hurt on 32-bit x86 from the register pressure. | ||||
* | Increase the internal buffer size of the Hex coder/decoder, and put it into | lloyd | 2009-10-23 | 1 | -3/+5 |
| | | | | | | | | | | | | | | a named constant instead of being magic. Move from 64 bytes to 256. This was necessary to allow Pipe(new Hex_Decoder, filter, ...) to give filter a sufficiently large input block. It would be nicer if the filter itself (in this case, ECB_Decryption, but others apply as well) was smart enough to buffer on its own. It might also be useful if code could query what parallelism a block cipher provided and modify their actions accordingly. | ||||
* | Remove all exception specifications. The way these are designed in C++ is | lloyd | 2009-10-22 | 121 | -140/+140 |
| | | | | | | just too fragile and not that useful. Something like Java's checked exceptions might be nice, but simply killing the process entirely if an unexpected exception is thrown is not exactly useful for something trying to be robust. | ||||
* | Enable CPUID on x86 (checking wrong macro name) | lloyd | 2009-10-21 | 1 | -1/+1 |
| | |||||
* | Format, add names to params in header | lloyd | 2009-10-19 | 1 | -3/+7 |
| | |||||
* | Add theoreticaly support for Clang/LLVM. Current Gentoo clang ebuild doesn't | lloyd | 2009-10-19 | 1 | -0/+46 |
| | | | | seem to work with C++ at all so untested. | ||||
* | Also enable x86 asm word_add | lloyd | 2009-10-15 | 1 | -8/+0 |
| | |||||
* | Enable x86-64 asm word_add | lloyd | 2009-10-15 | 1 | -8/+0 |
| | |||||
* | merge of '5cfca720d4ca8d1e8f6946c7d9b4a8a6943094d0' | lloyd | 2009-10-15 | 27 | -428/+445 |
|\ | | | | | | | and '8cc9c08544c0f1f1dba7c7a8da51d1657b1c7df8' | ||||
| * | Similiar treatment for OFB which is also just a plain stream cipher | lloyd | 2009-10-14 | 7 | -100/+148 |
| | | |||||
| * | Convert CTR_BE from a Filter to a StreamCipher. Must wrap in a ↵ | lloyd | 2009-10-14 | 10 | -217/+224 |
| | | | | | | | | | | | | StreamCipher_Filter to pass it directly to a Pipe now. | ||||
| * | Cleanups/random changes in the stream cipher code: | lloyd | 2009-10-14 | 14 | -111/+73 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove encrypt, decrypt - replace by cipher() and cipher1() Remove seek() - not well supported/tested, I want to redo with a new interface once CTR and OFB modes become stream ciphers. Rename resync to set_iv() Remove StreamCipher::IV_LENGTH and add StreamCipher::valid_iv_length() to allow multiple IV lengths (as for instance Turing allows, as would Salsa20 if XSalsa20 were supported). | ||||
* | | Avoid using word_add() in gfp_element.cpp, actually more complex than necessary, | lloyd | 2009-10-15 | 1 | -1/+3 |
|/ | | | | and was tickling a bug in the asm versions because of the constant 0. | ||||
* | Check for cipher_mode() being set; if it is, not an algo_factory algo | lloyd | 2009-10-13 | 1 | -0/+4 |
| | |||||
* | propagate from branch 'net.randombit.botan.1_8' (head ↵ | lloyd | 2009-10-13 | 247 | -2406/+7481 |
|\ | | | | | | | | | | | c5ae189464f6ef16e3ce73ea7c563412460d76a3) to branch 'net.randombit.botan' (head e2b95b6ad31c7539cf9ac0ebddb1d80bf63b5b21) | ||||
| * | Remove redundant function | lloyd | 2009-10-09 | 1 | -10/+3 |
| | | |||||
| * | Add PBKDF2 wrapper | lloyd | 2009-10-09 | 1 | -0/+17 |
| | | |||||
| * | Reasonably functional RSA support; keygen, import/export, encrypt/decrypt, ↵ | lloyd | 2009-10-09 | 5 | -156/+231 |
| | | | | | | | | sign/verify | ||||
| * | Fix python install target. Add CryptoBox wrapper plus an example | lloyd | 2009-10-09 | 2 | -1/+25 |
| | | |||||
| * | Use -Wno-write-strings in XS wrapper to avoid many warnings | lloyd | 2009-10-09 | 1 | -1/+1 |
| | | |||||
| * | Drop the SWIG wrappers; never worked. Move the XS wrappers to src/wrap/perl-xs | lloyd | 2009-10-09 | 15 | -0/+1869 |
| | | |||||
| * | Add more or less functional integration with Boost.Python. Use | lloyd | 2009-10-09 | 9 | -2/+732 |
| | | | | | | | | | | --use-boost-python to enable creating a second makefile, Makefile.python, which has targets for building and installing the Python module. | ||||
| * | Fix --enable-debug | lloyd | 2009-10-09 | 1 | -2/+3 |
| | | | | | | | | With GCC, only use -finline-functions if not a debug build | ||||
| * | Add support for GNU/Hurd | lloyd | 2009-10-07 | 3 | -0/+18 |
| | | |||||
| * | Remove a dead function | lloyd | 2009-10-07 | 1 | -9/+0 |
| | | |||||
| * | Remove includes of stdio.h | lloyd | 2009-10-07 | 3 | -6/+0 |
| | | |||||
| * | Oops, removed assert.h from gfp_element.cpp which uses assert :( | lloyd | 2009-10-07 | 1 | -0/+1 |
| | | |||||
| * | New parsing system for SCAN names | lloyd | 2009-10-07 | 2 | -39/+92 |
| | | |||||
| * | Run self tests at startup | lloyd | 2009-10-07 | 1 | -0/+4 |
| | | |||||
| * | Add 'Distributed under...' text to files missing it. Some format cleanups | lloyd | 2009-10-07 | 12 | -106/+106 |
| | | |||||
| * | Add cipher mode selftesting in selftest.cpp | lloyd | 2009-10-06 | 3 | -151/+198 |
| | | | | | | | | Convert hardcoded startup selftests to use the new selftest framework | ||||
| * | Fix mode name parsing | lloyd | 2009-10-06 | 1 | -1/+1 |
| | | |||||
| * | Refactor Default_Engine::get_cipher so bits can be called from selftest | lloyd | 2009-10-06 | 2 | -84/+104 |
| | | |||||
| * | Extensions to SCAN_Name for dealing with cipher mode names | lloyd | 2009-10-06 | 2 | -3/+62 |
| | | |||||
| * | In to_u32bit, ignore space characters in input | lloyd | 2009-10-06 | 1 | -0/+3 |
| | | |||||
| * | Add an implementation of threshold secret sharing from draft-mcgrew-tss-02 | lloyd | 2009-10-06 | 3 | -0/+328 |
| | | |||||
| * | Clean up cpuid calling | lloyd | 2009-10-06 | 1 | -32/+26 |
| | | |||||
| * | Disable prefetch in AES for now. Problem: with iterative modes like CBC, | lloyd | 2009-09-30 | 2 | -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 AES | lloyd | 2009-09-30 | 1 | -1/+8 |
| | | |||||
| * | Add vendor ID for AMD | lloyd | 2009-09-29 | 1 | -1/+1 |
| | | |||||
| * | Significantly rework CPUID support. Add cache line detection | lloyd | 2009-09-29 | 2 | -87/+99 |
| | | |||||
| * | Use prefetching in AES. Nominally, this will help somewhat with preventing | lloyd | 2009-09-29 | 1 | -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 a | lloyd | 2009-09-29 | 1 | -9/+25 |
| | | | | | | | | helper function for fetching both inputs and outputs of block ciphers. | ||||
| * | Add interface for general runtime self-testing of ciphers, hashes, etc | lloyd | 2009-09-29 | 2 | -8/+75 |
| | | |||||
| * | Remove add block from utils/info.txt | lloyd | 2009-09-29 | 1 | -27/+0 |
| | |