aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/modes/stream_mode.h
Commit message (Collapse)AuthorAgeFilesLines
* Handle IV carryover in CBC, CFB, and stream ciphersJack Lloyd2017-05-131-1/+4
| | | | | | Allow an empty nonce to mean "continue using the current cipher state". GH #864
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-181-3/+3
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* Cipher_Mode and AEAD_Mode improvementsDaniel Neus2016-11-081-1/+8
| | | | | | | | | | | | See PR #552 - Add Cipher_Mode::reset() which resets just the message specific state and allows encrypting again under the existing key - In Cipher_Mode::clear() (at some planes) use cipher->clear() instead of resetting the pointer which would make the cipher object unusable - EAX_Decryption::output_length() bugfix?! Now its possible to decrypt an empty ciphertext (just a tag) - Bugfix for GCM_Decryption::finish() - set tag length in GCM_Mode::name() - Cipher_Mode tests: add tests for reset()and process() - AEAD_Mode tests: add tests for reset(), clear(), update() and process()
* Improve modes doxygen [ci skip]René Korthaus2016-10-191-0/+3
|
* Cipher_Mode API improvementsJack Lloyd2016-09-011-6/+5
| | | | | | | | | | | | | | | | | | | | The Cipher_Mode::update API is more general than needed to just support ciphers (this is due to it previously being an API of Transform which before 8b85b780515 was Cipher_Mode's base class) Define a less general interface `process` which either processes the blocks in-place, producing exactly as much output as there was input, or (SIV/CCM case) saves the entire message for processing in `finish`. These two uses cover all current or anticipated cipher modes. Leaves `update` for compatability with existing callers; all that is needed is an inline function forwarding to `process`. Removes the return type from `start` - in all cipher implementations, this always returned an empty vector. Adds BOTAN_ARG_CHECK macro; right now BOTAN_ASSERT is being used for argument checking in some places, which is not right at all.
* cppcheck fixes: Class 'X' has a constructor with 1 argument that is not ↵Daniel Neus2016-03-051-1/+1
| | | | explicit.
* modes: Add missing overridesDaniel Seither2015-07-301-1/+1
|
* Move Cipher_Mode enum out of types.h, move stream cipher mode to new headerlloyd2015-02-051-0/+63