aboutsummaryrefslogtreecommitdiffstats
path: root/src/pbe
Commit message (Collapse)AuthorAgeFilesLines
* Convert the BER/DER coders to use size_t instead of u32bit for smalllloyd2011-02-092-2/+2
| | | | integer values. Update callers.
* Move pbe.h to pbe dirlloyd2010-12-281-0/+57
|
* Make MemoryRegion::set protected, change all callerslloyd2010-10-291-6/+8
|
* Eliminate the constant size_t values in SymmetricAlgorithm that givelloyd2010-10-281-2/+2
| | | | | | | | | | | | | | | | | | | the parameters of the key length. Instead define a new function which returns a simple object which contains this information. This definitely breaks backwards compatability, though only with code that directly manipulates low level objects like BlockCipher*s directly, which is probably relatively rare. Also remove some deprecated accessor functions from lookup.h. It turns out block_size_of and output_size_of are being used in the TLS code; I need to remove them from there before I can delete these entirely. Really that didn't make much sense, because they assumed all implementations of a particular algorithm will have the same specifications, which is definitely not necessarily true, especially WRT key length. It is much safer (and probably simpler) to first retrieve an instance of the actual object you are going to use and then ask it directly.
* s/BLOCK_SIZE/block_size()/lloyd2010-10-131-1/+1
|
* Use size_t in filterslloyd2010-10-124-8/+8
| | | | | This breaks API for anyone creating their own Filter types, but it had to happen eventually.
* More changes to avoid vector to pointer implicit conversionslloyd2010-09-142-2/+2
|
* More vector->pointer conversion removals.lloyd2010-09-132-7/+3
| | | | | | | | | | | Add RandomNumberGenerator::random_vec, which takes an length n and returns a new SecureVector with randomized contents of that size. This nicely covers most of the cases where randomize was being called on a vector, and is a little cleaner in the code as well, instead of vec.resize(length); rng.randomize(&vec[0], vec.size()); we just write vec = rng.random_vec(length);
* Give all Filter objects a method for querying their namelloyd2010-06-284-0/+16
|
* Yet more Doxygen commentslloyd2010-06-162-15/+28
|
* More Doxygen commentslloyd2010-06-161-1/+6
|
* More Doxygen updates/fixeslloyd2010-06-152-4/+4
|
* merge of 'beaa845172bcf34c757ab1428e921d996a275c6c'lloyd2010-06-152-3/+3
|\ | | | | | | and 'cf2b4d27dda134f49f065face1da51645bfbde57'
| * Increase the iteration count and salt size used for encryptedlloyd2010-06-152-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | private keys. For the older PBES1, we can only increase the iteration count (from 2048 to 10000); the salt is fixed by the standard to 64 bits. This is probably OK, since PBES1 is also limited to (at best) 64-bit encryption keys and thus is pretty unsafe anyway. For PBES2, increase the iteration count (also 2048 to 10000) and increase the size of the salt from 64 bits to 96 bits. This will only affect keys which are encrypted by a version after this revision.
* | Fix a few hundred Doxygen warningslloyd2010-06-151-4/+5
|/
* Use "/*" instead of "/**" in starting comments at the begining of a file.lloyd2010-06-071-1/+1
| | | | | This caused Doxygen to think this was markup meant for it, which really caused some clutter in the namespace page.
* Modify the S2K interface. Instead of being stateful in terms of the saltlloyd2010-02-012-6/+6
| | | | | | | | | | | and iteration count, force it to be passed to each call to derive_key. So remove current_salt, set_iterations, new_random_salt, and change_salt functions from S2K interface. Update examples and test application to match. While I was in there, change the passhash example to use 64 bit salts and 128 bit PBKDF2 outputs.
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-163-21/+0
|
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-172-3/+3
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-293-6/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-153-13/+24
| | | | | | 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-306-63/+75
| | | | | | | | | | | | | | | 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).
* Update some doxygen comments. Contributed by Charles Brockman in bug #39lloyd2009-03-021-3/+3
|
* Fix memory leaks in PBE_PKCS5v20 and get_pbelloyd2008-11-123-4/+14
|
* Remove support for provider identifiers from SCAN_Name - it turns out thislloyd2008-11-122-7/+7
| | | | | | | | | | | | was not the right place to keep track of this information. Also modify all Algorithm_Factory constructor functions to take instead of a SCAN_Name a pair of std::strings - the SCAN name and an optional provider name. If a provider is specified, either that provider will be used or the request will fail. Otherwise, the library will attempt best effort, based on user-set algorithm implementation settings (combine with benchmark.h for choosing the fastest implementation at runtime) or if not set, a static ordering (preset in static_provider_weight in prov_weight.cpp, though it would be nice to make this easier to toggle).
* Make SCAN_Name::arg return a new SCAN_Name that has the same providers list,lloyd2008-11-111-8/+8
| | | | this allows provider preferences to be passed down to sub-algorithms.
* Switch to Algorithm_Factory in PBES2lloyd2008-11-113-114/+129
|
* Remove global state dependency from pbes1lloyd2008-11-113-38/+94
|
* Shorten SCAN_Name's argument arg in function nameslloyd2008-11-101-4/+4
|
* Modify get_pbe to use SCAN_Namelloyd2008-11-091-18/+12
|
* Remove unused variable1.7.20lloyd2008-11-091-2/+0
|
* Make two variants of get_pbe more consistentlloyd2008-11-091-13/+11
|
* Remove use of get_s2k in PBES1 and PBES2, since they both always wantedlloyd2008-11-092-9/+14
| | | | | a particular algorithm (PBKDF1 or PBKDF2, resp), only variation is the has function to use.
* Split the last parts of the 'core' modulelloyd2008-11-082-2/+2
| | | | Add some missing info.txts
* Move pbe/pbe_base to pbe/lloyd2008-10-265-2/+2
|
* More Doxygen comments from InSiTolloyd2008-10-131-3/+12
|
* Add PBKDF1,2 deps to PBES1,2lloyd2008-10-082-0/+2
|
* Revert part of revision b87599ffaee2d8ed2ec7597634413e73e4fb2fd8 thatlloyd2008-10-022-2/+2
| | | | | | | | added a new mandatory parameter of a Library_State& to get_cipher(). Do this so Monotone does not have to special case. Other lookup related functions like retrieve_<type> and add_algorithm() still require a Library_State& however.
* Move oids.h to oid_lookup. Allows for much smaller build by disabling asn1lloyd2008-10-012-4/+6
|
* Make PBE base, IF_algo only load if needed by dependencieslloyd2008-10-011-1/+1
|
* Move get_pbe from libstate to new pbe_base module (in pbe/)lloyd2008-10-015-4/+126
|
* Expose use of global state in some of the lookup functions, includinglloyd2008-09-292-2/+2
| | | | get_cipher
* Rename all modinfo.txt files to info.txt, since they are all (none) oflloyd2008-09-292-0/+0
| | | | | them modules now. In any case there is no distinction so info.txt seems better.
* New filters module. Add deps for it in some needed areas (codec, pbes)lloyd2008-09-282-0/+10
|
* Compliation fixeslloyd2008-09-282-2/+2
|
* Add missing PBE header and modinfo fileslloyd2008-09-283-0/+65
|
* Modularize PBEs (password-based encryption schemes)lloyd2008-09-283-0/+441