| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
that claim to be by defining __GNUG__ (such as Intel C++)) in new utils
header prefetch.h
|
| |
|
| |
|
|\
| |
| |
| | |
and 'bb55abb64b64ca63aeb361db40c6bc4692d4ce48'
|
| |
| |
| |
| | |
existing on the current CPU before returning an object.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This, I think, was what was causing the OpenSSL AES code to crash (without
a key being set, the rounds are unset and probably causes the code to loop
out past the end of an array somewhere).
Sadly, this also confirms that OpenSSL's AES is much faster than Botan's:
AES-128: 115.032 [core] 152.994 [openssl]
AES-192: 98.6724 [core] 130.087 [openssl]
AES-256: 86.6348 [core] 113.608 [openssl]
Definitely some improvement can be made there! :(
|
| | |
|
| |
| |
| |
| | |
version.
|
| | |
|
|\|
| |
| |
| |
| |
| | |
1f4729658b70a340064bc9a33c923a44ecab84d8)
to branch 'net.randombit.botan' (head b9ca6596a127964cb9795d22bc2a5642fab5de84)
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
- rounding.h (round_up, round_down)
- workfactor.h (dl_work_factor)
- timer.h (system_time)
And update all users of the previous util.h
|
| |
| |
| |
| | |
Inline round_up and round_down
|
| |
| |
| |
| |
| |
| | |
Add support for SHA-2 and SEED.
Wrap block cipher usage in checks for OPENSSL_NO_XXX
|
| |
| |
| |
| | |
info leakage.
|
| | |
|
| |\
| | |
| | |
| | |
| | |
| | | |
ef51dd2869ed38dae3aeb1c3b931ca9d595580e1)
to branch 'net.randombit.botan' (head fc1942640045423f411fd865cbd584090b28d7eb)
|
| | | |
|
| | |
| | |
| | |
| | | |
Visual C++.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
passed as a 'const std::string' instead of a const reference. Can't fix
in 1.8 since it is ABI breaking.
|
| | |
| | |
| | |
| | | |
is enabled in the build.
|
| | | |
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
75371777750b63ef94693602202c5104f217a987)
to branch 'net.randombit.botan' (head 3f53f01c349eeee89288b1922fbde45b283c958c)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
memory accesses. Since this can be a pretty big win, enable it for them.
The m68k apparently also can, except in its (modern) Coldfire version,
but it's always big endian so mark that as such.
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
c2624292793f396cf940403e0d12073a9b2c7b17)
to branch 'net.randombit.botan' (head 07a71effa1ba495b6ea57b2490ad38bf58a23bd0)
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
computed in parallel. Not a huge win but slightly faster (which affects
things like Lion when using Turing), most likely due to more available ILP
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
works on, have sse2_eng rely on a specific compiler/arch; each sse2 impl
depends on the engine anyway, so they will only be loaded if OK.
|
| | | | | |
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
378e7464abc6b3efcf9cb433f7fcec0adfbb9de0)
to branch 'net.randombit.botan' (head dd9bdcc0cab8b761a1c9861f3a4fc625488c2ef5)
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
for both Serpent and AES-128 in CTR mode.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
however many blocks remain, rather than looping calling encrypt_n with
a block size of 1 each time.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
About 10% faster than previous. Currently 112 MiB/s in ECB mode, versus about
40 MiB/s in scalar mode, on my 2.4 GHz Core2
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
unions and can be made much faster using interleave operations I think.
Currently ~2.5x faster in ECB or CTR mode on a Core2, which isn't too bad.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
enc/dec functions it replaces, these are public interfaces.
Add the first bits of a SSE2 implementation of Serpent. Currently incomplete.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Modify ECB to use parallel encryption/decryption where possible
Add toggles in build.h specifying how many blocks to process in parallel.
Defaults to 8 blocks for all modes, which is sufficient that any likely
parallelism can be extracted (via SIMD or concurrent execution) but not
so much as to seem likely to cause cache problems (8*128 bits = 128 bytes,
or two x86 cache lines)
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
decryption. Currently only used for counter mode. Doesn't offer much
advantage as-is (though might help slightly, in terms of cache effects),
but allows for SIMD implementations to process multiple blocks in parallel
when possible. Particularly thinking here of Serpent; TEA/XTEA also seem
promising in this sense, as is Threefish once that is implemented as a
standalone block cipher.
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
of preventing the bswap optimizations from being used. :(
|
| |_|_|/
|/| | |
| | | |
| | | | |
in the Threefish cipher have changed to increase diffusion.
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|