aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Avoid C-style casts (as detected by GCC's -Wold-style-cast) and instead use lloyd2007-07-2338-117/+147
| | | | static_cast or reinterpret_cast, as needed.
* Use the get_clock/get_ticks code instead of calling std::clock directly. Allowslloyd2007-07-231-5/+6
| | | | (nominally) more accurate results.
* Move the load/store operations to their own header, to allow assemblylloyd2007-07-233-167/+183
| | | | or other non-portable implementations as modules.
* Use std::string::data() instead of std::string::c_str() in cases where welloyd2007-07-219-10/+10
| | | | | just want access to the underlying data representation but don't care if the return value is NULL terminated or not.
* Combine the Blowfish initial sbox contents into a single 1024 element array.lloyd2007-07-173-100/+92
|
* If an algorithm cache lookup fails, index the newly created prototype objectlloyd2007-07-172-12/+17
| | | | | | | | | | | | | | | | | | | | | under the name that the algorithm was originally requested by. This enables proper caching for algorithm names which deref_alias fails to fully dereference such as "HMAC(SHA-1)". The previous code had two major problems with names of that type, firstly that the cache was effectively bypassed due to all prototype objects in Algorithm_Cache_Impl being indexed by their canonical names rather than the alias that they were requested under, and that there existed a race condition where a prototype object might be deleted while in use in multithreaded code. The downside of this change is that using multiple names to refer to a single algorithm causes multiple prototype objects to be created, one for each name that is in use. However the memory overhead of this should be fairly minimal and given the severity of the race condition this seems like a worthwhile tradeoff. A more complete fix would be to fix deref_alias to properly derference all alias names. That fix would be complimentary with this change in that if deref_alias handled all names properly there would be a single prototype object and there would then be no additional memory overhead to the cache.
* Add memory allocator to the todolloyd2007-06-121-0/+7
|
* We don't need to use locked memory in the X.509 distinguished name.lloyd2007-06-112-4/+4
|
* Remove unused include of blinding.hlloyd2007-06-111-1/+0
|
* Add a couple more aliases for Core 2lloyd2007-05-311-0/+3
|
* On an assignment or initialization split across lines, put the = at the endlloyd2007-05-312-6/+6
| | | | of the line rather than the start.
* Update Yves' credits with the other changes he sent that are being mergedlloyd2007-05-311-1/+1
| | | | into mainline rather than stable.
* propagate from branch 'net.randombit.botan.stable' (head ↵lloyd2007-05-312-1/+6
|\ | | | | | | | | | | e92fe807f749c526669303bd1530dd76a4d10a86) to branch 'net.randombit.botan' (head 04a56f961f413296df6637b77ec45aa444513cfc)
| * Update credits with Yves' information.lloyd2007-05-311-0/+5
| |
| * Typo: RFC 882 instead of 822. Reported by Yves Jerschow.lloyd2007-05-311-1/+1
| |
* | Use the word-loading operations in SHA-384/SHA-512 as welllloyd2007-05-311-5/+4
| |
* | Bump the version to 1.7.1 in configure; there has been enough that it shouldn'tlloyd2007-05-311-1/+1
| | | | | | | | be marked as 1.7.0 at least.
* | Write functions to handle loading and saving words a block at a time, taking ↵lloyd2007-05-3141-431/+449
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into account endian differences. The current code does not take advantage of the knowledge of which endianness we are running on; an optimization suggested by Yves Jerschow is to use (unsafe) casts to speed up the load/store operations. This turns out to provide large performance increases (30% or more) in some cases. Even without the unsafe casts, this version seems to average a few percent faster, probably because the longer loading loops have been partially or fully unrolled. This also makes the code implementing low-level algorithms like ciphers and hashes a bit more succint.
* | Enable DATA_ENCIPHERMENT in constraints for encryption keys.lloyd2007-05-181-1/+1
| |
* | Add QueryPerformanceCounter to the Win32 fast entropy poll, as it can'tlloyd2007-05-181-0/+4
| | | | | | | | hurt and might help. From Yves Jerschow.
* | Mark 32-bit SPARC as big-endian, since SPARC didn't offer little-endianlloyd2007-05-171-0/+2
| | | | | | | | support until SPARCv9.
* | Add a new preprocessor macro defining the endian-ness of the target CPU.lloyd2007-05-173-0/+14
| | | | | | | | | | | | Currently it is only set for x86 and x86-64 as they are two of the few architectures which are not bi-endian, and we're not doing any detection (nor is there any way for a user to override the selection yet).
* | Check in a change from Yves Jerschow optimizing the HMAC key schedule.lloyd2007-05-151-5/+11
| | | | | | | | | | Seems to be about 2-3 times faster in the case where the key is smaller than the hash's block size, which is almost always the case.
* | merge of '44833339942d8cc1c3cbfd7eef0dcebcafc9f8ab'lloyd2007-04-250-0/+0
|\ \ | | | | | | | | | and '70af033ad11d389159632ebcf9cae091bde8b544'
| * | Fix the mergelloyd2007-04-251-11/+1
| | |
* | | propagate from branch 'net.randombit.botan.stable' (head ↵lloyd2007-04-252-13/+6
|\ \ \ | |/ / |/| / | |/ | | | | 8a2b79c64a13d3f70b0211d4f985a678951a9663) to branch 'net.randombit.botan' (head 677686443a5bb53b03d147999947448a9dc2679a)
| * Check in a working fix for the mem_pool issues encountered by some Visuallloyd2007-04-252-13/+6
| | | | | | | | Studio users.
| * Revert the last change; it actually broke the memory allocators in alloyd2007-04-231-1/+1
| | | | | | | | fairly massive way.
| * Fixes for Visual C++ 2005; it wasn't picking up the needed conversionlloyd2007-04-231-2/+3
| | | | | | | | from a void* to a Memory_Block, so call the constructor explicitly.
* | propagate from branch 'net.randombit.botan.stable' (head ↵lloyd2007-04-013-2/+7
|\| | | | | | | | | | | 63c067b5454498ee48466101aedb54613615a983) to branch 'net.randombit.botan' (head 2444e9d08f77852cf2df58c34ca38145c2f416ba)
| * Need to include stdlib.h for exit() call, reported through the Debianlloyd2007-04-011-0/+1
| | | | | | | | folks (I think this was also required under QNX, actually).
| * Update changelog, readme and configure.pl for 1.6.21.6.2lloyd2007-03-243-2/+7
| |
| * Document the move to NYC.lloyd2007-03-081-1/+1
| |
* | Clean up the examples makefile a bit.1.7.0lloyd2007-03-131-9/+13
| |
* | Document the movelloyd2007-03-131-1/+1
| |
* | Point people interested in writing assembler at bigint_monty_redclloyd2007-03-121-4/+14
| | | | | | | | | | and bigint_mul_add_words since those are the major hot spots for public key operations.
* | Check in an initial assembler implementation of SHA-1 for x86-64 systems.lloyd2007-03-124-9/+321
| | | | | | | | | | It is not amazingly optimized, about 5% faster than what GCC 4.1.1 does on my Core2 with the normal C++ code, but it's a start.
* | Insert a note so the toolchain knows that we are not using an executablelloyd2007-03-121-0/+4
| | | | | | | | | | | | | | | | | | stack. At least SuSE and Gentoo are using a patch for this in their trees, probably others are as well. I still have not had a chance to check the portability aspects of this, especially on Solaris (the only ELF-based x86/amd64 operating system that I know of that does not use the GNU toolchain).
* | Provide a more flexible mechanism for specifying which modules are loaded.lloyd2007-03-1228-22/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | Now three classes are defined: 'request', 'auto', and 'asm_ok'. The 'auto' class is loaded automatically if the platform support matches up with what we are building for (this is the former default). The 'request' mode means it is only loaded if specifically requested by name. The 'asm_ok' module is marked for all modules that use any assembler (including inline assembler). This normally functions like 'auto', unless --debug is passed to configure, in which case it is treated as 'request'. Modules which do not specify a load behavior are given a default of 'request'.
* | Add support for plain C files (mostly interesting for use in modules)lloyd2007-03-111-2/+3
| |
* | Small cleanups.lloyd2007-03-102-2/+1
| |
* | Update the changelog with some of the newer additions.lloyd2007-03-101-1/+3
| |
* | Add new OIDs for Rabin-Williams and Nyberg-Rueppel keys and signatures.lloyd2007-03-101-0/+23
| | | | | | | | | | These were allocated out of my IANA assigned arc, which is documented at http://www.randombit.net/text/oids.html
* | Always print the exact value of the OID found in the ASN.1 example, evenlloyd2007-03-101-1/+6
| | | | | | | | if we found a human readable name for it (in that case we print both).
* | Catch exceptions in OIDS::lookup and rethrow a Lookup_Error. Attempting tolloyd2007-03-101-2/+10
| | | | | | | | | | | | encode a public key that did not have an OID for its key format resulted in a very confusing exception (thrown from char2digit) that was completely meaningless to anyone.
* | Mention that the most requested alternate build system is Visual Studio ↵lloyd2007-03-101-3/+3
| | | | | | | | projects.
* | Looking through old emails, realized how many patches Luca sent in.lloyd2007-03-091-1/+1
| |
* | DSA-2048 and DSA-3072 benchmarks, disabled for a while due to lack oflloyd2007-03-091-4/+6
| | | | | | | | 'standard' groups (I may just go ahead and do this).
* | Document the --init flag to checklloyd2007-03-091-1/+3
| |
* | A few extra sentences on previous topcs.lloyd2007-03-091-3/+4
| |