aboutsummaryrefslogtreecommitdiffstats
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
...
* | Small cleanups.lloyd2007-03-101-1/+1
| |
* | Clean up the x86-64 bigint_mul_add_words implementation a bit using thelloyd2007-03-081-9/+11
| | | | | | | | new register macros.
* | Add macros to represent register nameslloyd2007-03-081-1/+39
| |
* | Add Solaris to the allowed platforms for alg_amd64 and alg_ia32. Untested,lloyd2007-03-042-0/+2
|/ | | | but should work as Solaris is ELF-based.
* Bump copyright year to 2007lloyd2007-01-2077-77/+77
|
* Rename the mp_muladd source files to mp_muloplloyd2006-12-154-9/+4
|
* Update some modules which were never changed to use Allocator::get insteadlloyd2006-12-093-3/+3
| | | | of get_allocator()
* Also mark ICC as usable with the alg_ia32 modulelloyd2006-11-241-0/+1
|
* Enable the alg_amd64 module under Intel C++ as well (looks like ICC knowslloyd2006-11-241-0/+1
| | | | how to deal with .S asm files)
* Remove solaris from the list of OK platforms for assembly; Solaris aslloyd2006-11-062-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 lloyd2006-10-111-2/+1
|
* Improve readability a bit with some additional macroslloyd2006-09-261-10/+12
|
* Define the ADD_IMM macro in terms of ADD()lloyd2006-09-261-3/+1
| | | | Remove the CLEAR_CARRY macro, which wasn't being used
* Better instruction scheduling, some higher level macros for readabilitylloyd2006-09-242-9/+18
|
* Initial x86-64 assembly code for the inner multiply-add loop.lloyd2006-09-243-0/+175
|
* Fix the clean and install targets in the makefileslloyd2006-09-094-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 blocklloyd2006-09-031-4/+3
|
* Place the add_file/replace_file/ignore_file markers in the module infolloyd2006-09-0326-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 macrolloyd2006-09-021-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.lloyd2006-08-211-2/+2
|
* Remove a check for GCC in the source; that's what the module compilerlloyd2006-08-211-4/+0
| | | | restrictions are for.
* Rename some variables for consistency with the SHA-1 asm codelloyd2006-08-212-14/+16
|
* Get ride of an unnecessary register copylloyd2006-08-211-11/+9
|
* Inside the compression function, store the original stack pointer in thelloyd2006-08-212-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 couldlloyd2006-08-211-0/+8
| | | | use a little extra workspace, this makes that simpler to do.
* Somewhat ineffectual instruction reorderings in the round functionslloyd2006-08-211-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; giveslloyd2006-08-211-175/+154
| | | | some further room for optimization.
* Declare mp_bits for alg_ia32, since it touches the MPI codelloyd2006-08-201-0/+2
|
* Fix typolloyd2006-08-191-1/+1
|
* Move Montgomery reduction algorithm into mp_asm.cpplloyd2006-08-192-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 targetslloyd2006-08-191-15/+6
| | | | | | Remove the comment containing the unoptimized C code Add copyright notice
* Add an x86 assembly implementation of bigint_mul_add_words, which islloyd2006-08-184-3/+134
| | | | the core loop of bigint_monty_redc.
* Fix the es_capi module; was not using the new global_config() accessorlloyd2006-08-171-1/+1
|
* Add a distinct loop ending for loop-until-equals-immediate; other loopslloyd2006-08-155-7/+13
| | | | ending conditions will be needed later.
* Change the Serpent linear transforms to use the move-and-shift-3 macrolloyd2006-08-151-4/+2
|
* Add a specialized shift instruction for 3 that uses LEA to do a shift andlloyd2006-08-151-0/+1
| | | | move in one instruction.
* Drop the asm-specific serpent.hlloyd2006-08-152-34/+0
|
* Formatting/readability changeslloyd2006-08-151-6/+5
|
* Remove continuation slashes from the last line of some of the macroslloyd2006-08-151-8/+8
|
* Reorder the linear transformations for (nominally) better instructionlloyd2006-08-151-10/+10
| | | | scheduling.
* Have the expansion loop in the key schedule take advantage of freelloyd2006-08-152-12/+17
| | | | registers to load words we will need in advance.
* Remove unused variablelloyd2006-08-151-5/+7
| | | | Collect the external functions into a single extern "C" block
* Implement the Serpent key schedule in assembly as well, so the C++lloyd2006-08-153-122/+98
| | | | | | versions of the Sboxes can be removed. Add some parens inside the asm macros
* Remove an unused functionlloyd2006-08-151-26/+1
|
* Implement decryption in the Serpent assembly codelloyd2006-08-154-207/+386
|
* Add the beginnings of an x96 assembler version of Serpent. Currently onlylloyd2006-08-154-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,lloyd2006-08-142-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 onlloyd2006-08-131-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 thelloyd2006-08-131-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 wordlloyd2006-08-131-9/+13
|