aboutsummaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Rename ECKAEG to ECDH. As far as I can tell they are the same algorithm,lloyd2010-03-022-1/+2
| | | | | I'm not sure where the old name came from though as literally the only hits for it on Google are botan-related.
* Add a simple cert validation examplelloyd2010-03-011-0/+35
|
* Document adding SSL/TLSlloyd2010-02-241-0/+1
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-242-0/+132
|\ | | | | | | | | | | 35d3e3deb02b47f98e4937f8eab77f019a0f4b97) to branch 'net.randombit.botan.ssl' (head f923e7583e760a9a224cc5b1fc40015776d85eb9)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-232-0/+132
| |\ | | | | | | | | | | | | | | | 89451dd9349d61bc29507c9c441c090148192286) to branch 'net.randombit.botan.ssl' (head a341d74655f579482102c23e2c378897b738bd06)
| | * TLS_Server example - more printfs, configurable portlloyd2010-02-171-3/+13
| | |
| | * Various minor SSL fixeslloyd2010-02-142-10/+6
| | |
| | * propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-149-114/+172
| | |\ | | | | | | | | | | | | | | | | | | | | dd33b7150f3f49d795e4eb962d8d41d1ada58d8d) to branch 'net.randombit.botan.ssl' (head 1452205423962b664263fd2a35149122dfc94d37)
| | * | Import latest version of Ajisai into src/ssl; once this hits mainlinelloyd2010-01-112-0/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'll officially kill off Ajisai (instead of it just lingering as a zombine as it is currently). Apparently I broke something (or multiple things) during the import process; servers crash and clients gets MAC errors on connect.
* | | | Document adding GOST 34.10-2001lloyd2010-02-241-0/+1
| | | |
* | | | Document removal of TR1 dependencylloyd2010-02-241-1/+1
|/ / /
* | / Document removing TR1 dependency for ECClloyd2010-02-231-0/+1
| |/ |/|
* | Further passhash changes before release and things have to belloyd2010-02-053-5/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | MD4's M buffer was set to be 48 words instead of 16. This had beenlloyd2010-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | extant for a long long time and was never caught because until recently the code did not depend on M.size(). However with the recent loadstore changes that use memcpy to load the entire array in one shot, an extra 128 bytes of memory would be read (but not used) in each iteration. This probably did not cause any problems except for Valgrind warnings, though in some situations it would be possible for the M buffer and MDx_HashFunctions buffer to be close enough that memcpy would be called with overlapping regions, which could cause arbitrarily weird failures since memcpy is allowed to assume they do not overlap.
* | Prefix passhash with "$9$" in a manner similar with otherlloyd2010-02-021-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-012-58/+8
| | | | | | | | | | | | | | | | 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).
* | Document S2K changelloyd2010-02-011-0/+1
| |
* | Modify the S2K interface. Instead of being stateful in terms of the saltlloyd2010-02-016-72/+99
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Prevent a crash in GMP_Engine if the library is shutdown and thenlloyd2010-01-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reinitialized. It would cache an Allocator pointer on first use, and then never zero it, so after the reinit the pointer would be going to a now deallocated Allocator object. Encountered in the SoftHSM test suite, reported by Ondrej Sury. Use a simple reference counting scheme to zero the pointer, and reset the GNU MP memory functions. This also fixes a quite obscure and never reported bug, that if the GMP engine was used, and if the library was deinitialized but then the program tried to use GNU MP, the allocator functions would crash. Now after deinit the allocator funcs revert to the defaults. The reference count is not updated atomically so this is not thread safe, but seems a non-issue; the only time this could happen (especially now that the GMP engine header is internal-only) is if multiple threads were attempting to initialize / shutdown the library at once - which won't work anyway for a variety of reasons, including contention on the (unlocked) global_lib_state pointer. If at some point thread safety is useful here, the refcnt can be locked by a mutex, or kept in an atomic<unsigned int>.
* | Add SQLite3 encryption codec, contributed by Olivier de Gaalon. Useslloyd2010-01-222-0/+2
| | | | | | | | Twofish in XTS mode for encryption by default, but is easily tweakable.
* | Fix cpuid examplelloyd2010-01-191-1/+0
| |
* | Add SIMD version of Noekeon. On a Core2, about 2.7x faster using SIMD_SSE2lloyd2010-01-122-1/+2
|/ | | | and 1.6x faster using SIMD_Scalar.
* Add block cipher cascadelloyd2010-01-111-0/+1
|
* Clean up exceptions. Remove some unused ones like Config_Error. Makelloyd2010-01-051-2/+2
| | | | | | | 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.
* The first bits of a general toolbox program. Currently does hex and base64lloyd2009-12-311-0/+235
| | | | encoding/decoding, bzip2 and zlib compression/decompression, and hashing.
* Drop test_es.cpp, EntropySources no longer directly available outside librarylloyd2009-12-311-121/+0
|
* Add copyright and license notes to pretty much every file that didn't have them,lloyd2009-12-3150-205/+327
| | | | | | | | including the examples and self-test code. Most of these files had not copyright/license information at all; since a major point of the examples is to allow users to copy and paste code that already does something they want, an ambigious license is not good.
* Document CBC/XTS parallel capabilitieslloyd2009-12-281-0/+2
|
* Document private key encryption switch from 3DES to AES-256lloyd2009-12-261-0/+1
|
* Make fpe example output more clear as to what is going onlloyd2009-12-241-4/+11
|
* Add last nights project, an SSE2 implementation of IDEA. Right about 4xlloyd2009-12-231-2/+3
| | | | faster than the scalar version on a Core2.
* Document timer changeslloyd2009-12-221-0/+2
|
* Un-internal loadstor.h (and its header deps, rotate.h andlloyd2009-12-211-11/+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).
* Make many more headers internal-only.lloyd2009-12-166-37/+68
| | | | | | | | | | | | | 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-161-0/+1
|
* Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-015-9/+5
| | | | | | | | | | | | | | QueryPerformanceCounter, into an entropy source hres_timer. Its results, if any, do not count as contributing entropy to the poll. Convert the other (monotonic/fixed epoch) timers to a single function get_nanoseconds_clock(), living in time.h, which statically chooses the 'best' timer type (clock_gettime, gettimeofday, std::clock, in that order depending on what is available). Add feature test macros for clock_gettime and gettimeofday. Remove the Timer class and timer.h. Remove the Timer& argument to the algorithm benchmark function.
* Mention the Win32 build and installer improvementslloyd2009-11-241-0/+2
|
* Update version # to 1.9.4-devlloyd2009-11-231-0/+2
|
* Add an example of reading SSH2 public keyslloyd2009-11-201-0/+119
|
* Document Win32 DLL and InnoSetup changes1.9.3lloyd2009-11-201-0/+2
|
* Update log and readme for 1.9.3 release 2009-11-19lloyd2009-11-201-1/+1
|
* Remove some obsolete stuff about modules from building.texlloyd2009-11-191-68/+3
|
* Get the old GTK+ example to build, though the pulse UI logic is no longerlloyd2009-11-172-78/+89
| | | | included. Threads are a smarter approach, in retrospect.
* Document adding FPElloyd2009-11-131-0/+1
|
* Extend FPE example to encrypt credit card numbers with valid Luhn checksumslloyd2009-11-131-8/+120
| | | | onto other CCNs with valid checksums.
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-131-0/+22
|\ | | | | | | | | | | 586495311cff277e7a24b4116c987b79036d94e6) to branch 'net.randombit.botan.fpe' (head c6e8324b12e509ac1303078d5e716f08c53acff5)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-061-0/+22
| |\ | | | | | | | | | | | | | | | 0cb3295ee48403828c652064fbf72ddb6edbe13c) to branch 'net.randombit.botan.fpe' (head 954d50f368db4be7d98c5c32c474bc54ec5ea7f3)
| | * Add format preserving encryption, design is FE1/FD1 from the paperlloyd2009-11-051-0/+22
| | | | | | | | | | | | | | | | | | Format-Preserving Encryption (http://eprint.iacr.org/2009/251). This doesn't implement the rank functions which are necessary for the actual format-preserving part, though that would be nice to add to the example.
* | | Double the speed of Skipjack on my Core2, mostly due to better inlining.lloyd2009-11-111-0/+1
| | |
* | | Add AES-192 using AES-NI. Tested OK with Intel's simulator.lloyd2009-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | Currently requires SSE4.1 for _mm_extract_epi32 for the key schedule, it would be nice to remove this dependency, though all currently known/scheduled chips with AES-NI (Intel Westmere and Sandy Bridge, and AMD Bulldozer) are supposed to include SSE 4.1 so this is not a huge problem.