Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | 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. | |||||
* | Drop the asm-specific serpent.h | lloyd | 2006-08-15 | 2 | -34/+0 | |
| | ||||||
* | Formatting/readability changes | lloyd | 2006-08-15 | 1 | -6/+5 | |
| | ||||||
* | Remove continuation slashes from the last line of some of the macros | lloyd | 2006-08-15 | 1 | -8/+8 | |
| | ||||||
* | Reorder the linear transformations for (nominally) better instruction | lloyd | 2006-08-15 | 1 | -10/+10 | |
| | | | | scheduling. | |||||
* | Have the expansion loop in the key schedule take advantage of free | lloyd | 2006-08-15 | 2 | -12/+17 | |
| | | | | registers to load words we will need in advance. | |||||
* | Remove unused variable | lloyd | 2006-08-15 | 1 | -5/+7 | |
| | | | | Collect the external functions into a single extern "C" block | |||||
* | Implement the Serpent key schedule in assembly as well, so the C++ | lloyd | 2006-08-15 | 3 | -122/+98 | |
| | | | | | | versions of the Sboxes can be removed. Add some parens inside the asm macros | |||||
* | Remove an unused function | lloyd | 2006-08-15 | 1 | -26/+1 | |
| | ||||||
* | Implement decryption in the Serpent assembly code | lloyd | 2006-08-15 | 4 | -207/+386 | |
| | ||||||
* | Add the beginnings of an x96 assembler version of Serpent. Currently only | lloyd | 2006-08-15 | 4 | -0/+621 | |
| | | | | encryption is done in asm, the rest is still in C++ | |||||
* | Was using sha1_core in the END_FUNCTION calls; doesn't make a difference, | lloyd | 2006-08-14 | 2 | -2/+2 | |
| | | | | | since right now END_FUNCTION doesn't use its argument, but it looked strange and might cause problems later. | |||||
* | Get instruction scheduling decently correct. Now running at 110 Mb/s on | lloyd | 2006-08-13 | 1 | -5/+5 | |
| | | | | my Athlon, which isn't too far behind OpenSSL | |||||
* | Load the message words we need in the round before. By going out to the | lloyd | 2006-08-13 | 1 | -54/+133 | |
| | | | | | stack to get the address of the message array each time, we can free up a register for the rest of the code inside the rounds. | |||||
* | Introduce a MSG() macro which returns the desired message word | lloyd | 2006-08-13 | 1 | -9/+13 | |
| |