aboutsummaryrefslogtreecommitdiffstats
path: root/src/pk_pad
Commit message (Collapse)AuthorAgeFilesLines
* Doxygenlloyd2010-06-216-14/+34
|
* Doxygenlloyd2010-06-216-28/+122
|
* More Doxygen updates/fixeslloyd2010-06-159-15/+18
|
* Put PKCS hash ids in anon namespacelloyd2010-06-021-21/+22
|
* Partially protect OAEP decoding against a timing attack. Possibilitylloyd2010-05-121-12/+28
| | | | | | | | of this pointed out by Falko Strenzke. The timing differences between different error conditions could lead to attacks even with the same error message. Instead use a (mostly) straightline implementation. However scanning for the delim byte is still timing/input dependenant, so this is not a 100% fix.
* Fix EMSA_Raw in the case where the original input had leading 0 bytes.lloyd2010-04-211-1/+19
|
* Clean up exceptions. Remove some unused ones like Config_Error. Makelloyd2010-01-051-1/+1
| | | | | | | 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.
* Make many more headers internal-only.lloyd2009-12-161-1/+1
| | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-1610-67/+0
|
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-2910-20/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* Remove all exception specifications. The way these are designed in C++ islloyd2009-10-2211-13/+13
| | | | | | just too fragile and not that useful. Something like Java's checked exceptions might be nice, but simply killing the process entirely if an unexpected exception is thrown is not exactly useful for something trying to be robust.
* Move some files around to break up dependencies between directorieslloyd2009-07-162-0/+5
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-157-9/+22
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-3021-198/+240
| | | | | | | | | | | | | | | 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 a ref to a paper describing a chosen ciphertext attack on OAEPlloyd2008-12-081-0/+8
| | | | since it is relevant to the implementation.
* Fix name of function in exception throwlloyd2008-11-301-1/+1
|
* In EMSA3_Raw::raw_data, clear message buffer (reset) before returninglloyd2008-11-281-1/+3
|
* Add a variant of EMSA3 called EMSA3_Raw which does not hash the data orlloyd2008-11-282-46/+123
| | | | | | | add a digest identifier. This was a feature requested on the mailing list. Apparently this scheme is called CKM_RSA_PKCS in PKCS #11, and is supported by a number of libraries, including QCA.
* Add SHA-224 hash ids for EMSA2/X9.31 and EMSA3/PKCS #1 v1.5 public keylloyd2008-11-281-3/+14
| | | | signature padding schemes.
* Rickard Bondesson reported on the mailing list that he had noticedlloyd2008-11-281-11/+13
| | | | | | | | | | | | | | a discrepency between OpenSSL and Botan when generating SHA-512/EMSA3 signatures. In fact it turns out that the EMSA3 identifier for SHA-512 contained a typo and was incorrect. Unfortunately this means that SHA-512/EMSA3 signatures generated by Botan up until now will not be accepted by other implementations, and the signatures by other implementations would not be accepted by Botan. Currently I am not making any provision for backwards compatability with the old incorrect hash identifier, since I am assuming/guessing that SHA-512/EMSA3 is not a very common combination.
* Split pk_pad.h into eme.h and emsa.hlloyd2008-11-1011-33/+50
|
* Split base.h into block_cipher.h and stream_cipher.hlloyd2008-11-081-1/+1
| | | | | | 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 the declaration of the HashFunction base class to a new header hash.hlloyd2008-11-085-0/+5
| | | | (from base.h)
* Put pk_pad.{h,cpp} from core into pk_pad/ dir (cleaner I think)lloyd2008-10-263-0/+116
|
* Add BSI variant of EMSA1, from InSiTolloyd2008-10-084-0/+73
|
* Split kdf.h and kdf.cpp from core/ to kdf/kdf_baselloyd2008-10-081-6/+5
| | | | Update dependencies as needed.
* Remove lookup from Randpool, HMAC, CMAC, CBC-MAC, TLS-PRF, and PBKDF2lloyd2008-09-301-1/+0
|
* Remove lookup/libstate dependency on Lion, KDF1, KDF2, EMSA[1-4]lloyd2008-09-308-29/+16
|
* Remove dependency on lookup.h from EME1. Now hardcoded to use MGF1 (thelloyd2008-09-303-7/+13
| | | | | only implemented MGF in Botan, and the only standardized MGF I even know of) with the same hash as generated Phash (you would always want this anyway).
* Move KDF, EME, and EMSA base classes from pubkey to core to remove alloyd2008-09-297-7/+9
| | | | false dependency on BigInt in the KDF/padding code.
* Rename all modinfo.txt files to info.txt, since they are all (none) oflloyd2008-09-298-0/+0
| | | | | them modules now. In any case there is no distinction so info.txt seems better.
* Remove more dependencies on the global state object.lloyd2008-09-293-12/+13
| | | | | | | New argument to X509_CRL constructor, a boolean that specifies if an exception should be thrown upon encountering an unknown extension type marked as critical. Previously this was controlled globally via the x509/crl/unknown_critical policy flag.
* Add modinfo for pem, hash_id, selftest moduleslloyd2008-09-281-0/+10
|
* Move hash_id into modulelloyd2008-09-284-0/+135
|
* Remove needless include of look_pk.hlloyd2008-09-281-1/+0
|
* Modularize MGF1. Make EME1 and EMSA4 depend on itlloyd2008-09-282-0/+8
|
* Move all modules into src/ directorylloyd2008-09-2821-0/+985