aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Use size_t instead of u32bit in all of pubkeylloyd2010-10-1234-235/+233
|
* Use size_t in filterslloyd2010-10-1257-444/+446
| | | | | This breaks API for anyone creating their own Filter types, but it had to happen eventually.
* Use size_t rather than u32bit for the blocks argument of encrypt_nlloyd2010-10-1265-403/+430
|
* Add a simple update_be to BufferedComputation that takes an integerlloyd2010-10-124-18/+19
| | | | | and writes the bytes to the stream in big-endian order. Use it in KDF2, MGF1, and FPE.
* s/u32bit/size_t/ in kdflloyd2010-10-1214-77/+77
|
* Use size_t in all of math, remove to_u32bitlloyd2010-10-1236-374/+357
|
* s/u32bit/size_t/ for block cipher parallelism querieslloyd2010-10-126-9/+9
|
* s/u32bit/size_t/ in codec and benchmarklloyd2010-10-129-56/+56
|
* s/u32bit/size_t/ in alloclloyd2010-10-128-79/+91
| | | | Also handle partial writes in alloc_mmap
* s/u32bit/size_t/lloyd2010-10-124-12/+12
|
* Use a full write instead of seek+write to create a sparselloyd2010-10-121-9/+7
| | | | | file. FreeBSD's man page for mmap warns that using NOSYNC with sparse files causes problems. Closes PR 30
* Change ifs to compares to make it easier for a compiler to figure outlloyd2010-10-121-11/+9
| | | | | | it should use add with carry or conditional moves if available. Also remove the amd64 asm; the mp_amd64 code should be used for this case.
* Fix CRL reason codes and updating of CRLs. Add tests for both cases.lloyd2010-10-074-42/+7
|
* Fix a bug in X509_Time: when decoding, the tag would not be set, solloyd2010-10-071-18/+24
| | | | reencoding the same object would fail. This affected CRL updates.
* Remove debug.h includelloyd2010-10-071-1/+0
|
* Drop debug.h, it didn't turn out to be that useful for most things,lloyd2010-10-072-38/+0
| | | | especially now that the standalone hex encoder is around
* Forward port CRL fixes from rev 7bb2001cd554a1acc3d345914ea710ff0e1d3a6blloyd2010-10-071-7/+12
|
* Compile fixlloyd2010-10-041-1/+1
|
* Make names more consistentlloyd2010-10-013-2/+2
|
* Also deal with short values in OctetStringlloyd2010-10-011-1/+1
|
* Handle memory overwrite if hex input was not byte widelloyd2010-10-011-1/+1
|
* Doxygenlloyd2010-10-011-14/+61
|
* Fix macrolloyd2010-09-301-0/+1
|
* Fix dependencieslloyd2010-09-302-2/+2
|
* Split SHA-2 into 32 and 64 bit versions; they are totally independentlloyd2010-09-307-3/+13
| | | | of each other anyway.
* Tidylloyd2010-09-302-4/+6
|
* Make configure output more sensible wrt incompatible moduleslloyd2010-09-285-0/+20
|
* Cleanup Karatsuba a bitlloyd2010-09-281-103/+107
|
* Use visibility control with Clang, same syntax as GCClloyd2010-09-281-1/+3
|
* Cleanuplloyd2010-09-261-9/+9
|
* Silence warning, cms is really getting pretty broken...lloyd2010-09-261-1/+1
|
* Fix, wasn't returning pointerlloyd2010-09-261-0/+1
|
* Use BOTAN_ASSERT in various placeslloyd2010-09-269-34/+43
|
* If we generate a k such that s or r is 0, don't fail, simply retrylloyd2010-09-261-11/+13
| | | | with a new k.
* Malloc_Allocator isn't a pool, so it needs to fail directly if malloclloyd2010-09-261-1/+3
| | | | | fails, not just return 0 since callers expect that the allocator will either succeed or throw.
* There is a pretty common pattern in the code for testing for internallloyd2010-09-263-0/+86
| | | | | | | | | | errors of the form if(some_expr_indicating_failure) throw Internal_Error("Some mildly informative message"); Make this simpiler with the addition of a BOTAN_ASSERT macro which will throw an exception upon failure.
* At some point I 'simplified' the divide code to always run thelloyd2010-09-261-1/+5
| | | | | | | | | | division algorithm unless x == y, but this could result in n - t + 1 being negative which would cause an attempt to allocate about 4 gigabytes of memory. Fix this, and also add an assertion check in the code to ensure that can't happen in any other way. Never reproduced this with 32 bit digits but it would show up if the build used 8 or 16 bit words.
* Move the core MPI functions to src/math/mp, leaving src/math/bigint justlloyd2010-09-2428-13/+24
| | | | for the implementation of the BigInt class
* Add dependencieslloyd2010-09-247-0/+31
|
* Delete obsolete asm versionslloyd2010-09-247-781/+0
|
* Minor performance tweak, avoid zeroing things we'll immediately writelloyd2010-09-241-2/+1
| | | | to. Helps more than I would have thought.
* Modify bigint_monty_redc to take an additional workspace argument.lloyd2010-09-245-71/+83
| | | | | | | Modify it to avoid a timing condition during the compare at the end; this is done by always doing the subtraction, and then copying to the output either the pre-subtraction or post-subtraction value depending on if the final borrow was set or not.
* s/carry/borrow/ in subtraction routineslloyd2010-09-241-14/+18
|
* s/j/i for loop variableslloyd2010-09-241-36/+36
|
* Cleanuplloyd2010-09-232-16/+24
|
* Make these functions mostly constant-time, and in particular notlloyd2010-09-231-29/+9
| | | | | depending on the value of the final carry out for anything control-flow related.
* In the IDEA key schedule, using the extended Euclidean algorithm tolloyd2010-09-231-17/+14
| | | | | | compute the inverses mod 65537 exposed a timing vulnerability. Avoid this by instead using exponentiation, which takes constant time (up to variability in the multiplication operation, at least).
* Fix OpenSSL engine WRT memory vector changes, append is no morelloyd2010-09-231-1/+3
|
* Add a convenience overload of hex_encode taking a MemoryRegion<byte>&lloyd2010-09-232-0/+17
|
* In RSA and RW key generation, if we generate a key that isn't exactlylloyd2010-09-222-11/+12
| | | | | | | the requested bitsize, simply repeat instead of failing immediately. The condition could actually occur in practice if a prime that was on the very low end of the specified range was chosen (eg q happened to be chosen as 10000...001).