| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Based on https://github.com/randombit/fecpp
|
| |
|
|
|
|
| |
Useful when doing performance testing.
|
|
|
|
| |
GH #2199 #2109
|
| |
|
|
|
|
|
|
| |
Add base58 encoding/decoding CLI
Use decrypt_or_random in pk_decrypt
|
| |
|
|
|
|
|
|
|
| |
For example/documentation purposes, having distinct files makes
the code easier to find.
New --format option allows encoding as base64 or base58
|
| |
|
| |
|
| |
|
|
|
|
| |
Allows scripts to check if a subcommand is available
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Allows cleaning up header includes, also somewhat smaller binaries.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
GH #863
[ci skip]
|
|
|
|
| |
It output -lbotan-2.x instead of -lbotan-2
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
This is needed for LLVM which doesn't have any usable entropy
sources. Also useful for determinsitic private key creation, etc.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
With "botan rng --entropy" the global entropy sources are used to
seed the auto seeded random number generator.
|
| |
|
|
|
|
|
|
|
|
|
| |
Deprecates CPUID::print, mainly to avoid use of ostream in utils.
Main reasoning is some platforms do not have streams at all. If all uses of
streams are for operator<< and operator>> overloads, these can be guarded by a
future BOTAN_HAS_CPP_STREAMS system-feature flag. But when ostreams are
required to use the API (as here), that is not possible.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change reseed interval logic to count calls to `randomize` rather than
bytes, to match SP 800-90A
Changes RNG reseeding API: there is no implicit reference to the
global entropy sources within the RNGs anymore. The entropy sources
must be supplied with the API call. Adds support for reseding directly
from another RNG (such as a system or hardware RNG).
Stateful_RNG keeps optional references to both an RNG and a set of
entropy sources. During a reseed, both sources are used if set.
These can be provided to HMAC_DRBG constructor.
For HMAC_DRBG, SP800-90A requires we output no more than 2**16 bytes
per DRBG request. We treat requests longer than that as if the caller
had instead made several sequential maximum-length requests. This
means it is possible for one or more reseeds to trigger even in the
course of generating a single (long) output (generate a 256-bit key
and use ChaCha or HKDF if this is a problem).
Adds RNG::randomize_with_ts_input which takes timestamps and uses them
as the additional_data DRBG field. Stateful_RNG overrides this to also
include the process ID and the reseed counter. AutoSeeded_RNG's
`randomize` uses this.
Officially deprecates RNG::make_rng and the Serialized_RNG construtor
which creates an AutoSeeded_RNG. With these removed, it would be
possible to perform a build with no AutoSeeded_RNG/HMAC_DRBG at all
(eg, for applications which only use the system RNG).
Tests courtesy @cordney in GH PRs #598 and #600
|
|
|
|
|
|
|
|
| |
For those that are willing to trust uninspectible hardware. :)
Changes RDRAND entropy source to call RDRAND_RNG
Add --rdrand flag to rng cmdlet
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Remove -Wsuggest-attribute=noreturn from maintainer mode flags as it
seems like outside of the assertion failure macro any other suggestion
would always be a false positive (an unimplemented function or the like).
Or at least, if such a function needing noreturn to assist with static
analysis is added in the future it will be obvious, by virtue of the
static analyzer warnings which occur due to the missing noreturn
preventing the analyzer from understanding code flow.
|
|
|
|
|
|
|
| |
In some cases this can offer better optimization, via devirtualization.
And it lets the user know the class is not intended for derivation.
Some discussion in GH #402
|
|
|
|
| |
Avoids various static init and destruction hassles.
|
|
|
|
|
|
|
| |
for when a command wants an RNG but doesn't much care what kind.
This adds a place where a future --rng-type= option can be consulted
to eg use the system RNG or a user seeded DRBG.
|