summaryrefslogtreecommitdiffstats
path: root/src/crypto
AgeCommit message (Collapse)Author
2014-08-25Experimental HMAC-SHA1 implementationMatthias Schiffer
This adds experimental support for <cipher>+hmac-sha1 methods. It currently depends on OpenSSL and is not yet ready for production use.
2014-08-25MAC: rename hash() to digest() and change length unit from blocks to bytesMatthias Schiffer
2014-08-24Coding style: always add a space between a pointer's type and the *Matthias Schiffer
2014-08-02Introduce and use alloc helpersMatthias Schiffer
These new helpers will terminate fastd on allocation failures and add some additional convenience (allow strdup with NULL; typesafe new(type) macros).
2014-06-28Fix build with ENABLE_OPENSSLMatthias Schiffer
2014-06-12Remove an unused variableMatthias Schiffer
2014-06-08Add ENABLE_LTO cmake optionMatthias Schiffer
Tested with GCC and clang; unlikely to work with other toolchains, so it's disabled by default.
2014-05-29Document *everything*Matthias Schiffer
2014-05-29Simplify configuration of cipher and MAC implementationsMatthias Schiffer
Let the cipher and MAC handlers just store the chosen implementations themselves instead of relying on the global configuration.
2014-05-27Remove fastd_true()Matthias Schiffer
2014-04-30Fix CMake errors on some config combinationsMatthias Schiffer
2014-04-24Convert few more counters to size_t, just for the sake of consistency...Matthias Schiffer
2014-04-20Make conf globalMatthias Schiffer
2014-04-10Use #pragma onceMatthias Schiffer
2014-03-14Adjust copyright yearsMatthias Schiffer
2014-03-13Rename USE_LIBSODIUM and USE_OPENSSL cmake flags to ENABLE_LIBSODIUM and ↵Matthias Schiffer
ENABLE_OPENSSL
2014-01-25Mark assembler files as not needing executable stackMatthias Schiffer
2013-12-26Only fail due to missing pclmul support if the pclmulqdq GHASH ↵Matthias Schiffer
implementation is actually enabled
2013-12-26Check if the compiler supports -mpclmulMatthias Schiffer
2013-12-14Remove blowfish-ctr cipher, it's much slower than Salsa20 and probably less ↵Matthias Schiffer
secure
2013-12-04Change xor and xor_a back to work on pointersMatthias Schiffer
For some reason, this makes GCC generate much better code on MIPS with -Os
2013-12-01Add fast SSE2 implementations "xmm" for Salsa20 and Salsa20/12Matthias Schiffer
Public Domain implementations by D. J. Bernstein, see http://cr.yp.to/snuffle.html
2013-12-01Remove a few `aligned' attributes that don't make senseMatthias Schiffer
2013-11-30Make the crypto implementations independent of fastd.h (and fix more minor bugs)Matthias Schiffer
2013-11-30Make crypto implementation configurable (and update a few error messages)Matthias Schiffer
2013-11-30Perform string-based lookup of method-related information only onceMatthias Schiffer
2013-11-30Remove cipher and MAC contextsMatthias Schiffer
Not a single implementation was using them...
2013-11-29Revert "crypto: separate cipher/MAC availability check from information request"Matthias Schiffer
This reverts commit d0707b161d10cf79242d40b24853988c89c7604a.
2013-11-29crypto: separate cipher/MAC availability check from information requestMatthias Schiffer
2013-11-29Compile with -std=c99 and restructure some code to ensure there is no ↵Matthias Schiffer
invalid aliasing (hopefully)
2013-11-28ghash-pclmulqdq: fix one left usage of a __builtin pclmulqdq instead of the ↵Matthias Schiffer
_mm version
2013-11-28ghash-pclmulqdq: rework implementation to allow both GCC and Clang to ↵Matthias Schiffer
generate fast code
2013-11-28ghash-pclmulqdq: make byteswap a macroMatthias Schiffer
For some reason, this allows clang to optimize the code much better.
2013-11-28ghash-pclmulqdq: speed up multiplication using the Karatsuba algorithmMatthias Schiffer
2013-11-28Add a pclmulqdq ghash implementationMatthias Schiffer
2013-11-27Allow checking if a crypto algorithm is available at runtimeMatthias Schiffer
2013-11-27Add OpenSSL-based aes128-ctr implementationMatthias Schiffer
2013-11-25Move crypto algorithm information out of implementationMatthias Schiffer
2013-11-25Move cipher and mac structures to a new headerMatthias Schiffer
2013-11-21Add salsa20/12 cipherMatthias Schiffer
2013-11-21Add salsa20 cipherMatthias Schiffer
2013-11-20Slightly simplify method/cipher/MAC definitionsMatthias Schiffer
2013-11-18blowfish-ctr: formatting fixesMatthias Schiffer
2013-11-18Remove OpenSSL-based blowfish implementationMatthias Schiffer
It doesn't have any advantages over the builtin one.
2013-11-18secure_memzero all cipher and MAC statesMatthias Schiffer
2013-11-17Add null cipherMatthias Schiffer
2013-11-17Revert bytewise ghash implementationMatthias Schiffer
The performance gain is negligible, and OpenSSL avoids a bytewise implementation to mitigate timing attacks. This reverts commits d4916544299c28c4fb16da6d3306eea0a6d5d79f and 1b06460aa967e3afcfa6fc8d664874134ab6c739.
2013-11-16ghash: builtin: use bytewise lookup tableMatthias Schiffer
2013-11-16Add "tiny" copy of the builtin ghash implementationMatthias Schiffer
2013-11-16aes128-ctr: allocate only one piece of memory for the key stateMatthias Schiffer