aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Most compilers had empty dll_*_flags; remove them since the default islloyd2009-11-1916-42/+4
| | | | | | | empty anyway. For VC++ (only user) set BOTAN_DLL to dllimport by default (for apps), and then redefine as dllexport when building the library.
* Fix includes, and put into {app}\include\botan so -IC:\botan\includelloyd2009-11-191-1/+1
| | | | causes <botan/XXX> to be visible as expected.
* Fix typos, set other fields in InnoSetup scriptlloyd2009-11-191-3/+8
|
* Add the first bits of support for packaging botan with InnoSetup.lloyd2009-11-192-1/+19
| | | | Untested, almost certainly doesn't work.
* Remove some obsolete stuff about modules from building.texlloyd2009-11-191-68/+3
|
* Remove unecessary quote characters in the cc info files (were required bylloyd2009-11-1915-107/+80
| | | | | | | | | | | configure.pl, but configure.py's parser is smart enough to deal with them with or without quotes). Add support for shared library generation with IBM xlC (untested). Drop bcc - this was for the Borland's old compiler and almost certainly is not right for the current Embarcadero C++Builder. Support for that should be added (though I don't have access to this compiler personally).
* Also treat + as a word char in shlexlloyd2009-11-191-1/+1
|
* Name argumentslloyd2009-11-181-6/+12
|
* Much cleaning up in ECDSA, though it's still rather a mess (and 50x slowerlloyd2009-11-187-166/+112
| | | | than OpenSSL... that's a problem for another branch though).
* Fix typolloyd2009-11-181-1/+1
|
* Clean up BigInt doxygen commentslloyd2009-11-181-471/+458
|
* In ressol(), t is just an alias for s and is not modified, remove itlloyd2009-11-171-3/+2
|
* Remove obsolete commentlloyd2009-11-171-15/+0
|
* Move most code that relies heavily on Filters into src/filters.lloyd2009-11-1774-168/+29
| | | | | | Remove support for (unused) modset settings. Move tss, fpe, cryptobox, and aont to new dir constructs
* Small cleanups in the Turing codelloyd2009-11-171-18/+20
|
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-1739-111/+105
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Remove some Doxygen commentslloyd2009-11-171-8/+2
|
* Get the old GTK+ example to build, though the pulse UI logic is no longerlloyd2009-11-172-78/+89
| | | | included. Threads are a smarter approach, in retrospect.
* Ignore files that begin with '.', even if they end in .cpp, .h, or .S.lloyd2009-11-141-2/+3
| | | | Useful to avoid emacs droppings like '.#bswap.h'
* Instead of having two asm_macr.h files being switched in based on modulelloyd2009-11-1412-16/+8
| | | | build magic, name them asm_macr_ARCH.h. Change all including files accordingly.
* Fix comment typolloyd2009-11-141-1/+1
|
* Make factorization in FPE more even (was neglecting powers of 2 sincelloyd2009-11-142-7/+42
| | | | | | 2 is not in the primes table). Also ensure that a >= b; this guarantees that log_a(b) is <= 1 and thus only 3 rounds (instead of 8 used before) is sufficient.
* Document adding FPElloyd2009-11-131-0/+1
|
* Extend FPE example to encrypt credit card numbers with valid Luhn checksumslloyd2009-11-131-8/+120
| | | | onto other CCNs with valid checksums.
* Fix FPE decryption; off by one in the round numberslloyd2009-11-131-2/+2
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-134-0/+227
|\ | | | | | | | | | | 586495311cff277e7a24b4116c987b79036d94e6) to branch 'net.randombit.botan.fpe' (head c6e8324b12e509ac1303078d5e716f08c53acff5)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-064-0/+227
| |\ | | | | | | | | | | | | | | | 0cb3295ee48403828c652064fbf72ddb6edbe13c) to branch 'net.randombit.botan.fpe' (head 954d50f368db4be7d98c5c32c474bc54ec5ea7f3)
| | * Add format preserving encryption, design is FE1/FD1 from the paperlloyd2009-11-054-0/+227
| | | | | | | | | | | | | | | | | | Format-Preserving Encryption (http://eprint.iacr.org/2009/251). This doesn't implement the rank functions which are necessary for the actual format-preserving part, though that would be nice to add to the example.
* | | Cleanups in the Square implementationlloyd2009-11-111-30/+38
| | |
* | | Remove some CPU specific workarounds for things GCC didn't know about, likelloyd2009-11-111-9/+5
| | | | | | | | | | | | the Alpha EV67 and MIPS R10000.
* | | Rename the UltraSPARC submodels; remove UltraSPARC II since it is functionallylloyd2009-11-111-6/+4
| | | | | | | | | | | | the same as an UltraSPARC for optimization purposes.
* | | Make em64t just an alias for amd64; add nocona as a submodel. Also addlloyd2009-11-111-1/+3
| | | | | | | | | | | | x64 as another arch alias since some people seem to use it.
* | | Switch from -O2/-O for lib/check to -O3/-O2 with gcclloyd2009-11-111-2/+2
| | |
* | | Double the speed of Skipjack on my Core2, mostly due to better inlining.lloyd2009-11-113-82/+100
| | |
* | | Inline all of the AES tables into an anon namespace in aes.cpp. Turns outlloyd2009-11-113-411/+399
| | | | | | | | | | | | to give a 3-7% speed improvement on Core2 with GCC.
* | | Almost double the speed of MARS; from 55 MiB/s to 102 on my Core2. lloyd2009-11-113-231/+216
| | |
* | | Slightly cleaner SHA-256 F1 func; ~1% fasterlloyd2009-11-101-3/+3
| | |
* | | Use memcpy for bulk loads if algorithm endianness matches CPU endianess.lloyd2009-11-101-0/+9
| | |
* | | Remove SSE4 dependency in AES-192 key schedule, and also avoid requiringlloyd2009-11-102-26/+25
| | | | | | | | | | | | an extra 4 words at the end of EK for writing (unused) values.
* | | Add AES-192 using AES-NI. Tested OK with Intel's simulator.lloyd2009-11-104-10/+277
| | | | | | | | | | | | | | | | | | | | | Currently requires SSE4.1 for _mm_extract_epi32 for the key schedule, it would be nice to remove this dependency, though all currently known/scheduled chips with AES-NI (Intel Westmere and Sandy Bridge, and AMD Bulldozer) are supposed to include SSE 4.1 so this is not a huge problem.
* | | Also #undef bool after including <altivec.h>lloyd2009-11-101-0/+1
| | |
* | | Clean up cpuid test proglloyd2009-11-101-11/+18
| | |
* | | Rename CPUID::has_intel_aes to has_aes_intel, and add CPUID::has_aes_via,lloyd2009-11-103-5/+17
| | | | | | | | | | | | which is currently just a stub returning false.
* | | Add unrolled versions of AES-NI code that will handle 4 blocks in parallel.lloyd2009-11-101-12/+176
| | | | | | | | | | | | | | | No noticable change under the simulator (no surprises there), but should help a lot with pipelining on real hardware.
* | | Fix errors in the AES-256 key schedule for the AES-NI version. Now passeslloyd2009-11-104-198/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | tests under Intel's emulator. Document and enable in the engine. Merge both versions to aes_intel.cpp - some shared code and much similiar structure which might be sharable via macros.
* | | Add AES-256 using AES-NIlloyd2009-11-103-3/+243
| | |
* | | Make the AES implementation using Intel's AES instruction extension official;lloyd2009-11-104-7/+9
| | | | | | | | | | | | testing with Intel's emulator shows all green.
* | | Split the AES vectors into 3 specifically named AES-128, AES-192, andlloyd2009-11-101-1651/+1650
| | | | | | | | | | | | | | | | | | AES-256 blocks, plus a handful remaining in a general AES block. This is necessary for any implementation which only supports a particular key size, since otherwise no tests at all will run on that implementation.
* | | Add Nehalem/Westmere tags for ICClloyd2009-11-101-3/+7
| | |
* | | Make set_all_values in {ECDSA,ECKAEG}_{Public,Private}Key all non-virtual;lloyd2009-11-102-6/+6
| | | | | | | | | | | | | | | | | | | | | virtual-ness not needed, and was overriding/overloading by argument which doesn't actually work in C++ and only happened to work because it was only ever used with the version implemented in that same class. ICC was warning, too. Make non-virtual.