aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Inline bigint_cmp in bigint_monty_redc (using goto, the horror; I'm basicallylloyd2008-09-071-27/+10
| | | | | | | prototyping and testing the x86-64 assembly version in C) According to most profiles, bigint_monty_redc alone is responsible for 30%-50% of RSA, DSA, and DH benchmarks. So it seems worth tinkering with a bit.
* Move bigint_monty_redc to its own file to make asm implementations easierlloyd2008-09-072-29/+205
|
* Use i instead of j for iterator varlloyd2008-09-071-4/+4
|
* Flush stdout after every new resultlloyd2008-09-071-1/+1
|
* Include a comment in the generated build.h stating that the file waslloyd2008-09-062-0/+24
| | | | | automatically generated, along with the time, the command line arguments, the target compiler/CPU, and the enabled modules.
* merge of '25669167ad287dc414f6acc3a42f1f54f8394937'1.7.10lloyd2008-09-052-2/+2
|\ | | | | | | and '4f48fd2420f33a42f2244f86c099f9a02d53aa87'
| * Changes for 1.7.10lloyd2008-09-052-2/+2
| |
* | Revert back to just -W -Wall for GCC for releaselloyd2008-09-051-2/+2
|/
* Mention DL_Group::Format aliaseslloyd2008-09-051-0/+1
|
* Use a nibble-wide lookup table to reduce loop iterationslloyd2008-09-051-3/+5
|
* Remove iostream includelloyd2008-09-051-2/+0
|
* Further release notes for 1.7.10lloyd2008-09-051-1/+7
|
* There is no real reason BigInt::grow_to needs to be private (and onelloyd2008-09-051-2/+1
| | | | | can easily perform the operation manually using get_reg), and InSiTo wants to access it, so go ahead and make it public.
* Optimize right shift a littlelloyd2008-09-051-14/+38
|
* Change return type of ctz from int to u32bitlloyd2008-09-051-1/+1
|
* Replace __builtin_ctzl with a new ctz function in bit_ops.hlloyd2008-09-052-2/+13
|
* Bump soname to 1.7.10lloyd2008-09-051-1/+1
|
* Wrap the BigInt register in a small class that caches the significantlloyd2008-09-053-44/+117
| | | | | words. BigInt::sig_words() was showing up very hot on valgrind runs, this seems to reduce the usage substantially.
* Choice of clock_gettime, gettimeofday, times, and clock for benchmark timingslloyd2008-09-052-8/+47
|
* Start of 1.7.10 release noteslloyd2008-09-051-0/+3
|
* Add new build.h macro BOTAN_TARGET_OS_IS_XXXlloyd2008-09-051-0/+7
|
* Disable all-asm mp_mulop for nowlloyd2008-09-051-2/+2
|
* Revert change to dl_work_factor for now - breaks ElGamal testslloyd2008-09-051-0/+14
|
* Use the Timer class for all benchmarkinglloyd2008-09-059-131/+91
|
* Ignore callgrind fileslloyd2008-09-051-0/+2
|
* New DH benchmark, much more reflective of real usage as well.lloyd2008-09-051-114/+64
|
* Rewrite dl_work_factor using a lookup table with data from RFC 3526,lloyd2008-09-051-16/+18
| | | | | | | | | | | | "More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)", which removes Botan's dependency on standard math library (which can be a big deal on embedded systems, and it seemed silly to have just a single function cause us to pull in potentially all of libm) Also this makes the values Botan will pick for exponent sizes more obvious; previously one would have to run through the computation or call the function and observe the output.
* Add the IKE 6144-bit MODP group, from RFC 3526lloyd2008-09-051-0/+37
|
* Add new aliases to the DL_Group::Format enum. The previous values werelloyd2008-09-051-3/+13
| | | | | pretty opaque; now use the easier to remember DL_Group::DSA_PARAMETERS and DL_Group::DH_PARAMETERS
* Define the functions from bit_ops.h as inline template functions, insteadlloyd2008-09-052-74/+58
| | | | of always converting to u64bit and passing to a non-inlined function.
* A possible optimization to low_zero_bits (which was showing up hot inlloyd2008-09-021-6/+22
| | | | | some DSA/NR benchmarks). Requires GCC/ICC for __builtin_ctzl, though that will change shortly.
* Where bit_ops.h was used to get xor_buf, include xor_buf.h insteadlloyd2008-09-0226-25/+25
|
* Remove code moved to bswap.h and rotate.h, also split xor_buf intolloyd2008-09-022-71/+65
| | | | | | xor_buf.h. The optimization using reinterpret_cast previously used in the amd64 module is now used directly in the stock header, as long as BOTAN_TARGET_UNALIGNED_LOADSTOR_OK is set.
* Split byte swap code and word rotation code off into bswap.h and rotate.hlloyd2008-09-026-94/+106
|
* Delete dead code. New shared benchmark framework for RSA/RW. RSA benchmarklloyd2008-09-021-250/+155
| | | | now uses signing instead of encryption.
* Reduce RW creation min also to 512 for benchmarkslloyd2008-09-021-1/+1
|
* Inline some methods of Timerlloyd2008-08-3112-258/+26
| | | | Randomly generate the RW keys as well, removing all need for the keys/ dir
* The counter is not specified, so do not mention itlloyd2008-08-311-1/+1
|
* Add DSS groups with 2048 and 3072 bit p values (and 256 bit q subgroups).lloyd2008-08-311-105/+141
| | | | | | These were generated using the FIPS 186-3 PRNG, with seed values generating by applying SHA-256 to the UTF-8 encodings of the strings "Botan 2048 DSS seed #51" and "Botan 3072 DSS seed #24"
* Rewrite the RSA and DSA benchmarks to be much more readable and flexible,lloyd2008-08-311-51/+158
| | | | also now reporting key generation and (for DSA) parameter generation times.
* Add a simple timer classlloyd2008-08-312-0/+138
|
* Extra warnings for GCC 4lloyd2008-08-311-1/+2
|
* Allow generating 512 and 768 bit DSA keys.lloyd2008-08-311-6/+9
|
* Allow creating 512 bit RSA keys again (for benchmark, mostly)lloyd2008-08-311-1/+1
|
* Benchmark change: Skip RSA 1536, DH 1536. Add DSA 2048/256 and 3072/256, RSA ↵lloyd2008-08-301-6/+16
| | | | 8192, DH 8192
* Replace some C-style casts with C++ named casts in bzip2 and zliblloyd2008-08-302-11/+11
|
* Generate a random 2k bit DSA group instead of 1024-bit JCE defaultlloyd2008-08-301-1/+3
|
* Fix xor_ciph examplelloyd2008-08-301-2/+4
|
* Changes for 1.7.91.7.9lloyd2008-08-273-2/+13
|
* Merge mp_sqr.cpp and mp_mul.cpp into mp_karat.cpp, since there is a lotlloyd2008-08-272-147/+132
| | | | | | of similar-but-not-identical code between them. (Can't merge for performance reasons, squaring is a special case of multiplication allowing extra optimizations)