aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove the shared IO buffer from EntropySource_Accumulator.lloyd2015-03-1813-60/+51
| | | | Instead each source that needs a buffer maintains their own.
* I just now assumed configure.py --os=osx would work, and I'm probably not ↵lloyd2015-03-151-0/+1
| | | | the first.
* Consider AES-NI as implying SSSE3 which lets us merge two of thelloyd2015-03-153-3/+3
| | | | | | amalgamation objects (aes_ni and clmul). The real advantage is for the static link, as GCM will pull in clmul via its reference, which is sufficient to also pull the AES impl into the link.
* In PK encrypt/decrypt move pad calls to the operation. This allows anlloyd2015-03-1413-154/+284
| | | | | | | | | op to use a padding scheme outside of our knowledge or control, for instance an OpenSSL RSA op which uses OpenSSL's padding code. Similar change for key agreement and KDFs for the same reason. Add an EME_Raw type; previously this operation was implicit in the code in pubkey.cpp
* Specify class name for static functionlloyd2015-03-131-1/+1
|
* Fix clmul which was broken by amalgamation ISA split.lloyd2015-03-122-2/+2
| | | | | Change GCM update granularity to BS (16) which is sufficient for GCM and more convenient to callers
* Externalize the state of a RFC 6979 nonce computation.lloyd2015-03-126-32/+94
| | | | | | | | | | | | This lets you amortize quite a few memory allocations (RNG, various BigInts, etc) over many nonce generations. Change generate_rfc6979_nonce to just instantiate one of these states, call the function once, and return. This doesn't have any additional overhead versus the previous implementation of this function. Fix HMAC_DRBG to correctly reset its state to its starting position when you call clear() on it.
* Avoid a ECC point multiplication in ECDSA signature verification bylloyd2015-03-121-14/+20
| | | | | | | distributing w into the exponents. This is at least a 50% speedup across all keysizes on my laptop. Optimization pointed out by Dr. Falko Strenzke on the mailing list.
* Add BigInt::encode_1363 writing to specified bufferlloyd2015-03-112-3/+10
|
* Add BOTAN_DLL back to LibraryInitializer and move some of the implementation tolloyd2015-03-116-10/+36
| | | | | | | a source file. Without BOTAN_DLL the LibraryInitializer was removed entirely from the list of symbols which is not desired. Add some casts to avoid scary sounding but (upon review) harmless warnings from MSVC
* LibraryInitializer being dllexport but completely inline seems tolloyd2015-03-101-1/+1
| | | | confuse VC2013.
* Comile fixes for VC 2013. Based on github pull 56neusdan2015-03-106-55/+25
|
* Use /usr/bin/env to find python in the install script, Python doc updateslloyd2015-03-101-1/+1
| | | | Both from Uri B to mailing list.
* Fix Python cipher update_granularity() and default_nonce_length()lloyd2015-03-093-4/+11
| | | | which were completely broken. Pointed out by Uri B on mailing list.
* Cleanupslloyd2015-03-082-2/+6
|
* Add BOTAN_NOEXCEPT macro to work around missing noexcept in VS 2013.rcdailey2015-03-083-6/+14
| | | | Based on github pull req 23 by Robert Daily.
* Fix memory leak in TLS tests. Remove last few remaining uses of auto_ptr.lloyd2015-03-088-16/+25
|
* Fix macro checks for zero_mem. Github 55lloyd2015-03-061-2/+2
|
* Typolloyd2015-03-061-1/+1
|
* Add valgrind target in makefilelloyd2015-03-051-1/+4
|
* In Algo_Registry if a maker func fails, try the next most preferred onelloyd2015-03-054-35/+60
| | | | | | | | instead of bailing out immediately. Rename the 'builtin' provider to 'base' since really they are all built in. Fix MARK-4 when OpenSSL was enabled - it did not respect the skip param.
* Hide Algorithm_Factory and use the functions in lookup.h internally.lloyd2015-03-0436-202/+207
| | | | | | Fix two memory leaks (in TLS and modes) caused by calling get_foo and then cloning the result before saving it (leaking the original object), a holdover from the conversion between construction techniques in 1.11.14
* Add missing includes, broke clanglloyd2015-03-041-0/+2
|
* When comparing algorithm identifiers consider NULL and emptylloyd2015-03-041-3/+17
| | | | | parameters as equivalent. Based on a patch sent to the mailing list by Uri Blumenthal.
* Add missing includelloyd2015-03-021-0/+1
|
* Avoid requiring a system header herelloyd2015-03-021-1/+1
|
* Fix decrypt in FFI/Python. Github issue 53lloyd2015-03-013-6/+23
|
* Install the Python modulelloyd2015-02-281-16/+20
|
* Wrong functionlloyd2015-02-281-1/+1
|
* Add power8 targetlloyd2015-02-271-0/+1
|
* Add specialized reducers for P-192, P-224, P-256 and P-384lloyd2015-02-268-55/+674
|
* FFI header cleanup, small Python additionslloyd2015-02-242-13/+35
|
* Add missing includelloyd2015-02-241-0/+1
|
* Split amalagamation into ISA specific objectslloyd2015-02-224-5/+9
|
* Amalgamation fixes; inline the poly1305 header and :: namespace OpenSSL funcslloyd2015-02-224-152/+131
|
* Hide all uses of boost filesystem in fs.cpp. Use readdir as anlloyd2015-02-2116-89/+141
| | | | | alternate implementation for Unix and add some feature checks so a boost-free build of the tests and command line are possible again.
* Python cleanupslloyd2015-02-191-12/+17
|
* Movelloyd2015-02-193-0/+0
|
* FFI cleanupslloyd2015-02-192-34/+29
|
* Convert HKDF to the normal KDF interfacelloyd2015-02-188-194/+82
|
* Modify interfaces of KDF and PBKDF to write output to an array, withlloyd2015-02-1820-344/+349
| | | | higher level functions on interface handling returning a vector.
* Get algos via lookup in case of SIMD or other optimized versionslloyd2015-02-181-4/+2
|
* Reduce the CTR_BE buffer down to just a few blocks.lloyd2015-02-171-14/+16
| | | | No performance impact afaict.
* Python: docs, key agreement, fix bcrypt trailing null byte.lloyd2015-02-164-84/+228
| | | | Initial very incomplete pass at error return value sanity.
* Add new module `ffi` which provides a plain C interface, plus a newlloyd2015-02-1628-1087/+2014
| | | | | | | | | | | | ctypes Python wrapper that uses it. The API is intentionally designed to have a very simple ABI (extern "C", all structs are opaque, no memory ownership passing the FFI boundary, limited set of simple types as args) so the ctypes wrapper is quite simple. Currently ffi provides ciphers, hashes, MACs, RNGs, PBKDF, KDF, bcrypt, and most public key operations. Remove the old boost.python wrapper and all the build code for it.
* Add version_cstr (returns const char*) and move tag_size from AEAD tolloyd2015-02-116-6/+14
| | | | Cipher_Mode. Add missing includes in entropy sources, noticed by clang.
* Correct includeslloyd2015-02-112-2/+2
|
* Mark modules pulling in external deps (zlib, boost, etc) as such, andlloyd2015-02-0610-66/+11
| | | | | | notify the user when they are enabled. Drop botan-config, replaced by `botan config` command added in 1.11.8
* Remove static castslloyd2015-02-066-34/+28
|
* Move Cipher_Mode enum out of types.h, move stream cipher mode to new headerlloyd2015-02-058-55/+72
|