aboutsummaryrefslogtreecommitdiffstats
path: root/checks/pk.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Modularize the public key algorithms, though currently a great deal oflloyd2008-09-281-37/+102
| | | | | | 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).
* Allow test suite to build even if RNG or DLIES is missinglloyd2008-09-281-1/+8
|
* Use the Timer class for all benchmarkinglloyd2008-09-051-34/+42
|
* Remove most of the direct references to the global_rng() calllloyd2008-06-281-44/+34
|
* Remove uses of global PRNG from self-test and benchmark code. Assumeslloyd2008-06-271-11/+10
| | | | access to /dev/random (will be cleaned up shortly)
* Remove load checking, as it requires an RNG (at least at the moment).lloyd2008-06-271-22/+32
| | | | | | | | | Probably some variation of it will be added back in later, at least to do basic checks like that primes are really odd (and we can do basic primality checks, etc, even with an RNG). Alternative: call check_key() manually on public keys you load with an RNG object.
* Similiar combining transform for the ElGamal, DSA, and NR private keylloyd2008-06-201-4/+8
| | | | constructors.
* Consolidate the two DH_PrivateKey constructors into a single one takinglloyd2008-06-201-12/+18
| | | | | 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/+6
| | | | | | | | 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-135/+121
|
* Change PK_Signer::signature to take a RandomNumberGenerator referencelloyd2008-06-101-18/+2
| | | | instead of always using the global PRNG.
* PK_Encryptor::encrypt now takes a RandomNumberGenerator reference, insteadlloyd2008-06-101-11/+2
| | | | of using the global RNG object.
* Add a full set of tests for the ANSI X9.31 PRNG, using data takenlloyd2008-06-071-30/+0
| | | | | | | | from the NIST CAVS dataset, taken on June 7 2008 from http://csrc.nist.gov/groups/STM/cavp/standards.html AES-128, AES-192, AES-256, and 2 and 3-key TripleDES variants are all tested.
* Make the two parameters of Randpool (which underlying block cipher and MAClloyd2008-05-251-3/+10
| | | | to use) explicit arguments to the constructor instead of being hardcoded.
* Avoid using the global RNG in check_key, instead pass a reference.lloyd2008-05-241-10/+10
| | | | Update the examples
* Previously random_integer and friends used the global PRNG object to getlloyd2008-05-241-9/+10
| | | | | | | | | | | | | random bits. Now they take a reference to a RandomNumberGenerator object. This was applied several times out, so now the constructors to private key objects also take a RandomNumberGenerator& argument. This is also true for a number of randomized algorithms (Miller-Rabin, for instance). You can get a reference to the global PRNG with global_state().prng_reference() This is a provisional thing: and warning: it is not thread safe! If this is a problem instead keep per-thread PRNGs and pass them were needed.
* propagate from branch 'net.randombit.botan' (head ↵lloyd2008-04-211-4/+4
|\ | | | | | | | | | | 51f9ee5180a5cacdfff31504266e883b7bb0eb00) to branch 'net.randombit.botan.remove-libstate' (head 636b767b9686261418b1cb45a6271edeef87501b)
| * Remove the Global_RNG namespace, along with rng.h and rng.cpp. This waslloyd2008-04-071-4/+4
| | | | | | | | | | | | | | | | | | essentially a facade for the RNG object living in the global library state. Rewrite all callers to directly invoke the global state object: this makes it more clear what functions are actually accessing mutable state outside of the normal reference graph (and thus, which functions will have to be altered in order to remove this dependency). Other facades remain in place for the configuration object and the memory allocator factory.
* | Update Fixed_Output_RNG (used for testing) to implement is_seededlloyd2008-04-211-0/+2
|/
* Remove several uses of old style C casts in favor of C++98's static_cast and lloyd2007-10-191-5/+12
| | | | reinterpret_cast
* Remove code checking the BOTAN_NO_ macros for if particular public keylloyd2007-09-131-41/+4
| | | | | algorithms exist. They haven't been used since the 'minimal' module was removed in Botan 1.3.14
* Eliminate most uses of exit() to bail on an error; instead throw anlloyd2007-02-191-13/+5
| | | | exception upto the top level, that's what it's there for.
* Rename X509_PublicKey and PKCS8_PrivateKey to the new types within thelloyd2006-09-061-4/+4
| | | | self-test sources
* Remove the public domain notices from the self-test/benchmark code,lloyd2006-08-091-1/+0
| | | | because it turns out to be something of a legal minefield.
* Initial checkin1.5.6lloyd2006-05-181-0/+747