aboutsummaryrefslogtreecommitdiffstats
path: root/src/constructs
Commit message (Collapse)AuthorAgeFilesLines
* propagate from branch 'net.randombit.botan' (head ↵lloyd2010-08-131-1/+1
|\ | | | | | | | | | | 0a3348f52bf558bc2282e1066c2913a72a1aeda5) to branch 'net.randombit.botan.c++0x' (head 552c20ae8874f12da779fc25ea368e36e71cbfe8)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2010-07-091-1/+1
| |\ | | | | | | | | | | | | | | | 161b5c0300b72baa746f101fda1e2b4a7c71818c) to branch 'net.randombit.botan.c++0x' (head 1fc3875bb8daf4ad0e90ba66db72642203cb9984)
| | * propagate from branch 'net.randombit.botan' (head ↵lloyd2010-06-223-17/+23
| | |\ | | | | | | | | | | | | | | | | | | | | 647eeb4f4cf8fa4cf487cdc463d48f09fe18658e) to branch 'net.randombit.botan.c++0x' (head 2539675db91883b11895ddc5244721e93c413321)
| | * \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-06-176-50/+55
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | 294e2082ce9231d6165276e2f2a4153a0116aca3) to branch 'net.randombit.botan.c++0x' (head 0b695fad10f924601e07b009fcd781191fafcb28)
| | * | | Various updates: unique_ptr, using chrono, merge fixups, etclloyd2010-03-091-1/+1
| | | | |
* | | | | In 1.9.9 I moved the cryptobox functions out of the CryptoBoxlloyd2010-08-102-11/+22
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | namespace, but this causes backwards compat problems, since cryptobox is already in 1.8, and also it's likely that other functions along these lines will be useful at some point (eg using RSA encryption instead of a passphrase for the key transfer).
* | | / Avoid name collision in amalgamationlloyd2010-06-221-5/+10
| |_|/ |/| |
* | | Doxygenlloyd2010-06-213-17/+23
| |/ |/|
* | Remove some of the more extraneous namespaceslloyd2010-06-164-41/+25
| |
* | More Doxygen commentslloyd2010-06-161-8/+26
| |
* | More Doxygen updates/fixeslloyd2010-06-151-0/+3
| |
* | Fix a few hundred Doxygen warningslloyd2010-06-151-1/+1
|/
* Clean up catch and returnlloyd2010-03-011-5/+1
|
* In get_pbkdf_prf, catch Algorithm_Not_Found and return nulllloyd2010-03-011-2/+10
|
* passhash9: Ensure that choose_pbkdf_prf returns a PRF if possiblelloyd2010-03-011-2/+8
|
* Further passhash changes before release and things have to belloyd2010-02-054-105/+136
| | | | | | | | | | | | | | finalized. Move header to passhash9.h and rename the functions to be passhash9 specific ({generator,check}_passhash9) Add an algorithm identifer field. Currently only id 0 is defined, for HMAC(SHA-1), but this opens up for using HMAC(SHA-512) or HMAC(SHA-3) or CMAC(Blowfish) or whatever in the future if necessary. Increase the salt size to 96 bits and the PRF output size to 192 bits. Document in api.tex
* Move the get_byte template to its own header, because many fileslloyd2010-02-023-3/+3
| | | | including loadstor.h actually just needed get_byte and nothing else.
* Prefix passhash with "$9$" in a manner similar with otherlloyd2010-02-023-16/+31
| | | | | | | | | | | | | | | | password hashing schemes. Increase salt size to 80 bits. Research shows that virtually no other PBKDF2 implementations support anything but SHA-1; for ease of implementation elsehwere switch back from SHA-512 to SHA-1. Should be mostly harmless; it limits total entropy of the password to a maximum of 160 bits, but this is unlikely anyway. Use two bytes to specify the work factor for future-proofing. Add a test.
* Password hashing is a pretty useful service, really. Move the guts oflloyd2010-02-013-0/+125
| | | | | | | | the passhash example to the library. Support variable work factors; default work factor of 10 takes about half a second to do one password on my Core2. Switch to using SHA-512 instead of SHA-1 in PBKDF2. To keep the output evenly sized for base64 purposes, reduce PBKDF2 output size by one byte (to 112 bits).
* Modify the S2K interface. Instead of being stateful in terms of the saltlloyd2010-02-011-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.
* 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.
* Avoid MSVC warning 4800 about implicit conversion from T to bool. Mostlylloyd2009-12-231-1/+1
| | | | because it makes the code slightly more explicit.
* Un-internal loadstor.h (and its header deps, rotate.h andlloyd2009-12-214-4/+4
| | | | | | | | | | | | | | bswap.h); too many external apps rely on loadstor.h existing. Define 64-bit generic bswap in terms of 32-bit bswap, since it's not much slower if 32-bit is also generic, and much faster if it's not. This may be quite helpful on 32-bit x86 in particular. Change formulation of generic 32-bit bswap. It may be faster or slower depending on the CPU, especially the latency and throuput of rotate instructions, but should be faster on an ideally superscalar processor with rotate instructions (ie, what I expect future CPUs to look more like).
* Add missing BOTAN_DLL exports.lloyd2009-12-163-14/+14
| | | | Move most of the engine headers to internal
* Make many more headers internal-only.lloyd2009-12-164-5/+5
| | | | | | | | | | | | | 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-163-22/+2
|
* Add missing header guards to package.h and botan.hlloyd2009-12-021-0/+5
| | | | | Change serp_simd_sbox.h's header guard to use the leading BOTAN_ prefix for proper macro namespacing.
* Move most code that relies heavily on Filters into src/filters.lloyd2009-11-1712-0/+953
Remove support for (unused) modset settings. Move tss, fpe, cryptobox, and aont to new dir constructs