aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/test_aead.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix clang-tidy readability-convert-member-functions-to-staticJack Lloyd2022-02-111-6/+12
|
* Fix clang-tidy readability-container-size-empty warningsJack Lloyd2022-02-061-1/+1
|
* In tests check for required keysJack Lloyd2021-05-301-1/+1
| | | | | Correct various cases where tests were indicated to require keys which were actually optional or in a few cases not even used within the test.
* Tag all tests with a categoryJack Lloyd2020-10-281-1/+1
|
* Fix CCM bugJack Lloyd2019-10-131-0/+4
| | | | | | It would accept finish() even if no nonce was set GH #2150
* Correct testJack Lloyd2018-11-021-2/+2
| | | | This was trying to test for issue in #1723 but was incorrect.
* Handle setting AD after a nonce correctly in AEADsJack Lloyd2018-10-311-4/+29
| | | | | | | | | | | In some cases (EAX, GCM, ChaCha20Poly1305) the mode does not handle this. However previously it handled it incorrectly by producing incorrect output. Instead reject it with an exception. Add a test that, if the mode accepts an AD before the nonce, then it must process the message correctly. This is similar to the existing test that if the mode accepts an AD before the key is set it must do the right thing with it.
* Refactor mode tests, and correct bugs foundJack Lloyd2018-09-291-8/+24
| | | | | | | | | | | | | | | | | | | Several problems in CBC found by adding tests - If you set a key, then set a nonce, then set a new key, you could encrypt without setting a new nonce. - It was possible to call CBC finish without setting a nonce, which would crash. - If you had an CBC decryption object, set a key, set a nonce, then reset message state, it should throw because no nonce is set. Instead it would carry on using an all-zero nonce. Disable CommonCrypto with PKCS7 padding as it seems to have some problem that I cannot figure out from the build logs. This work sponsored by Ribose Inc
* Add a test that processing without a nonce set failsJack Lloyd2018-08-171-3/+18
|
* Fix an EAX bug in reset()Jack Lloyd2018-08-171-7/+4
| | | | | | | | | | | | | | It failed to reset any data that had been fed into CMAC so far, so a sequence with eax->set_key(key); eax->start(nonce); eax->process(discarded_bits); eax->reset(); eax->start(second_nonce); eax->process(second_msg); would produce incorrect results
* Fix shadow warningsJack Lloyd2018-08-091-6/+6
|
* Fix crashes when modes were used unkeyed.Jack Lloyd2018-08-051-3/+41
| | | | Fix crashes in OCB, GCM and CFB when called without a key being set.
* Make the tests VarMap an actual type instead of a hashmap typedef.Jack Lloyd2018-05-291-5/+5
|
* Add RAII versions of get_cipher_mode and get_aeadJack Lloyd2018-04-071-4/+4
| | | | See also #1526
* Add a test that update_granularity > minimum_final_sizeJack Lloyd2017-12-311-0/+4
| | | | FFI requires so this so make sure it's true. GH #1377
* Test AEAD provider stringsJack Lloyd2017-12-291-0/+7
|
* Better tests for SIVJack Lloyd2017-09-241-12/+30
| | | | | | | | | | | | Correct errors in the AEAD tests that assumed process/update always return something - that isn't true for SIV Minor optimizations in CMAC and CTR to cache the block size instead of making a zillion virtual calls for it. Generalize SIV slightly to where it could support a non-128 bit cipher, but don't pull the trigger on it since I can't find any implementations to crosscheck with.
* Add final annotations as appropriate in the test codeJack Lloyd2017-09-221-1/+1
|
* Reformat code with astyle + fix code styleTomasz Frydrych2017-05-011-1/+1
|
* Add tests for AEAD name and nonce size APIsJack Lloyd2016-12-221-0/+3
|
* Minor refactoring of Text_Based_TestJack Lloyd2016-12-191-3/+1
| | | | | | Turns out astyle has some bugs wrt C++11 initialize lists. Rather than having astyle mangle all of the tests, convert to using a string which is split once at the start instead of a vector of keys.
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-181-5/+5
| | | | | | 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.
* Add test for various functions previously missed (T::clone, PBKDF::name, ↵Jack Lloyd2016-11-261-0/+4
| | | | | | | AEAD::output_length) Fix a bug in CCM, GCM, and OCB decryption which caused `output_length(tag_size())` to fail even though empty plaintexts are certainly defined for all three modes.
* Remove unused variable from testsJack Lloyd2016-11-121-4/+0
|
* Cipher_Mode and AEAD_Mode improvementsDaniel Neus2016-11-081-44/+243
| | | | | | | | | | | | 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()
* Fix bug in IETF version of ChaCha20Poly1305Jack Lloyd2016-03-231-5/+12
| | | | | If the input lengths are exact multiples of 16 bytes then no padding should be added. Previously 16 bytes of zero padding were added instead.
* some trivial compiler/PVS-Studio warning fixesDaniel Neus2015-12-221-3/+3
|
* Add --data-dir option to test commandJack Lloyd2015-12-201-1/+1
| | | | | | | Understand using '-' on the command line to mean stdin Fix last few unit tests that wanted to write to the filesystem; removes outdata directory.
* Update and consolidate the test framework.Jack Lloyd2015-11-111-112/+96
| | | | | | | | | | | The tests previously had used 4 to 6 different schemes internally (the vec file reader framework, Catch, the old InSiTo Boost.Test tests, the PK/BigInt tests which escaped the rewrite in 1.11.7, plus a number of one-offs). Converge on a design that works everywhere, and update all the things. Fix also a few bugs found by the test changes: SHA-512-256 name incorrect, OpenSSL RC4 name incorrect, signature of FFI function botan_pubkey_destroy was wrong.
* Fix TEST_DATA_DIRSimon Warta2015-07-151-1/+1
|
* Fix module combi: adler32,sivSimon Warta2015-07-081-1/+1
|
* Make Botan compile when only some modules are enabledSimon Warta2015-07-031-0/+8
| | | | Fixes #146.
* Replace \n by std::endl in tests to ensure proper flushingSimon Warta2015-06-191-6/+5
| | | | | | | - Remove additional newlines in CHECK_MESSAGE call - Remove redundant output of algo in aead_test() Closes #115
* Ensure all files have copyright and license info.lloyd2015-01-101-0/+6
| | | | | 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-051-5/+5
| | | | of overloads in the base class with the same name.
* More fixes for minified buildslloyd2014-02-091-0/+3
|
* Split up docs into the reference manual, the website, and everything else.lloyd2014-01-101-0/+137
| | | | | | | | | | | Add `website` target to makefile. Some progress towards fixing minimized builds. TLS now hard requires ECDSA and GCM since otherwise a minimized build has only insecure options. Remove boost_thread dependency in command line tool
* Rename test sourceslloyd2014-01-071-88/+0
|
* Split up public key tests and data, use new test frameworklloyd2014-01-051-8/+8
|
* Shuffle things around. Add NIST X.509 test to build.lloyd2014-01-011-0/+88