aboutsummaryrefslogtreecommitdiffstats
path: root/checks/pk_bench.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove more uses of vector to pointer implicit conversionslloyd2010-09-131-2/+1
|
* Anywhere where we use MemoryRegion::begin to get access to the raw pointerlloyd2010-09-131-2/+2
| | | | | representation (rather than in an interator context), instead use &buf[0], which works for both MemoryRegion and std::vector
* Don't bother benchmarking 512 or 768 bit keys; considering an RSAlloyd2010-03-211-7/+4
| | | | | | | | | modulus of 768 bits has already been publicly factored, and discrete logarithm algorithms run in about the same time, these keys aren't safe to use no matter how fast they are. Also remove the 8192 bit RSA/RW keys - it took too long to generate them, and nobody is likely to be using 8K bit keys anytime soon anyway.
* Fix GOST 34.10 benchmarklloyd2010-03-161-1/+1
|
* Disable fault protection for DSA, NR, and GOST 34.10 benchmarkslloyd2010-03-151-2/+2
|
* Centralize which ECC domains are used for benchmarkinglloyd2010-03-131-34/+17
|
* Skip bench on very small ECC groups; 112 == DESlloyd2010-03-131-3/+1
|
* Add 192 and 256 bit groups to the ECDSA benchmark lineuplloyd2010-03-131-1/+3
|
* Disable fault protection for ECDSA benchmark, easier profilinglloyd2010-03-131-1/+1
|
* Remove call to disable key testing, now a per-build optionlloyd2010-03-101-4/+2
|
* Rename PK_Encryptor_MR_with_EME and PK_Decryptor_MR_with_EME tolloyd2010-03-081-4/+4
| | | | | PK_Encryptor_EME and PK_Decryptor_EME; the message recovery is somewhat implicit in the recovery of the plaintext.
* Modify pubkey classes to take names instead of object pointers.lloyd2010-03-081-30/+34
| | | | | Remove use of look_pk from the source and examples, instead instantiate classes directly.
* This checkin represents a pretty major change in how PK operations arelloyd2010-03-041-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | performed. Up until now, each key object (eg DSA_PublicKey or ECDH_PrivateKey) had two jobs: contain the key material, and know how to perform any operations on that key. However because of a desire to support alternative implementations (GNU MP, hardware, whatever), there was a notion of operations, with the key objects containing an op that they got via engine rather than actually implementing the underlying algorithms directly. Now, represent the operation as an abstract interface (typically mapping a byte string to a byte string), and pass a plain Public_Key& or Private_Key& to the engine. The engine does any checks it wants (eg based on name, typeid, key sizes, etc), and either returns nothing (I'll pass) or a pointer to a new operation that represents signatures or encryption or what-have-you using that key. This means that plain key objects no longer contain operations. This is a major break with the traditional interface. On the other hand, using these 'bare' operations without padding, KDFs, etc is 99% of the time a bad idea anyway (and if you really need them, there are options so you get the bare op but via the pubkey.h interfaces). Currently this change is only implemented for DH and ECDH (ie, key agreement algorithms). Additionally the optional engines (gnump and openssl) have not been updated. I'll probably wait to touch those until after I can change them all in one go for all algos.
* Use KDF2/PK_Key_Agreement in DH benchmarklloyd2010-03-041-5/+5
|
* Add similar decoding constructors to the private keyslloyd2010-03-041-1/+2
|
* Add GOST 34.10 benchmarks. Kill of last bits of ECKAEG terminology.lloyd2010-03-021-10/+78
|
* Rename ECKAEG to ECDH. As far as I can tell they are the same algorithm,lloyd2010-03-021-11/+11
| | | | | I'm not sure where the old name came from though as literally the only hits for it on Google are botan-related.
* Kill get_EC_Dom_Pars_by_oidlloyd2010-03-011-2/+4
|
* Add copyright and license notes to pretty much every file that didn't have them,lloyd2009-12-311-0/+6
| | | | | | | | 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.
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-171-3/+3
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Modify the self test program to use the builtin runtime benchmarking goop.lloyd2009-09-241-0/+14
| | | | | | | | | 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.
* Wrap benchmark_rw call in BOTAN_HAS_RW macro checklloyd2009-09-041-0/+2
|
* Remove support for HTML benchmark output. Easier/simpler to parse thelloyd2009-08-141-1/+1
| | | | | output with a script after the fact to generate such things, especially as often for HTML I want to do multiple side-by-side results.
* Remove lookup.h use from DLIES, PK key agreement, DSA param gen, get_enc.cpplloyd2008-11-111-2/+10
|
* Add DLIES benchmarklloyd2008-11-091-10/+72
|
* More useful PK benchmark output (also a bit easier to parse)lloyd2008-10-221-32/+46
|
* Add ECKAEG benchmark. Fix several problems found in ECKAEG key (had pure ↵lloyd2008-10-131-5/+73
| | | | virtuals)
* Add a simplistic ECDSA benchmarklloyd2008-10-121-0/+58
|
* Handle building Botan with almost all public key code disabled (though onlylloyd2008-10-011-8/+11
| | | | | | | with the aid of macro hackery, at the moment). Change DH feature macro to BOTAN_HAS_DIFFIE_HELLMAN Change NR feature macro to BOTAN_HAS_NYBERG_RUEPPEL
* Compliation fixeslloyd2008-09-281-1/+1
|
* Modularize the public key algorithms, though currently a great deal oflloyd2008-09-281-8/+50
| | | | | | the underlying implementation goop remains in the core library instead of being shunted off, due to various dependencies it has (most of which it shouldn't).
* Time RSA key generation againlloyd2008-09-151-1/+5
|
* Oops disable part of previous, was for testinglloyd2008-09-141-1/+7
|
* Only randomize inputs every 100 runs to minimize overhead (makes profiling ↵lloyd2008-09-141-31/+40
| | | | easier)
* Split RSA and RW benchmarks. Benchmark RSA encryption and signatures.lloyd2008-09-141-16/+87
|
* Padding changes in the PK benchmarks:lloyd2008-09-121-3/+3
| | | | | | RSA: EMSA4(SHA-1) -> EMSA1(SHA-1) RW: EMSA4(SHA-1) -> EMSA2(SHA-1) ELG: Raw -> EME1(SHA-1)
* Disable extensive testing during benchmark key generation: throws off profilerlloyd2008-09-071-0/+3
|
* Reduce how often DSA and DH keys are generated during benchmarkslloyd2008-09-071-2/+2
|
* Use the Timer class for all benchmarkinglloyd2008-09-051-15/+0
|
* New DH benchmark, much more reflective of real usage as well.lloyd2008-09-051-114/+64
|
* Delete dead code. New shared benchmark framework for RSA/RW. RSA benchmarklloyd2008-09-021-250/+155
| | | | now uses signing instead of encryption.
* Inline some methods of Timerlloyd2008-08-311-31/+19
| | | | Randomly generate the RW keys as well, removing all need for the keys/ dir
* 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.
* Benchmark change: Skip RSA 1536, DH 1536. Add DSA 2048/256 and 3072/256, RSA ↵lloyd2008-08-301-6/+16
| | | | 8192, DH 8192
* Remove most of the direct references to the global_rng() calllloyd2008-06-281-37/+50
|
* Remove uses of global PRNG from self-test and benchmark code. Assumeslloyd2008-06-271-15/+14
| | | | access to /dev/random (will be cleaned up shortly)
* Similiar combining transform for the ElGamal, DSA, and NR private keylloyd2008-06-201-9/+8
| | | | constructors.
* Consolidate the two DH_PrivateKey constructors into a single one takinglloyd2008-06-201-2/+2
| | | | | a RNG reference, a group, and an (optional) private key. The public key is now always rederived from the private.
* Convert pkcs8_decoder() and x509_decoder() to take a RandomNumberGenerator&lloyd2008-06-201-2/+2
| | | | | | | | reference, along with PKCS8::load_key get_pbe no longer calls new_params() on the newly instantiated instance, which is not backwards compatible (you have to either call new_params yourself, or explicitly set the iteration count, salt, etc)
* Fix remaining -Wmissing-declarations warnings in self-test/benchmark codelloyd2008-06-201-0/+5
|