aboutsummaryrefslogtreecommitdiffstats
path: root/checks
Commit message (Collapse)AuthorAgeFilesLines
* Inline some simple GFpElement functions. Remove ostream << operatorlloyd2010-02-251-0/+5
|
* CurveGFp: Inline, deleting source file. Store only a,b,p aslloyd2010-02-253-29/+31
| | | | | BigInts. Also reorder constructor args to p, a, b which seems more sensible to me.
* Convert the PointGFp constructor taking three coordinates (Jacobian scheme)lloyd2010-02-251-30/+9
| | | | to take BigInts instead of GFpElements
* Convert PointGFp::get_jac_proj_{x,y,z} to return just the BigInt value,lloyd2010-02-251-87/+32
| | | | not a GFpElement
* Convert PointGFp::get_affine_{x,y} to return just the BigInt valuelloyd2010-02-251-61/+17
|
* Convert 3-arg constructoor of PointGFp to take BigInts instead oflloyd2010-02-251-4/+3
| | | | | | GFpElements. Clean up OS2ECP
* Kill dead codelloyd2010-02-251-24/+4
|
* Remove the montgomery optimizations from GFpElement entirely.lloyd2010-02-242-140/+27
| | | | | | | | This makes things even slower than they were before, but will make refactoring easier. And most of the montgomery code there was duplicates of other code that already existed in the codebase. Anything useful can be pulled back out from history later if needed.
* Remove PointGFp::mult_this_securelloyd2010-02-242-74/+2
|
* Remove GFpModulus entirelylloyd2010-02-241-1/+0
|
* Make passhash9 tests more verbose since they are slowlloyd2010-02-231-2/+11
|
* Remove use of tr1 entirely from gfpmath.lloyd2010-02-232-194/+11
| | | | | | | Remove a handful of tests which were based on testing the sharing aspects, which are gone now; everything is based on value copies. All tests pass on x86-64 with GCC. Valgrind output looks clean too.
* Correct passhash9 vector for recent format changes (longer salt+PRF output, ↵lloyd2010-02-141-2/+3
| | | | alg id)
* Fix passhash9 test for updated API and macro namelloyd2010-02-141-6/+6
|
* Prefix passhash with "$9$" in a manner similar with otherlloyd2010-02-021-0/+32
| | | | | | | | | | | | | | | | 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.
* Modify the S2K interface. Instead of being stateful in terms of the saltlloyd2010-02-011-3/+3
| | | | | | | | | | | 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.
* Add a set of test vectors for 3DES in counter mode generated bylloyd2010-01-291-0/+2746
| | | | | Crypto++ 5.6.0. Includes several largeish (64 and 128 block) tests, as further tests for a future bitslice implementation.
* Add a set of XTS tests using TripleDES; XTS mode supports either a 64-bitlloyd2010-01-281-0/+1408
| | | | | | | | | | or 128-bit cipher, but so far only 128-bit ciphers had been tested. I could not find another implementation of XTS supporting 3DES so these may be wrong, but at least this ensures they will be consistently wrong. Mostly in the smaller range (9 to 128 bytes) plus a few with large inputs (64 blocks) because if a bitslice DES implementation is ever added a test that actually does 64 blocks in parallel will be needed.
* Fix several buffering problems in the XTS implementation that wouldlloyd2010-01-251-0/+7110
| | | | | | | | | | | | | cause bad results if the input was not an even multiple of the block size. No released version was broken because the changes which caused the problem were related to using Buffered_Filter, which was introduced after 1.9.3 was released. Add more XTS test vectors using AES, Serpent, and Twofish. The AES tests come from Brian Gladman's XTS implementation. The Serpent and Twofish tests were generated by botan.
* Add SIMD version of Noekeon. On a Core2, about 2.7x faster using SIMD_SSE2lloyd2010-01-121-0/+2021
| | | | and 1.6x faster using SIMD_Scalar.
* Fix a test broken by the recent exception hierarchy changeslloyd2010-01-121-10/+2
|
* Add block cipher cascadelloyd2010-01-112-2/+51
|
* Clean up exceptions. Remove some unused ones like Config_Error. Makelloyd2010-01-052-15/+15
| | | | | | | 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.
* Split AES tests by key length for AES-NIlloyd2010-01-051-44/+45
|
* Specific large tests for AES-128 to hit engineslloyd2010-01-041-3/+7
|
* Completely inline getopt.cpp into getopt.h so it can be used in toolbox and ↵lloyd2010-01-032-96/+85
| | | | other examples
* Add copyright and license notes to pretty much every file that didn't have them,lloyd2009-12-3114-0/+81
| | | | | | | | 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.
* Force line flush in benchmark, useful when tee'ing outputlloyd2009-12-231-1/+1
|
* Add last nights project, an SSE2 implementation of IDEA. Right about 4xlloyd2009-12-231-0/+17
| | | | faster than the scalar version on a Core2.
* Avoid VC++ warninglloyd2009-12-231-1/+1
|
* Increase default benchmark time to 5 secondslloyd2009-12-221-1/+1
|
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-162-3/+0
|
* Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-013-8/+7
| | | | | | | | | | | | | | 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.
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-172-4/+4
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Split the AES vectors into 3 specifically named AES-128, AES-192, andlloyd2009-11-101-1651/+1650
| | | | | | AES-256 blocks, plus a handful remaining in a general AES block. This is necessary for any implementation which only supports a particular key size, since otherwise no tests at all will run on that implementation.
* In creating X.509 certificates and PKCS #10 requests, let (actually: require)lloyd2009-11-091-2/+8
| | | | | | | the user to specify the hash function to use, instead of always using SHA-1. This was a sensible default a few years ago, when there wasn't a ~2^60 attack on SHA-1 and support for SHA-2 was pretty much nil, but using something else makes a lot more sense these days.
* Add TEA and XTEA ECB vectorslloyd2009-10-231-0/+650
|
* Add test vectors for TEA and XTEA in CTR modelloyd2009-10-231-0/+1242
|
* Convert CTR_BE from a Filter to a StreamCipher. Must wrap in a ↵lloyd2009-10-141-0/+7
| | | | | | StreamCipher_Filter to pass it directly to a Pipe now.
* Remove unused arglloyd2009-10-091-3/+2
|
* Use the new selftest framework for testing hashes, MACs, and ciphers.lloyd2009-10-074-1490/+269
| | | | | | Remove the Decrypt direction cipher mode tests - now both directions are always tested for all modes. Also add IVs for Salsa20 (were implicit all-zeros) since that does not fly anymore in validate.dat
* Fix benchmarking of PK stufflloyd2009-09-291-1/+1
|
* Modify the self test program to use the builtin runtime benchmarking goop.lloyd2009-09-248-381/+223
| | | | | | | | | Features dropped: RNG benchmarking, the --bench-type option. New feature: Anything the library understands can be benchmarked using --bench-algo. Use 3DES and Serpent for mode benchmarking along with AES-128.
* Remove redundant SHA-1 test vector of empty inputlloyd2009-09-221-1/+0
|
* Add 4 test vectors for HMAC(BMW-512)lloyd2009-09-211-0/+41
|
* Update the implementation of Blue Midnight Wish to use the Round 2 tweakedlloyd2009-09-211-512/+1122
| | | | version.
* Split up util.h into 3 fileslloyd2009-09-171-1/+1
| | | | | | | - rounding.h (round_up, round_down) - workfactor.h (dl_work_factor) - timer.h (system_time) And update all users of the previous util.h
* Add an implementation of Blue Midnight Wish (512 bit version only)lloyd2009-09-152-1/+1915
|
* propagate from branch 'net.randombit.botan.1_8' (head ↵lloyd2009-09-156-63/+848
|\ | | | | | | | | | | ef51dd2869ed38dae3aeb1c3b931ca9d595580e1) to branch 'net.randombit.botan' (head fc1942640045423f411fd865cbd584090b28d7eb)
| * Add a couple of Serpent/XTS test vectors (SQLite data pages)lloyd2009-09-101-0/+273
| |