aboutsummaryrefslogtreecommitdiffstats
path: root/src/modes
Commit message (Collapse)AuthorAgeFilesLines
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-298-17/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* Similiar treatment for OFB which is also just a plain stream cipherlloyd2009-10-143-113/+0
|
* Convert CTR_BE from a Filter to a StreamCipher. Must wrap in a ↵lloyd2009-10-143-207/+0
| | | | | | StreamCipher_Filter to pass it directly to a Pipe now.
* Split up util.h into 3 fileslloyd2009-09-171-1/+0
| | | | | | | - rounding.h (round_up, round_down) - workfactor.h (dl_work_factor) - timer.h (system_time) And update all users of the previous util.h
* propagate from branch 'net.randombit.botan.1_8' (head ↵lloyd2009-08-311-4/+4
|\ | | | | | | | | | | c2624292793f396cf940403e0d12073a9b2c7b17) to branch 'net.randombit.botan' (head 07a71effa1ba495b6ea57b2490ad38bf58a23bd0)
| * Remove redunant buffer create calls in XTSlloyd2009-08-281-4/+0
| |
| * In XTS, reset the buffer positions at the end of a message.lloyd2009-08-271-0/+4
| |
* | Use a much faster counter increment system, noticable speedups (~15%)lloyd2009-08-121-20/+21
| | | | | | | | for both Serpent and AES-128 in CTR mode.
* | Modify Keyed_Filter so it is a pure interfacelloyd2009-08-118-87/+233
| | | | | | | | | | | | | | | | | | | | Modify ECB to use parallel encryption/decryption where possible Add toggles in build.h specifying how many blocks to process in parallel. Defaults to 8 blocks for all modes, which is sufficient that any likely parallelism can be extracted (via SIMD or concurrent execution) but not so much as to seem likely to cause cache problems (8*128 bits = 128 bytes, or two x86 cache lines)
* | Change the BlockCipher interface to support multi-block encryption andlloyd2009-08-112-22/+99
|/ | | | | | | | | decryption. Currently only used for counter mode. Doesn't offer much advantage as-is (though might help slightly, in terms of cache effects), but allows for SIMD implementations to process multiple blocks in parallel when possible. Particularly thinking here of Serpent; TEA/XTEA also seem promising in this sense, as is Threefish once that is implemented as a standalone block cipher.
* Correct some errors in the automatically generated dependencies.lloyd2009-07-166-6/+0
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-157-12/+16
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* Add XTS mode, from IEEE P1619lloyd2009-04-163-0/+435
|
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-3019-316/+354
| | | | | | | | | | | | | | | up during the Fedora submission review, that each source file include some text about the license. One handy Perl script later and each file now has the line Distributed under the terms of the Botan license after the copyright notices. While I was in there modifying every file anyway, I also stripped out the remainder of the block comments (lots of astericks before and after the text); this is stylistic thing I picked up when I was first learning C++ but in retrospect it is not a good style as the structure makes it harder to modify comments (with the result that comments become fewer, shorter and are less likely to be updated, which are not good things).
* Add some Doxygen comments for BlockCipherModePaddingMethodlloyd2008-11-181-23/+62
|
* Make cipher mode padder non-const in ECB and CBClloyd2008-11-103-14/+14
|
* Remove support for block cipher padding methods in engine. Like S2K,lloyd2008-11-102-0/+5
| | | | | | | | | | they were not used at all outside of the core library implementations. One change is that now get_bc_pad returns a new object, instead of a pointer to a const shared padding method. This does imply a bit more dynamic memory overhead, but the modes are pretty light (stateless, for the most part), so this doesn't seem like a big deal. So modify ECB and CBC classes to add destructors to delete the padding object.
* Add dep in ecb and cbc on mode_padlloyd2008-11-102-0/+2
|
* Update modes requires since modebase is now modeslloyd2008-11-097-7/+7
|
* Move cipher mode base class to modes/ dirlloyd2008-11-093-0/+0
|
* Macro cleanuplloyd2008-11-091-2/+2
|
* Remove lookup.h use from EAXlloyd2008-11-084-43/+26
|
* Remove lookup.h from CTS modelloyd2008-11-082-52/+18
|
* Remove lookup.h use from ECB, CBC, CFBlloyd2008-11-086-99/+52
|
* Remove use of lookup.h from OFBlloyd2008-11-083-13/+12
|
* Remove use of lookup.h in CTR modelloyd2008-11-082-11/+9
|
* Remove lookup.h from modebaselloyd2008-11-088-22/+38
|
* Split base.h into block_cipher.h and stream_cipher.hlloyd2008-11-084-1/+4
| | | | | | It turned out many files were including base.h merely to get other includes (like types.h, secmem.h, and exceptn.h). Those have been changed to directly include the files containing the declarations that code needs.
* Move declaration of MessageAuthenticationCode base class to mac.h (from base.h)lloyd2008-11-081-0/+1
|
* More Doxygen comments from InSiTolloyd2008-10-131-3/+4
|
* Rename all modinfo.txt files to info.txt, since they are all (none) oflloyd2008-09-299-0/+0
| | | | | them modules now. In any case there is no distinction so info.txt seems better.
* Move mode padding schemes to modes/mode_pad modulelloyd2008-09-283-0/+214
|
* Add missing modinfo for modebase modulelloyd2008-09-281-0/+14
|
* Add modebase module (and add dep in cipher mode impls). Move data_snk.cpp to ↵lloyd2008-09-289-0/+123
| | | | filters
* Move all modules into src/ directorylloyd2008-09-2822-0/+1482