aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Modify X509_CA::make_cert and X509_CA::sign_request to take a RNG referencelloyd2008-06-114-11/+16
| | | | argument in favor of referencing the global PRNG argument
* Move the declaration of the RandomNumberGenerator base class from base.hlloyd2008-06-1018-39/+66
| | | | to rng.h (eventually base.h will be split up entirely and go away)
* Change PK_Signer::signature to take a RandomNumberGenerator referencelloyd2008-06-1011-41/+38
| | | | instead of always using the global PRNG.
* PK_Encryptor::encrypt now takes a RandomNumberGenerator reference, insteadlloyd2008-06-108-30/+35
| | | | of using the global RNG object.
* Pass a RNG reference to the EMSA encoder functionslloyd2008-06-109-40/+84
|
* Pass RandomNumberGenerator references to public key operations that needlloyd2008-06-1013-26/+41
| | | | | | | them (encrypt and sign), with the intent of slowly bubbling up the access points to the API level, at which point the application handles managing the RNG. This will allow removing the compiled-in global PRNG, and make testing much simpler.
* GmbH, not GmBHlloyd2008-06-101-1/+1
|
* merge of '1813007a29ee71c4d313e58022f38fd8144d7637'lloyd2008-06-101-0/+2
|\ | | | | | | and '3e5ec6aac7a64cbc6a7adcbb33b6d9dbb1a4a54e'
| * Document RNG test suite, SHA1PRNG contributionlloyd2008-06-091-0/+2
| |
* | Add braces to avoid confusion (and a GCC 4.3 warning) in nested if/elselloyd2008-06-101-0/+2
| |
* | Remove Randpool header from X9.31 PRNG code: the RNGs are now decoupledlloyd2008-06-101-1/+0
|/
* Check in the first import from InSiTo, SHA1PRNG, which implements thelloyd2008-06-074-3/+177
| | | | | Java SecureRandom PRNG algorithm. (I accidentally checked in the header in the previous revision).
* Make the contents of Botan_types namespace be just using declarations,lloyd2008-06-074-4/+44
| | | | instead of introducing new typedefs.
* Add a full set of tests for the ANSI X9.31 PRNG, using data takenlloyd2008-06-078-53/+2158
| | | | | | | | 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.
* We must have ANSI_X931_RNG::clear() call destroy() on V, which sets thelloyd2008-06-071-1/+1
| | | | | | length to zero. That is because we encoded our seededness state as being if (and only if) V has non-zero length. After clearing, we have reset all state.
* merge of '36a07a95dbdfc44382114f6933d7bbe49e584cef'lloyd2008-06-071-15/+11
|\ | | | | | | and 'ce120a1a57e265d0ce93bd2567d9f1f9ec8e25d9'
| * Change how the ANSI X9.31 generator tells that it is seeded. Previously,lloyd2008-06-071-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | it was seeded if and only if the underlying PRNG was seeded. However if the PRNG always returned as being seeded, we would never generate a V value, etc (leaving them at the default zero). This would not occur with any of Botan's built in PRNGs since their implementations require that add_randomness be called at least once before is_seeded will return true. However this is not an invariant of the general RandomNumberGenerator interface. Now, the X9.31 PRNG is only seeded after it has a) detected that the PRNG is seeded, and b) generated a new random key and V vector.
* | Mention Randpool change in log.txtlloyd2008-06-031-1/+2
|/
* Reindentlloyd2008-05-256-21/+20
|
* Wrap at 80 columnslloyd2008-05-251-1/+2
|
* Update EME_PKCS1v15::pad to use next_byte APIlloyd2008-05-251-1/+1
|
* Add RandomNumberGenerator::next_byte, which just returns a single bytelloyd2008-05-252-0/+12
| | | | value from the RNG. (Would an adapter class be more appropriate?)
* Make the two parameters of Randpool (which underlying block cipher and MAClloyd2008-05-255-14/+22
| | | | to use) explicit arguments to the constructor instead of being hardcoded.
* Use RNG argument in EME_PKCS1v15::pad instead of global objectlloyd2008-05-251-3/+2
|
* Check in initial changelog for 1.7.7. Increase version number in configure.pllloyd2008-05-243-2/+7
| | | | and in readme.txt
* Pass an RNG reference to EME::padlloyd2008-05-246-16/+32
| | | | PK_Encryptor_MR_with_EME::enc references the global PRNG currently
* Don't use the global PRNG in implementations of PBE::new_paramslloyd2008-05-245-11/+16
|
* Update passhash example with new S2K::new_random_salt signaturelloyd2008-05-241-1/+2
|
* Remove random_integer() and replace it with a BigInt constructor taking alloyd2008-05-2411-29/+28
| | | | RandomNumberGenerator reference. Update all callers.
* Pass an RNG reference to IF_Corelloyd2008-05-243-6/+9
|
* Keypair::check_key no longer references global PRNGlloyd2008-05-247-18/+30
|
* Remove version of OctetString::change that used global PRNGlloyd2008-05-242-3/+2
|
* Avoid global RNG in S2K::new_random_salt (RNG reference passed as argument ↵lloyd2008-05-242-4/+4
| | | | instead)
* Pass a RNG reference to load_check and gen_check functionslloyd2008-05-247-28/+26
|
* Avoid using the global RNG in check_key, instead pass a reference.lloyd2008-05-2426-59/+73
| | | | Update the examples
* Avoid using global rng in DL_Group::generate_dsa_primeslloyd2008-05-243-10/+14
|
* Previously random_integer and friends used the global PRNG object to getlloyd2008-05-2430-108/+166
| | | | | | | | | | | | | 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.
* Policy change: No RSA key generation smaller than 1024 bits. Had been 128lloyd2008-05-241-1/+1
|
* Remove both default arguments to the constructor of ANSI_X931_RNG.lloyd2008-05-243-8/+8
| | | | | | | | | | | | | | | | | | If the second argument was NULL, it would default to a new Randpool. But this introduces an annoying dependency: really it is the caller who is relying on Randpool. Make this explicit by passing a new Randpool pointer to the constructor in Library_State. This will break all callers using ANSI_X931_RNG's constructors with default arguments. To regain the previous behavior, change: ANSI_X931_RNG rng; ANSI_X931_RNG rng("/*cipher name*/"); to ANSI_X931_RNG rng(/*cipher name, default was AES-256 */, new Randpool); You are free to pass another PRNG object if you like. This make require inclusion of <botan/randpool.h>
* Print the class tag type(s) on constructed formslloyd2008-05-081-0/+9
|
* The BER decoder assumed that all constructed types would be tagged aslloyd2008-05-082-5/+7
| | | | | | | | | | | | universal: this prevented it from decoding application, context-specific, or private-class constructions. Add a new parameter to BER_Decoder::start_cons which specifies the expected class type (default universal). The decoder still verifies that the constructed bit is set in the class tag. This provides parity with the interface to the DER encoder. Problem was found and reported by Falko Strenzke
* The log notes for 1.6.4 got lost when the logs were consolidated to a single ↵lloyd2008-05-051-0/+3
| | | | file
* Update notes and readme for 1.7.6 release1.7.6lloyd2008-05-052-2/+4
|
* Update to not use Global_RNGlloyd2008-05-051-2/+2
|
* Remove unused headerslloyd2008-05-041-6/+5
|
* Remove Config::option_as_time, instead call timespec_to_u32bit inlloyd2008-05-025-27/+21
| | | | each caller.
* Add a new function timespec_to_u32bit that handles a very simplisticlloyd2008-05-013-27/+34
| | | | | | time format and converts it to a duration in seconds represented as a u32bit. This is from Config::option_as_time, which is now implemented simply as: return timespec_to_u32bit(option(key))
* The ability to load ini-style files was removed almost 6 monthslloyd2008-04-301-2/+0
| | | | | ago, but the Config class still contained the declaration for load_inifile() - remove it.
* Remove unused include of <vector>lloyd2008-04-291-2/+1
|
* Instead of reading from the Config object every time to get the slack welloyd2008-04-292-15/+20
| | | | | | should allow when checking timestamps, just call it once and store the value in the X509_Store object, passing it to validity_check with a new argument for the allowed time slack.