aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/modes/cfb
Commit message (Collapse)AuthorAgeFilesLines
* Add final attribute to many classesJack Lloyd2016-01-101-2/+2
| | | | | | | In some cases this can offer better optimization, via devirtualization. And it lets the user know the class is not intended for derivation. Some discussion in GH #402
* Reroot the exception hierarchy into a toplevel Exception classJack Lloyd2015-12-111-1/+1
| | | | | | | | As the alternatives are unfortunate for applications trying to catch all library errors, and it seems deriving from std::runtime_error causes problems with MSVC DLLs (GH #340) Effectively reverts 2837e915d82e43
* Same treatment for cipher modesJack Lloyd2015-09-101-2/+0
|
* Make Botan compile when only some modules are enabledSimon Warta2015-07-031-1/+0
| | | | Fixes #146.
* More changes for use with debug STLSimon Warta2015-06-301-2/+8
|
* lib/modes: Convert &vec[0] to vec.data()Simon Warta2015-06-241-8/+8
|
* Add a runtime map of string->func() which when called returnlloyd2015-01-281-1/+3
| | | | | | | | | | | | | | | | | Transforms and BlockCiphers. Registration for all types is done at startup but is very cheap as just a std::function and a std::map entry are created, no actual objects are created until needed. This is a huge improvement over Algorithm_Factory which used T::clone() as the function and thus kept a prototype object of each type in memory. Replace existing lookup mechanisms for ciphers, AEADs, and compression to use the transform lookup. The existing Engine framework remains in place for BlockCipher, but the engines now just call to the registry instead of having hardcoded lookups. s/Transformation/Transform/ with typedefs for compatability. Remove lib/selftest code (for runtime selftesting): not the right approach.
* Ensure all files have copyright and license info.lloyd2015-01-102-2/+2
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* Replace Transformatio::nstart with start_raw so we can do a full setlloyd2014-11-052-3/+2
| | | | of overloads in the base class with the same name.
* Avoid memory overread in last block of CFB encryption.lloyd2014-01-181-1/+1
|
* Guess I won't be needing theselloyd2014-01-181-1/+0
|
* Split off the keyed interfaces of transform to Keyed_Transformlloyd2014-01-181-1/+1
| | | | | Remove the unhelpful 'Algorithm' base class which had previously acted more or less as a global base.
* Move lib into srclloyd2014-01-103-0/+242