aboutsummaryrefslogtreecommitdiffstats
path: root/checks/pk.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix CRL reason codes and updating of CRLs. Add tests for both cases.lloyd2010-10-071-1/+0
|
* Remove more uses of vector to pointer implicit conversionslloyd2010-09-131-9/+9
|
* Use the standalone version of the hex decoder instead of the wrapper thatlloyd2010-09-031-23/+32
| | | | previously existed in misc.cpp that emulated it via a pipe and filter.
* Add a couple of verification tests for GOST 34.10lloyd2010-03-161-0/+31
| | | | | | | | | | | Generating the test vectors found yet another inane (and, of course, undocumented) behavior in the GOST implementation included in OpenSSL; it treats the hash inputs as little endian. Just out of curiousity, I checked RFC 5832, which supposedly specifies this algorithm; not a peep about endian conversions. The more I deal with standards coming out of the CryptoPro people, the less confidence I have in them.
* Deconstify PK_Ops. It's quite reasonable that some op will want tolloyd2010-03-091-7/+14
| | | | | | | | | | | | | precompute only as needed, or will want to access some other expensive resource or etc. Change how the secret for generating blinding is done in cases where a PRNG isn't available. Use the operations public op to hide the secret, for instance the seed for a DH blinding variable is 2^x mod p. Make use of being able to mutate internal structures in the RW signer, since that does have access to a PRNG, so use it to initialize the blinder on first call to sign().
* Dont need RNG in this testlloyd2010-03-091-3/+2
|
* Rename PK_Encryptor_MR_with_EME and PK_Decryptor_MR_with_EME tolloyd2010-03-081-6/+6
| | | | | 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-54/+44
| | | | | Remove use of look_pk from the source and examples, instead instantiate classes directly.
* Remove the sign() operation from the public key objects, totally replacedlloyd2010-03-051-13/+41
| | | | | | by using the ops. Add real ECDSA test vectors (two found in ANSI X9.62)
* More keygen testslloyd2010-03-041-0/+8
|
* Test GOST with 521-bit prime field (was setting off bug before)lloyd2010-03-041-1/+1
|
* Split up load/store tests public vs privatelloyd2010-03-041-11/+29
|
* For each keygen tests, save the file as pem then reload it.lloyd2010-03-041-27/+80
|
* Add GOST 34.10 benchmarks. Kill of last bits of ECKAEG terminology.lloyd2010-03-021-1/+1
|
* Delete gfp_element.h and remove the gfpmath testslloyd2010-02-251-1/+0
|
* Clean up exceptions. Remove some unused ones like Config_Error. Makelloyd2010-01-051-14/+14
| | | | | | | 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.
* 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.
* Reorganize all GF(p)/ECC tests to be called from pk.cpplloyd2008-11-171-0/+2
|
* Fix segfault due to shared objects in DLIES testlloyd2008-11-111-3/+10
|
* Remove lookup.h use from DLIES, PK key agreement, DSA param gen, get_enc.cpplloyd2008-11-111-2/+3
|
* Add ECKAEG tests from InSiTo, by Manuel Hartllloyd2008-10-141-0/+1
|
* Move InSiTo's ECDSA tests into the main test suitelloyd2008-10-121-10/+11
|
* Handle building Botan with almost all public key code disabled (though onlylloyd2008-10-011-27/+38
| | | | | | | 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
* Report skipped DH testslloyd2008-10-011-2/+3
|
* Note in test suite output if DSA tests are being skippedlloyd2008-10-011-6/+7
|
* During the public key test suite, print . if the test passed, ? if thelloyd2008-10-011-7/+16
| | | | | | | algorithm could not be found, or X if the test fails. Before, one could disable (say) NR, and the NR tests would all look to pass, because they are being silently skipped. This gives some feedback that the test is not actually being run.
* Compliation fixeslloyd2008-09-281-6/+5
|
* 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