aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-24First stumblings towards ECDSA test code.Rob Austein
2015-08-22Rework point_scalar_multiply() to avoid a timing leak with small scalars.Rob Austein
2015-08-22Add hal_ecdsa_verify(). Move hashing out of ECDSA routines. Clean upRob Austein
a few bits that didn't pass self-review.
2015-08-21Updated point doubling and addition to use algorithms from theRob Austein
hyperelliptic.org formula database. Compiles, still not tested.
2015-08-21Snapshot along the way to ECDSA. Code mostly written, except forRob Austein
ecdsa_verify(). Untested. Point addition and doubling algorithms are the ones from libtomcrypt, main point of this commit is to save those before replacing them with faster algorithms from hyperelliptic.org.
2015-07-17Debian Jessie hangs with bs=128, Kosagi forum tells us that the magicRob Austein
solution is to change to bs=32.
2015-07-07Track move of third party libraries to /sw/thirdparty/.Rob Austein
2015-07-05Add load_novena_fpga script.Rob Austein
2015-07-05Use C99 variadic macro as safety wrapper around variadic function.Rob Austein
Are we having fun yet?
2015-07-05NULL-terminate string list, doh.Rob Austein
2015-07-05novena-eim.h had an invisible dependency on <sys/types.h>, at least onRob Austein
Debian Wheezy (ie, on the Novena).
2015-07-05Get rid of autoconf, as we don't really need it. Add eim_peek_pokeRob Austein
utility program, based on Paul's example in the core/platform/novena repository.
2015-07-01Change default to use software modexp until we sort out performanceRob Austein
issues in ModExp core.
2015-06-30Track ModExp core exponent padding change: this enables the short exponent ↵Rob Austein
fast path.
2015-06-26Verify signature in key generation test.Rob Austein
2015-06-24Rework API for loading keys from components. Relax key sizeRob Austein
constraints to allow any key size within our supported range, since hsmbully seems to want to twist this knob to every possible setting.
2015-06-21libcryptech -> libhal, doh.Rob Austein
2015-06-21Check for hash core present before running PBKDF2 tests.Rob Austein
2015-06-21Add digest algorithm IDs.Rob Austein
2015-06-19Add methods to extract public components from an RSA key. Other minorRob Austein
cleanup and commenting within RSA module.
2015-06-19Add README.md.Rob Austein
2015-06-19Add temporary workaround to let us use software ModExp when we'reRob Austein
testing other code and don't want to wait for the as-yet-unoptimized FPGA ModExp core.
2015-06-19Add replacement for fp_exptmod() using our ModExp core, so we don'tRob Austein
drag in all of TFM's Montgomery just to support the Miller-Rabin test.
2015-06-18Supply public exponent as bigendian byte string rather than unsignedRob Austein
long, since that's the form we'll need for PKCS #11.
2015-06-18Helps to set the return value when reading a key, doh.Rob Austein
2015-06-18Add round-trip test for DER I/O code.Rob Austein
2015-06-18Add RSA blinding.Rob Austein
2015-06-18Refactor CRT code into public API.Rob Austein
2015-06-17Debug RSA key generation.Rob Austein
2015-06-17RSA key generation and DER support.Rob Austein
2015-06-17RSA key generation. Compiles, not (yet) tested otherwise.Rob Austein
2015-06-16Refactor key loading code.Rob Austein
2015-06-11Debug modexp_fp() buffer handling. Add basic timing report.Rob Austein
Compensate for PyCrypto's weird inversion of p and q when calculating CRT coefficients, and add key the key components PyCrypto doesn't bother pre-calculating to our test data.
2015-06-11Build issues on Novena.Rob Austein
2015-06-11First cut at RSA decryption/signature using the Chinese RemainderRob Austein
Theorem. Not yet tested, and given the number of moving parts I would be astonished if this version actually worked, but it does compile. Added some timing code to tests/test-rsa.c so we can see whether this is doing anything useful once it does work.
2015-06-10Operand lengths weren't including bug-workaround padding.Rob Austein
2015-06-10Add hal_modexp(), since the protocol is a bit complex. RewriteRob Austein
test-rsa to use hal_modexp(), and generate a new set of test keys without the whacky padding, since hal_modexp() now handles that.
2015-06-05This time for sure, Rocky!Rob Austein
2015-06-05Get feedback cycle right in PBKDF2 iteration.Rob Austein
2015-06-05HMAC for truncated SHA-512 digests would probably work better if weRob Austein
used the right digest length constants. Doh.
2015-06-04First cut at PBKDF2.Rob Austein
2015-06-04Disable HMAC-SHA-384 tests as neither my implementation nor PyCryptoRob Austein
passes them. Add missing copyright notices, other trivial cleanup (whitespace, etc).
2015-06-04Whoops, we're supposed to hash an entire block for the key regardlessRob Austein
of how long the key is. With this fix, HMAC passes tests on Novena.
2015-06-04HMAC implementation and test vectors.Rob Austein
2015-06-04Refactor hash code prior to adding HMAC (which we need for PBKDF2).Rob Austein
Main changes: moving the ten zillion core-related constants from closures into a driver structure, rework API to the more common initialize/update/finalize because it's easier to understand, particularly with HMAC.
2015-06-03ModExp now working!Rob Austein
2015-06-01Add padding options to test workaround for current ModExp bugs.Rob Austein
2015-05-28More fun with RSA test cases, still not working.Rob Austein
2015-05-27First pass at RSA tests.Rob Austein
2015-05-25Cleanup: names of *_core_present() functions, Makefile.Rob Austein