Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove several uses of old style C casts in favor of C++98's static_cast and | lloyd | 2007-10-19 | 2 | -3/+3 |
| | | | | reinterpret_cast | ||||
* | Fix the alg_ia32 module code WRT the recent changes to loadstor.h not being | lloyd | 2007-10-19 | 4 | -4/+4 |
| | | | | included by bit_ops.h | ||||
* | bit_ops.h no longer includes loadstor.h | lloyd | 2007-10-19 | 1 | -1/+1 |
| | | | | | | | | | Where loadstor.h was needed but only implicitly included via bit_ops.h, include it directly Add endian reversal functions to bit_ops.h Remove some unneeded includes in big_ops2.cpp and a few other files. | ||||
* | Don't hard code any directories to search for programs into es_unix. | lloyd | 2007-10-19 | 1 | -6/+1 |
| | | | | | | | All are now specified through the config. The new default is just /bin, /sbin, /usr/bin, and /usr/sbin. Formerly /usr/ucb, /usr/etc, and /etc were also searched. If you want this behavior again you have to explicitly set the rng/unix_path configuration setting. | ||||
* | Add stats of '/', '/tmp', '.', and '..' to the es_unix fast poll. | lloyd | 2007-10-19 | 1 | -1/+12 |
| | | | | Use u32bit instead of uint32_t | ||||
* | New implementation of fast polling in es_unix. Instead of executing | lloyd | 2007-10-19 | 2 | -41/+44 |
| | | | | | | programs, the fast poll will just call a handful of simple Unix/POSIX functions like getpid, getuid, getrusage, etc. Identifying further useful sources would probably be helpful. | ||||
* | Update the copyright notice to include 2007 | lloyd | 2007-09-13 | 2 | -2/+2 |
| | |||||
* | Avoid some C-style casts in the modules | lloyd | 2007-07-23 | 4 | -4/+4 |
| | |||||
* | Add QueryPerformanceCounter to the Win32 fast entropy poll, as it can't | lloyd | 2007-05-18 | 1 | -0/+4 |
| | | | | hurt and might help. From Yves Jerschow. | ||||
* | propagate from branch 'net.randombit.botan.stable' (head ↵ | lloyd | 2007-04-01 | 1 | -0/+1 |
|\ | | | | | | | | | | | 63c067b5454498ee48466101aedb54613615a983) to branch 'net.randombit.botan' (head 2444e9d08f77852cf2df58c34ca38145c2f416ba) | ||||
| * | Need to include stdlib.h for exit() call, reported through the Debian | lloyd | 2007-04-01 | 1 | -0/+1 |
| | | | | | | | | folks (I think this was also required under QNX, actually). | ||||
* | | Check in an initial assembler implementation of SHA-1 for x86-64 systems. | lloyd | 2007-03-12 | 4 | -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 executable | lloyd | 2007-03-12 | 1 | -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. | lloyd | 2007-03-12 | 27 | -18/+58 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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'. | ||||
* | | Small cleanups. | lloyd | 2007-03-10 | 1 | -1/+1 |
| | | |||||
* | | Clean up the x86-64 bigint_mul_add_words implementation a bit using the | lloyd | 2007-03-08 | 1 | -9/+11 |
| | | | | | | | | new register macros. | ||||
* | | Add macros to represent register names | lloyd | 2007-03-08 | 1 | -1/+39 |
| | | |||||
* | | Add Solaris to the allowed platforms for alg_amd64 and alg_ia32. Untested, | lloyd | 2007-03-04 | 2 | -0/+2 |
|/ | | | | but should work as Solaris is ELF-based. | ||||
* | Bump copyright year to 2007 | lloyd | 2007-01-20 | 77 | -77/+77 |
| | |||||
* | Rename the mp_muladd source files to mp_mulop | lloyd | 2006-12-15 | 4 | -9/+4 |
| | |||||
* | Update some modules which were never changed to use Allocator::get instead | lloyd | 2006-12-09 | 3 | -3/+3 |
| | | | | of get_allocator() | ||||
* | Also mark ICC as usable with the alg_ia32 module | lloyd | 2006-11-24 | 1 | -0/+1 |
| | |||||
* | Enable the alg_amd64 module under Intel C++ as well (looks like ICC knows | lloyd | 2006-11-24 | 1 | -0/+1 |
| | | | | how to deal with .S asm files) | ||||
* | Remove solaris from the list of OK platforms for assembly; Solaris as | lloyd | 2006-11-06 | 2 | -2/+0 |
| | | | | | doesn't seem to like the files for some reason that I don't feel like getting into right now. | ||||
* | Use the new syntax for adding macros to build.h | lloyd | 2006-10-11 | 1 | -2/+1 |
| | |||||
* | Improve readability a bit with some additional macros | lloyd | 2006-09-26 | 1 | -10/+12 |
| | |||||
* | Define the ADD_IMM macro in terms of ADD() | lloyd | 2006-09-26 | 1 | -3/+1 |
| | | | | Remove the CLEAR_CARRY macro, which wasn't being used | ||||
* | Better instruction scheduling, some higher level macros for readability | lloyd | 2006-09-24 | 2 | -9/+18 |
| | |||||
* | Initial x86-64 assembly code for the inner multiply-add loop. | lloyd | 2006-09-24 | 3 | -0/+175 |
| | |||||
* | Fix the clean and install targets in the makefiles | lloyd | 2006-09-09 | 4 | -4/+4 |
| | | | | Clean up how help output is produced a bit further. | ||||
* | Move the (commented out) gzip.cpp/gzip.h entries into the add file block | lloyd | 2006-09-03 | 1 | -4/+3 |
| | |||||
* | Place the add_file/replace_file/ignore_file markers in the module info | lloyd | 2006-09-03 | 26 | -88/+136 |
| | | | | | | files into blocks; makes a bit more sense, since there are potentially many arguments to each, and the current system was making it difficult to write a generic reader for the files. | ||||
* | Remove explicit alignment settings before the loops; the loop macro | lloyd | 2006-09-02 | 1 | -5/+2 |
| | | | | | | | already sets alignment. Change the core multiply/add macro a bit; probably not any faster, but a bit cleaner. | ||||
* | The assembly code is only using 81 words of W, but 84 were being allocated. | lloyd | 2006-08-21 | 1 | -2/+2 |
| | |||||
* | Remove a check for GCC in the source; that's what the module compiler | lloyd | 2006-08-21 | 1 | -4/+0 |
| | | | | restrictions are for. | ||||
* | Rename some variables for consistency with the SHA-1 asm code | lloyd | 2006-08-21 | 2 | -14/+16 |
| | |||||
* | Get ride of an unnecessary register copy | lloyd | 2006-08-21 | 1 | -11/+9 |
| | |||||
* | Inside the compression function, store the original stack pointer in the | lloyd | 2006-08-21 | 2 | -28/+38 |
| | | | | | W array, and then use %esp to point to the message words. This gives an extra register for temporary usage. | ||||
* | Let SHA_160::W be resized dynamically; potentially the asm version could | lloyd | 2006-08-21 | 1 | -0/+8 |
| | | | | use a little extra workspace, this makes that simpler to do. | ||||
* | Somewhat ineffectual instruction reorderings in the round functions | lloyd | 2006-08-21 | 1 | -28/+28 |
| | | | | | Use EDX instead of EBP for holding the pointer to the digest array at the end of the function. | ||||
* | Rotate the temporary variable along with the chaining variables; gives | lloyd | 2006-08-21 | 1 | -175/+154 |
| | | | | some further room for optimization. | ||||
* | Declare mp_bits for alg_ia32, since it touches the MPI code | lloyd | 2006-08-20 | 1 | -0/+2 |
| | |||||
* | Fix typo | lloyd | 2006-08-19 | 1 | -1/+1 |
| | |||||
* | Move Montgomery reduction algorithm into mp_asm.cpp | lloyd | 2006-08-19 | 2 | -45/+1 |
| | | | | | | | | | | Move the inner-most loop of Montgomery into bigint_mul_add_words, in mp_muladd.cpp Use bigint_mul_add_words for the inner loop of bigint_simple_multiply Move the compare/subtract at the end of the Montomgery algorithm into bigint_monty_redc | ||||
* | Align the major jump targets | lloyd | 2006-08-19 | 1 | -15/+6 |
| | | | | | | Remove the comment containing the unoptimized C code Add copyright notice | ||||
* | Add an x86 assembly implementation of bigint_mul_add_words, which is | lloyd | 2006-08-18 | 4 | -3/+134 |
| | | | | the core loop of bigint_monty_redc. | ||||
* | Fix the es_capi module; was not using the new global_config() accessor | lloyd | 2006-08-17 | 1 | -1/+1 |
| | |||||
* | Add a distinct loop ending for loop-until-equals-immediate; other loops | lloyd | 2006-08-15 | 5 | -7/+13 |
| | | | | ending conditions will be needed later. | ||||
* | Change the Serpent linear transforms to use the move-and-shift-3 macro | lloyd | 2006-08-15 | 1 | -4/+2 |
| | |||||
* | Add a specialized shift instruction for 3 that uses LEA to do a shift and | lloyd | 2006-08-15 | 1 | -0/+1 |
| | | | | move in one instruction. |