aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Avoid a crash in Skein_512::add_data if it is called with a zero-lengthlloyd2009-07-141-0/+3
| | | | input vector.
* Fix nonce generation of Miller-Rabin testlloyd2009-07-121-1/+1
|
* Remove unnecessary includes of <iostream>; either delete entirely as notlloyd2009-07-116-6/+4
| | | | needed, or replace with <iosfwd> or <ostream> where necessary.
* Fix generating primes between 4 and 7 bits. The problem was that whenlloyd2009-07-111-17/+22
| | | | | | | | verify mode is not set, by default the Miller-Rabin bases are chosen from the small primes. Generally speaking these make good test bases. However if the prime to be generated is very small, we will choose a base which is out of range. If the i'th prime is too big to be a base, then just choose a random integer of the appropriate size instead.
* static_cast a double before returning it as a u32bit to avoid a warninglloyd2009-07-101-1/+1
| | | | with some older versions of gcc
* Devai Tamas pointed out on the mailing list that random_prime with bitslloyd2009-07-101-3/+3
| | | | | | set to 2, 3, or 4 was not returning a random prime due to reducing the rng output modulo 1 instead of mod 2 in choosing which prime of that size to return. Oops.
* Some modules using asm were not marked with 'load_on asm_ok'; fixlloyd2009-07-073-3/+3
|
* CPU-specific engines are now only loaded if something depends on them,lloyd2009-07-079-11/+9
| | | | | | | | | | | | and all CPU-specific implementations now depend on the appropriate engine module. The most common problem before with this was that the SSE2 module was built, but the sole SSE2 code (SHA-1) was not (for instance, on an i686). This would cause a compile warning about the unused request object. Preventing unused engines from being built will also (very slightly) speed up the lookup process on most system.
* Fix a subtle bug in the /dev/*random reader. The maximum ms wait time waslloyd2009-07-021-2/+3
| | | | | | | | set to 1000 ms (scaling based on amount of data requested). At 1000 ms exactly, we would form a timeval of 0 seconds and 1000000 usecs (ie, 1 second). Linux was fine with this, but FreeBSD 7.0's select was returning EINVAL. Fix things to properly create the timeval so that everyone is happy.
* Add some aliases for 586/686 to match against what platform produces on WinXPlloyd2009-07-021-0/+3
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-028-5/+25
|\ | | | | | | | | | | db0cdfa10718d2065e52b6753d1d671b71cb423d) to branch 'net.randombit.botan.python-configure' (head f106b1e4c7361a0fee6856defb01a9f96a2fd4eb)
| * Minor hackery to deal with win32 library dependencieslloyd2009-07-023-3/+3
| |
| * Macro defines are split up in the build.h template nowlloyd2009-07-021-1/+9
| |
| * Only load mulop_amd64 on request (currently broken code)lloyd2009-07-021-1/+1
| |
| * Add dependencies for stream ciphers on streamlloyd2009-07-023-0/+12
| |
* | Use just %{version} instead of combining sub-parts needlessly in nmake.inlloyd2009-07-021-5/+1
|/
* s/build-dir/build_dir/ in unix.in and nmake.in, missed themlloyd2009-07-012-8/+8
|
* Change the makefile template language somewhat. Previously variableslloyd2009-07-017-121/+121
| | | | | | | | | | | | | | | | | had been denoted with @{var:NAME}, this has changed to %{NAME}. This is pretty much a wash for configure.pl but it makes it much easier to process the templates using Python's string.Template. The logic being the 'var:' prefix had been to support conditional statements in the templates (using an 'if:' prefix), but this functionality was not being used and support for it is removed from configure.pl in this revision. For a similiar reason, rename a number of template variables with hyphens in their name to use underscores instead. This is slightly more consistent anyway (since many variable names had already used _ instead of -) but more importantly makes them much easier to deal with using aforementioned Python template code. This should not result in any user-visible change (unless I messed up).
* Make the install_cmd_{data,exec} items in the build-data files quoted,lloyd2009-07-014-13/+6
| | | | | | | | | | | since they often contain spaces. This doesn't matter to configure.pl's hand-done regex 'parser', but it makes things more consistent and makes it possible to use the shlex parser included with python to parse all of the data files. Also remove the unused <arch> entry in darwin - this information had previously be removed from all the other files but I guess that one was missed.
* Add missing mutex info.txt filelloyd2009-07-011-0/+9
|
* Move mutex.h from utils/ to mutex/ dir as more relevant arealloyd2009-07-012-1/+0
|
* DataSource::discard_next did not actually return the number of discardedlloyd2009-06-241-1/+1
| | | | bytes. Bug noted by Falko Strenzke, fix by M. Braun. (bug id 31)
* Use an input insensitive implementation of same_mem instead of memcmp.lloyd2009-06-221-1/+8
| | | | | | I don't know that having same_mem be sensitive to input would actually allow any form of timing attack in the current codebase, but it seemed like a prudent thing to do in any case.
* Improve handling of low-entropy situations in HMAC_RNG and Randpool.lloyd2009-06-212-8/+14
| | | | | | | | | | | When a reseed is attempted, up to poll_bits attempts will be made, running in order through the set of available sources. So for instance if poll_bits is set to the default 256, then up to 256 polls will be performed (some of which might not provide any entropy, of course) before stopping; of course if the accumulators goal is achived before that point, then the polling stops. This should greatly help to resolve the recent rash of PRNG unseeded problems some people have been having.
* Add variable names to decls in kdf.hlloyd2009-06-191-12/+20
|
* Changes to /dev/*random poller - read up to 48 bytes, and wait longer in ↵lloyd2009-06-091-3/+2
| | | | select loop (up to a second)
* Change the order of preference for /dev/*random polling tolloyd2009-06-091-1/+1
| | | | | | /dev/urandom /dev/random /dev/srandom (OpenBSD-specific)
* Patch to fix --as-needed bug was slightly wrong: linked to -lbotan-@{version},lloyd2009-06-061-1/+1
| | | | | but with the most recent change to decouple version # and so version this is wrong - use @{var:so_version} instead.
* Fix Gentoo bug 272242lloyd2009-06-061-2/+2
|
* Mark Skein_512 with the BOTAN_DLL macrolloyd2009-06-062-3/+9
| | | | | | | | | | | | | | Add a comment that the limitation of the personalization string being a maximum of 64 characters is due to the implementation and not the specification (but it makes it easy to implement, and in this particular case 64 characters is probably fine). Add some tests for the personalization option, generated by the Skein reference implementation. Disable stripping whitespace in checks/misc.cpp:strip - it strips the personalization tag, which breaks the test, and isn't needed otherwise because the test files are well-formed.
* Small cleanups in the Skein-512 source, and add support for thelloyd2009-06-033-71/+67
| | | | personalization option.
* Add an implementation of Skein-512lloyd2009-06-024-0/+318
|
* Many source files included bit_ops.h when what was really desired waslloyd2009-05-1325-25/+22
| | | | | rotate.h, or when it was not needed at all. Remove or change the includes as needed.
* One more s/engine.h/pk_engine.h/lloyd2009-05-131-1/+1
|
* engine.h had copies of some declarations from pk_engine.h that had notlloyd2009-05-138-50/+7
| | | | | | been removed when that portion of the code was split off. Remove the duplicated code from engine.h and update some code in pubkey that still relied on the declarations in engine.h instead of pk_engine.h
* Allow for the shared library soname to stay fixed even when the versionlloyd2009-05-132-13/+6
| | | | number increments, for stable releases that don't affect binary compat.
* Add XTS mode, from IEEE P1619lloyd2009-04-164-0/+449
|
* Make AutoSeeded_RNG::reseed's parameter default to 256 for compatabilitylloyd2009-04-161-1/+1
| | | | | with the version in earlier releases. Rickard Bondesson pointed out that this was a problem on the mailing list.
* Place -lbotan before the other -l flags in the output oflloyd2009-04-111-2/+2
| | | | | | | botan-config --libs - with shared objects it makes no difference, but with static libs this doesn't bring in the needed symbols correctly since only symbols needed by earlier objects on the command line are brought in. Reported by Thomas Moschny.
* Use S2 instead of x,y vars as temps for single iteration of psilloyd2009-04-101-4/+4
|
* Include <algorithm> in secmem.h for std::swaplloyd2009-04-081-0/+1
|
* Fully expand the linear recurence phi - about twice as fast on my Core2lloyd2009-04-081-77/+80
|
* Expand the first 12 iterations of phi, though more simplification is needed.lloyd2009-04-071-2/+58
|
* Add the GOST 34.11 hash function. Pretty slow, but functional.lloyd2009-04-074-0/+237
|
* Make the member variables of MDx_HashFunction private instead of protected -lloyd2009-04-071-6/+5
| | | | no subclass needs access to any of these variables.
* Avoid calling compress_n in MDx_HashFunction unless at least one block islloyd2009-04-071-1/+2
| | | | going to be compressed - otherwise it's a noop.
* Remove some commented out code in MDx_HashFunction which was used duringlloyd2009-04-072-26/+0
| | | | | the changeover from single block hashing to having each hash support multiple sequential blocks of input.
* Clean up the GOST_2ROUND macro a bit. Put in do/while block so it is alloyd2009-04-071-7/+8
| | | | statement (at least as far as the calling code is concerned)
* Hide the declarations of the GOST sboxes inside the Param constructor sincelloyd2009-04-012-25/+26
| | | | | that is the only code that needs to see them. Record the name in the Param object.
* Simplify the XTEA key schedule code - there really is no reason tolloyd2009-03-311-29/+13
| | | | | precompute the deltas when they are just a few additions; removing the additions from the encrypt/decrypt rounds seems enough to me.