Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Lowercase DOCDIR to match common conventions | lloyd | 2010-01-29 | 3 | -3/+3 |
| | |||||
* | Add a set of test vectors for 3DES in counter mode generated by | lloyd | 2010-01-29 | 1 | -0/+2746 |
| | | | | | Crypto++ 5.6.0. Includes several largeish (64 and 128 block) tests, as further tests for a future bitslice implementation. | ||||
* | Add a set of XTS tests using TripleDES; XTS mode supports either a 64-bit | lloyd | 2010-01-28 | 1 | -0/+1408 |
| | | | | | | | | | | or 128-bit cipher, but so far only 128-bit ciphers had been tested. I could not find another implementation of XTS supporting 3DES so these may be wrong, but at least this ensures they will be consistently wrong. Mostly in the smaller range (9 to 128 bytes) plus a few with large inputs (64 blocks) because if a bitslice DES implementation is ever added a test that actually does 64 blocks in parallel will be needed. | ||||
* | Remove debug check | lloyd | 2010-01-27 | 1 | -7/+10 |
| | |||||
* | Fix several buffering problems in the XTS implementation that would | lloyd | 2010-01-25 | 2 | -9/+7141 |
| | | | | | | | | | | | | | cause bad results if the input was not an even multiple of the block size. No released version was broken because the changes which caused the problem were related to using Buffered_Filter, which was introduced after 1.9.3 was released. Add more XTS test vectors using AES, Serpent, and Twofish. The AES tests come from Brian Gladman's XTS implementation. The Serpent and Twofish tests were generated by botan. | ||||
* | Remove global variable | lloyd | 2010-01-22 | 2 | -4/+2 |
| | |||||
* | Prevent a crash in GMP_Engine if the library is shutdown and then | lloyd | 2010-01-22 | 3 | -12/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | reinitialized. It would cache an Allocator pointer on first use, and then never zero it, so after the reinit the pointer would be going to a now deallocated Allocator object. Encountered in the SoftHSM test suite, reported by Ondrej Sury. Use a simple reference counting scheme to zero the pointer, and reset the GNU MP memory functions. This also fixes a quite obscure and never reported bug, that if the GMP engine was used, and if the library was deinitialized but then the program tried to use GNU MP, the allocator functions would crash. Now after deinit the allocator funcs revert to the defaults. The reference count is not updated atomically so this is not thread safe, but seems a non-issue; the only time this could happen (especially now that the GMP engine header is internal-only) is if multiple threads were attempting to initialize / shutdown the library at once - which won't work anyway for a variety of reasons, including contention on the (unlocked) global_lib_state pointer. If at some point thread safety is useful here, the refcnt can be locked by a mutex, or kept in an atomic<unsigned int>. | ||||
* | Add SQLite3 encryption codec, contributed by Olivier de Gaalon. Uses | lloyd | 2010-01-22 | 8 | -0/+727 |
| | | | | Twofish in XTS mode for encryption by default, but is easily tweakable. | ||||
* | s/j/i/ in loop | lloyd | 2010-01-21 | 1 | -2/+2 |
| | |||||
* | Inline debug funcs to debug.h, make print_vec a template on the base type | lloyd | 2010-01-21 | 3 | -38/+15 |
| | |||||
* | Ignore example binaries | lloyd | 2010-01-19 | 1 | -0/+1 |
| | |||||
* | Fix cpuid example | lloyd | 2010-01-19 | 1 | -1/+0 |
| | |||||
* | Add OID for Serpent/CBC | lloyd | 2010-01-19 | 1 | -0/+1 |
| | |||||
* | Add SIMD version of Noekeon. On a Core2, about 2.7x faster using SIMD_SSE2 | lloyd | 2010-01-12 | 8 | -2/+2230 |
| | | | | and 1.6x faster using SIMD_Scalar. | ||||
* | Kill unneeded include | lloyd | 2010-01-12 | 1 | -1/+0 |
| | |||||
* | Fix a test broken by the recent exception hierarchy changes | lloyd | 2010-01-12 | 1 | -10/+2 |
| | |||||
* | Add operator& and non-mutating rotates to SIMD_32 | lloyd | 2010-01-12 | 4 | -0/+34 |
| | |||||
* | Remove a debug print | lloyd | 2010-01-12 | 1 | -3/+0 |
| | |||||
* | Add block cipher cascade | lloyd | 2010-01-11 | 7 | -2/+215 |
| | |||||
* | Typo fix | lloyd | 2010-01-11 | 1 | -1/+1 |
| | |||||
* | Minor cleanup | lloyd | 2010-01-08 | 1 | -8/+9 |
| | |||||
* | Remove catch clauses made redundant by inheritence changes in exception ↵ | lloyd | 2010-01-08 | 1 | -5/+0 |
| | | | | hierarchy. | ||||
* | merge of 'bf0e5684d8ba5fb0a21cdcd11d26995cbb250c4a' | lloyd | 2010-01-07 | 31 | -153/+97 |
|\ | | | | | | | and 'e30a741f6014987e9683842ede22c44b2db03c56' | ||||
| * | Clean up exceptions. Remove some unused ones like Config_Error. Make | lloyd | 2010-01-05 | 31 | -153/+97 |
| | | | | | | | | | | | | | | Invalid_Argument just a typedef for std::invalid_argument. Make Botan::Exception a typedef for std::runtime_error. Make Memory_Exhaustion a public exception, and use it in other places where memory allocations can fail. | ||||
* | | Doxygen comments | lloyd | 2010-01-07 | 1 | -14/+63 |
| | | |||||
* | | Use Algorithm_Factory instead of instantiating directly; will allow the use | lloyd | 2010-01-07 | 1 | -10/+14 |
| | | | | | | | | of AES-NI instructions, etc, in the PRNGs. | ||||
* | | Recognize aes_isa engine, set as high priority | lloyd | 2010-01-06 | 1 | -4/+6 |
| | | |||||
* | | Add --verbose and --quiet options | lloyd | 2010-01-06 | 1 | -8/+21 |
| | | |||||
* | | simd_32 should be autoload, not always. Copy+pasted from util's info.txt | lloyd | 2010-01-06 | 1 | -2/+0 |
|/ | |||||
* | Remove stubs for VIA Padlock support. I have no plans to implement it | lloyd | 2010-01-05 | 2 | -24/+1 |
| | | | | | | and don't even have access to a VIA with AES so could not test it anyway. If someone else wants to do it, then the implementation for AES-NI should provide a good template. | ||||
* | Split AES tests by key length for AES-NI | lloyd | 2010-01-05 | 1 | -44/+45 |
| | |||||
* | merge of 'a51f8d7dec78251a3a4ccf162b346c289fc1d72a' | lloyd | 2010-01-04 | 6 | -127/+90 |
|\ | | | | | | | and 'aafa02a299b61c7762ae71dfc429396aa6bd25b3' | ||||
| * | Remove Exception::set_msg. Inline all exception constructors. | lloyd | 2010-01-04 | 5 | -125/+90 |
| | | |||||
| * | Remove debug print | lloyd | 2010-01-04 | 1 | -2/+0 |
| | | |||||
* | | Make all parallel block modes 16 blocks wide | lloyd | 2010-01-04 | 1 | -4/+4 |
| | | |||||
* | | Specific large tests for AES-128 to hit engines | lloyd | 2010-01-04 | 1 | -3/+7 |
| | | |||||
* | | Move Tiger::mix to anon namespace | lloyd | 2010-01-04 | 2 | -14/+17 |
| | | |||||
* | | merge of 'aa801db59c03df9f37c4f3e254d88b1ca1f5732d' | lloyd | 2010-01-04 | 2 | -1/+23 |
|\| | | | | | | | and 'c6c0f6c14a5e0163127ceb1c299297450a50b06f' | ||||
| * | Make ssse3/aes_ni depend on sse2; --disable-sse2 turns off all of then | lloyd | 2010-01-04 | 1 | -0/+21 |
| | | |||||
| * | Fix compile; aes engine header is internal | lloyd | 2010-01-04 | 1 | -1/+2 |
| | | |||||
* | | Remove pshufb-based bswap_4; it causes problems too easily with external | lloyd | 2010-01-04 | 1 | -21/+1 |
|/ | | | | | | application code that wants to use loadstor.h, since that loads bswap.h and if SSSE3 isn't enabled via -march GCC will error out. Doesn't seem to be at all faster than the shuffle-based bswap for SSE2 on a Core2 in any case. | ||||
* | Completely inline getopt.cpp into getopt.h so it can be used in toolbox and ↵ | lloyd | 2010-01-03 | 2 | -96/+85 |
| | | | | other examples | ||||
* | The first bits of a general toolbox program. Currently does hex and base64 | lloyd | 2009-12-31 | 1 | -0/+235 |
| | | | | encoding/decoding, bzip2 and zlib compression/decompression, and hashing. | ||||
* | Drop test_es.cpp, EntropySources no longer directly available outside library | lloyd | 2009-12-31 | 1 | -121/+0 |
| | |||||
* | Add copyright and license notes to pretty much every file that didn't have them, | lloyd | 2009-12-31 | 73 | -226/+437 |
| | | | | | | | | including the examples and self-test code. Most of these files had not copyright/license information at all; since a major point of the examples is to allow users to copy and paste code that already does something they want, an ambigious license is not good. | ||||
* | Fix POWER6 AltiVec detection | lloyd | 2009-12-30 | 1 | -0/+1 |
| | |||||
* | Oops, it's TARGET_CPU_IS_XXX_FAMILY, not TARGET_IS_XXX_FAMILY. | lloyd | 2009-12-30 | 3 | -7/+7 |
| | | | | Also, fix AltiVec detection on Linux and NetBSD for most G4s. | ||||
* | Remove BOTAN_DLL from forward decl, not needed and GCC 4.1 warns | lloyd | 2009-12-30 | 1 | -1/+1 |
| | |||||
* | Buffered_Filter had virtual functions but not a virtual destructor | lloyd | 2009-12-30 | 1 | -0/+2 |
| | |||||
* | Clean up AltiVec detection code. Add (untested) support for OS X AltiVec | lloyd | 2009-12-30 | 1 | -53/+74 |
| | | | | detection. |