| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
find square roots modulo a prime. Contributed by FlexSecure GmbH
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
bits <= 1 -> error
bits == 2 -> choose 2 or 3 at random
bits == 3 -> choose 5 or 7 at random
bits == 4 -> choose 11 or 13 at random
bits >= 5 -> procedure used previously.
Tested by running random_prime() with random bit sizes <= 16 until it had
generated all <= 16 bit primes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
for the implementation in Library_State. Instead explicitly call deref_alias
on global_state() wherever the old freestanding version was used. This serves
to make (more) uses of the global state explicit rather than implicit.
|
| |
|
|
|
|
|
|
|
| |
PKCS8::encrypt_key - this is slightly less flexible, but removes the
dependency on the Library_State object. And if someone wants to use
a different algorithm, they just have to pass in an actual value for the
pbe string instead of letting it default to the empty string.
|
| |
|
|
|
|
|
|
|
|
|
| |
config state: how long successful validations should be cached, and the
amount of slack to allow on time boundary checks. Now these are passed
as arguments to the constructor, as a pair of 32-bit integers representing
the number of seconds to allow as slack and the number of seconds to cache
validations for. They default to the same compiled in defaults as before,
24 hours (86400 seconds) and 30 minutes (1800 seconds), respectively.
|
|
|
|
|
|
|
|
| |
In reality, Config was a singleton, with the only owner being the
Library_State object. Theoretically one could create and use another Config
instance, but in practice it was never done. Reflect the reality and inline
the members and public functions of Config in Library_State, removing Config
entirely.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
make_rng()
|
|
|
|
|
|
|
|
|
|
|
| |
RandomNumberGenerator, and make ANSI_X931_PRNG's implementations just
forward the arguments to the underlying RNG. This allows seeding the RNG
even if no entropy modules are loaded into the library. Also it allows
actually adding user-specified data; to do it otherwise would require
creating the RNG objects yourself and retaining a pointer to the Randpool,
which is pretty bogus.
Move Null_RNG to rng.h
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
where it is needed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Randpool, it will query them as needed (or if asked to do so). New function
make_rng() that creates an RNG (X9.31 backed by a Randpool) and seeds it.
Remove the entropy source related code from the Modules/Builtin_Modules
classes.
|
| |
|
| |
|
|
|
|
|
|
| |
They were probably not a good idea. If nothing else, these functions might
throw bad_alloc, and possibly other errors. Something broad like std::exception
might be applicable, but that seems pointlessly broad.
|
|
|
|
| |
access to /dev/random (will be cleaned up shortly)
|
|
|
|
| |
key or IV; it does not reference the global RNG.
|
|
|
|
| |
in the library ccode.
|
|
|
|
|
|
|
|
|
|
|
|
| |
see if (p-1)/2 was prime, and if so set q to that. This is to deal with
certain bogus DH formats (PKCS #3, specifically; the 'modern' ANSI formats
always provide the q subgroup value).
However this required access to the RNG. Rather than push RNG usage all
the way down into that part of DL group, simply remove the feature.
Since PKCS #3 format is only really used for DH keys, it will not much
affect anything functionally (that I can see).
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Public version doesn't need an RNG argument.
|
|
|
|
|
|
|
|
|
|
|
| |
completely wrong, and it is rather disturbing I made that mistake. The
poll() function will gather up to the number of bytes passed as its argument;
it will do this by opening up files and reading up to 1024 bytes from each
one. So we might open between 256 and 256*1024 files, depending on the sizes
of them (ignoring empty files, which count for zero bytes). (Idea: also
include the name of the file in the output? Is that useful?)
Move the read_buf out of the loop to minimize allocator thrashing.
|
|\
| |
| |
| | |
and 'f6d0cb6f9569d228ed6a11d021c3f57f55220bde'
|
| |
| |
| |
| | |
That seems excessive. Reduce to 32 Kb and 256 Kb (resp).
|
|/
|
|
|
|
|
|
|
| |
a) I am sure we really want to include this (proprietary, unanalyzed?)
PRNG in Botan
b) I have a chance to add test cases and clean up the code.
Also note a few more changes in the changelog, and set a provisial release
date for sometime in July.
|
|
|
|
|
|
| |
testability (have a card still, but the drivers are for 2.4 kernel and
seemingly not 64-bit or thread safe, so it's pretty much a paperweight
right now).
|
| |
|
|
|
|
| |
which is pretty unfriendly. Die with an error instead.
|