aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a loop macro, continue converting the assembly to use the wrapperlloyd2006-08-132-14/+24
| | | | macros.
* Set up some macros to help portability and readabilitylloyd2006-08-133-90/+146
|
* Format cleanuplloyd2006-08-121-14/+14
|
* Remove some trailing whitespacelloyd2006-08-121-10/+7
|
* Reschedule some instructions in attempt to hide latencieslloyd2006-08-121-17/+18
|
* Fully unroll the byte-reader loop, now to reschedulelloyd2006-08-121-6/+12
|
* Finish unrolling the expansion loop, and start on the byte-reading looplloyd2006-08-121-36/+43
|
* Pull a variable directly out of a live register, rather than going outlloyd2006-08-121-4/+4
| | | | to memory for it.
* Rearrange some operations, though instruction scheduling still needs alloyd2006-08-121-19/+16
| | | | lot of work.
* Use different registers in each iteration of the unrolled loop, so we canlloyd2006-08-121-20/+21
| | | | easily rearrange things for better scheduling.
* Unroll the expansion looplloyd2006-08-121-8/+36
|
* Use indexed addressing to pull out elements of W[], rather thanlloyd2006-08-121-30/+36
| | | | incrementing the pointer
* Use LEA inside the round functions, various cleanupslloyd2006-08-121-62/+45
|
* Fix compile problem when no timer modules are compiled inlloyd2006-08-121-0/+1
|
* Remove the C implementations of the round functions, no longer usedlloyd2006-08-121-40/+0
|
* Entire SHA-1 compression function now implemented in assembly, just needslloyd2006-08-122-70/+45
| | | | instruction scheduling and code cleanup.
* Implement the second set of SHA-1 functions in assembler; add somelloyd2006-08-122-36/+38
| | | | macros in an attempt to keep the code reasonably clean.
* Implement the first set of rounds of SHA-1 in assemblylloyd2006-08-122-5/+85
|
* Get all of the (callee-saved) registers saved so we have maximum spacelloyd2006-08-121-11/+14
| | | | for performing operations.
* Add preliminary version of an SHA-1 x86 assembly modulelloyd2006-08-123-0/+187
|
* In 'check', always initialize the library and run basic self tests, evenlloyd2006-08-121-6/+2
| | | | if run with no arguments.
* Remove an unneeded friend declaration for the division function.lloyd2006-08-121-1/+0
|
* Make the ByteReader class in CAST_128::key_schedule only manipulatelloyd2006-08-101-2/+2
| | | | const pointers, as it doesn't actually need write access to anything.
* Remove the public domain notices from the self-test/benchmark code,lloyd2006-08-0912-19/+2
| | | | because it turns out to be something of a legal minefield.
* Add header guardslloyd2006-08-091-0/+5
|
* Enable testing the sizes of basic types in the test suite, and fix somelloyd2006-08-091-23/+7
| | | | minor compile errors and warnings that had crept into that code.
* Add a simple option parser to the check utility; it makes for much sanerlloyd2006-08-093-72/+171
| | | | | | | | | | code in check.cpp, and now the order of options on the command line should not change what heppens. The options taken have changed slightly. All options that take values are now --arg=value instead of "--arg value", and the various --bench-(blah) options have been turned into a new option --bench-type that takes an argument specifying the type of algorithm to benchmark.
* Use an object to prevent the leak of memory or the file descriptor iflloyd2006-08-091-19/+40
| | | | something goes wrong and an exception is thrown.
* If an exception is thrown anywhere inside Init::initialize, catch itlloyd2006-08-091-34/+39
| | | | | and force a deinitialization before throwing it further up the call stack.
* Remove memory leak - the configuration object was not being deleted.lloyd2006-08-091-0/+1
|
* Add an exception type specific for MemoryMapping_Allocator, simply to cutlloyd2006-08-091-9/+24
| | | | down on repeated strings a bit.
* Alter how buffering is performed in MDx_HashFunction:add_data; ratherlloyd2006-08-051-11/+19
| | | | | | | than always placing the first block into the temp buffer, we only copy the data into there if we have to (ie, if we have an incomplete block). So calling add_data with a block that is a multiple of the hash function's internal block size is entirely zero-copy.
* The two classes that used to need direct access to the SHA-1lloyd2006-08-051-3/+0
| | | | | internals (Gamma and FIPS_186_RNG) have both been removed, so there is no need to keep the friend declarations.
* Make it possible to insert Engines into the front of the queue;lloyd2006-08-052-4/+8
| | | | | | otherwise any Engines added after startup (eg, application-specific ones) would only be used for new algorithm - it wouldn't be possible for them to override existing implementations.
* The use_engines flag was not being respected; specifically, if therelloyd2006-08-052-5/+9
| | | | were any engines built into the library, they were used no matter what.
* Delete some old testing certslloyd2006-07-318-124/+2
|
* Move include of x509_ext.h to x509_ca.h, instead of using forwardlloyd2006-07-312-14/+10
| | | | | | | | declaration. Remove not_before and not_after variables, as they were only used once. Use the computed Key_Constraints value when signing a new certificate.
* Fix definition of OID 2.5.4.8; was accidentally changed by search-replacelloyd2006-07-311-1/+1
| | | | during cleanups of the initialization code.
* Very minor Python wrapper updateslloyd2006-07-312-46/+5
|
* Remove FIPS140::good_edc; it has never been used and probably will notlloyd2006-07-292-19/+0
| | | | be in the forseeable future.
* Change Builtin_Module constructor to take an InitializerOptionslloyd2006-07-283-18/+33
| | | | | | | | instead of just a boolean, so it can (if desired) examine any arguments it likes. Only run the startup self tests if the selftest or fips140 option is toggled on.
* Add a "selftest" option that allows the user to disable startup selftestslloyd2006-07-282-0/+9
|
* Remove unneccessary includeslloyd2006-07-281-2/+0
|
* Add two more constructors to AlgorithmIdentifier, which take alloyd2006-07-222-4/+41
| | | | | | Encoding_Option enum that can specify various options. Right now the only one supported/available is USE_NULL_PARAM, to set the parameters to a DER-encoded NULL object
* Drop the CMS readme, not really useful now that it is in-treelloyd2006-07-221-24/+0
|
* Some more fixes for cms_ealg.cpp (still doesn't compile)lloyd2006-07-171-11/+11
|
* Don't bail out of the rho computation until 2^32 tries, since thelloyd2006-07-161-3/+3
| | | | | | cycle size is based on the square root of the prime factors, bailing after 2^16 would mean we would be unlikely to find any factors larger than 32 bits.
* Have to (potentially) factor the result from the Rho computation, as itlloyd2006-07-161-4/+7
| | | | might be composite.
* Changelog updateslloyd2006-07-161-0/+5
|
* Move the declaration of a_factor outside the loop, and use a do looplloyd2006-07-161-4/+5
| | | | | instead of a while loop so it doesn't have to be initialized each time through.