| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
build (only libstate, utils, plus dependencies), which can be extended with
use of --enable-modules.
To add new modules to the set of always-loaded, use 'load_on always' in info.txt
Also fix a few small build problems that popped up when doing a minimal build.
Requested by a user.
|
| |
|
|
|
|
|
|
| |
the info.txt files with the right module dependencies.
Apply it across the codebase.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
up during the Fedora submission review, that each source file include some
text about the license. One handy Perl script later and each file now has
the line
Distributed under the terms of the Botan license
after the copyright notices.
While I was in there modifying every file anyway, I also stripped out the
remainder of the block comments (lots of astericks before and after the
text); this is stylistic thing I picked up when I was first learning C++
but in retrospect it is not a good style as the structure makes it harder
to modify comments (with the result that comments become fewer, shorter and
are less likely to be updated, which are not good things).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GostR3411_94_TestParamSet, this is compatible with the implementations in
Crypto++ and OpenSSL. This is not backwards compatible, though once the
implementation supports multiple param sets (which is required, unfortunately,
for compatability with various standards by CryptoCom, who have defined not
one but at least 4 (!!!) different sboxes to use with GOST), I may offer
Botan's previous sbox set as an option.
Since adding the GOST hash function (34.11) and signing algorithm (34.10)
are on the long term agenda (request by Rickard Bondesson, as the Russian
authorities want to use their local standards for their DNSSEC use), I
renamed the block cipher class (which had been just 'GOST') to GOST_28147_89
to minimize future name clashes.
|
| |
|
| |
|
|
|
|
| |
dependency on libstate.h
|
|
|
|
|
|
|
|
| |
replacing with an updated constructor to Algorithm_Factory taking a
vector of Engine*. The semantics of adding engines at runtime were not
defined nor very clear, it seems best to prohibit this unless and
until it is explicitly thought through (and until a need for it
presents itself).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
algo_factory and algorithm_factory. This is confusing
so for consistency/simplicity, remove algo_factory, making
algorithm_factory the function to call.
In 1.7.14, several functions in lookup.h, including
retrieve_block_cipher, retrieve_hash, etc were changed to accept
a Library_State& reference. However it turns out with the
modified design I've settled upon for 1.8 that it is not
necessary to change those interfaces; instead they always refer
to the global_state algorithm factory which is exactly the
semantics one would expect/desire 99% of the time (and is source
compatible with code written for 1.6, also a plus)
|
|
|
|
|
|
|
|
|
|
|
|
| |
was not the right place to keep track of this information. Also modify
all Algorithm_Factory constructor functions to take instead of a SCAN_Name
a pair of std::strings - the SCAN name and an optional provider name. If
a provider is specified, either that provider will be used or the request
will fail. Otherwise, the library will attempt best effort, based on
user-set algorithm implementation settings (combine with benchmark.h for
choosing the fastest implementation at runtime) or if not set, a static
ordering (preset in static_provider_weight in prov_weight.cpp, though it
would be nice to make this easier to toggle).
|
|
|
|
|
| |
the other half was relied upon by pubkey. Move the contents into those two
modules. Update deps.
|
|
|
|
|
| |
be able to get the global_state so as to get a reference to the
Algorithm_Factory
|
|
|
|
|
| |
back to the toplevel since most othe dependencies have been removed now
(except get_cipher which still needs changes)
|
| |
|
| |
|
|
|
|
| |
them to be individually requested as providers on lookup.
|
|
|
|
| |
this allows provider preferences to be passed down to sub-algorithms.
|
| |
|
| |
|
|
|
|
| |
via two-stage initialization.
|
| |
|
|
|
|
|
| |
of algo_factory() several times, I decided to rename the functions.
algorithm_factory() just forwards to algo_factory as an inline.
|
|
|
|
| |
Set default thread safety to false
|
|
|
|
| |
algo_factory/
|
| |
|
|
|
|
| |
compatability.
|
|
|
|
| |
intented)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Compilation fix in arc4_openssl.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and reduce all the arguments to just a bool specifying threads.
selftests: off (if desired, run passes_self_test in selftest.h)
fips140: Just ran the self tests, totally bogus option.
use_engine: On by default (that is, if OpenSSL or asm code is compiled
in, it's used by default). One can get better control over this using
the provider feature of SCAN_Name (though this doesn't handle cases like
nested algorithms yet).
secure_memory: On by default.
|
|
|
|
| |
as an abstraction. Check #ifdef's for engines and such directly in libstate.cpp
|
|
|
|
| |
Move OpenSSL's RC4 back into a single file again.
|
|
|
|
| |
and mac tables
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This still is not an ideal split, since for SHA-1 we have both SSE2 and
x86/x86-64 asm. Currently we continue to punt to SSE2 if enabled, otherwise
asm, since the SSE2 seems to be the fastest thing going in my tests so far.
|
|
|
|
|
|
| |
find an object to clone.
Add a new constructor to Hash_Filter taking a HashFunction*
|
|
|
|
| |
accordingly.
|
|
|
|
| |
which will eventually encapsulate the lookup logic as well)
|
| |
|
| |
|