[Cryptech-Commits] [sw/libhal] branch master created (now 0ababd7)

git at cryptech.is git at cryptech.is
Tue Jul 7 18:24:44 UTC 2015


This is an automated email from the git hooks/post-receive script.

sra at hactrn.net pushed a change to branch master
in repository sw/libhal.

        at  0ababd7   Track move of third party libraries to /sw/thirdparty/.

This branch includes the following new commits:

       new  93941c6   Import FPGA I/O code from core/platform/novena/sw, add minimal autoconf, whack with a club until it builds.
       new  fa13a84   Add csprng and hash modules.  Add real error codes instead of magic numbers, and propegate error codes up from lower layers.  Whack C++-isms, add parenthesese to a lot of macro expressions for evaluation safety, other minor cleanup.
       new  6d805ea   Add AES Key Wrap using Cryptech AES core.
       new  e2de6b1   Copy Joachim's EIM timeout change, make timeout configurable at compile time.  Detect not-multiple-of-four-byte errors before they trigger an infinite loop.  Remove printfs() that don't belong in library code, along with an unnecessary malloc().  Other minor cleanup.
       new  f50805b   Add test harness: no useful tests yet, just the framework. Add human-readable error strings for hal_error_t codes.
       new  c5f1ddb   Add test cases for 128-bit and 256-bit KEKs.
       new  b932b19   Guess it might help to write the config value to the AES core after constructing it, doh.
       new  b7956f3   Typing "!" when one meant "~" has interesting effects when bit masking.
       new  d529414   AES key wrap now working with AES core.
       new  e4a7f76   First pass on hash test code.
       new  a05b7a9   Debug hash-testing code.
       new  6c983f2   Cleanup.
       new  cd43115   Add missing truncated SHA-512 cases.
       new  75688e2   Doh, skip tests when we know core isn't present.
       new  9e00faa   Cleanup: names of *_core_present() functions, Makefile.
       new  2c81ecf   First pass at RSA tests.
       new  f210238   More fun with RSA test cases, still not working.
       new  86e3b10   Add padding options to test workaround for current ModExp bugs.
       new  4079050   ModExp now working!
       new  73a9466   Refactor hash code prior to adding HMAC (which we need for PBKDF2). 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.
       new  456de69   HMAC implementation and test vectors.
       new  9176df4   Whoops, we're supposed to hash an entire block for the key regardless of how long the key is.  With this fix, HMAC passes tests on Novena.
       new  cf865e9   Disable HMAC-SHA-384 tests as neither my implementation nor PyCrypto passes them.  Add missing copyright notices, other trivial cleanup (whitespace, etc).
       new  1655dbf   First cut at PBKDF2.
       new  f7a65af   HMAC for truncated SHA-512 digests would probably work better if we used the right digest length constants.  Doh.
       new  ce372c3   Get feedback cycle right in PBKDF2 iteration.
       new  e1029f9   This time for sure, Rocky!
       new  9cca190   Add hal_modexp(), since the protocol is a bit complex.  Rewrite test-rsa to use hal_modexp(), and generate a new set of test keys without the whacky padding, since hal_modexp() now handles that.
       new  5d21abb   Operand lengths weren't including bug-workaround padding.
       new  5f152f5   First cut at RSA decryption/signature using the Chinese Remainder 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.
       new  ab7d78b   Build issues on Novena.
       new  8934e10   Debug modexp_fp() buffer handling.  Add basic timing report. 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.
       new  7a89eaa   Refactor key loading code.
       new  e6e4a9a   RSA key generation.  Compiles, not (yet) tested otherwise.
       new  ab5a876   RSA key generation and DER support.
       new  35733aa   Debug RSA key generation.
       new  5e4fc53   Refactor CRT code into public API.
       new  8bf2dc8   Add RSA blinding.
       new  3e679aa   Add round-trip test for DER I/O code.
       new  30e8216   Helps to set the return value when reading a key, doh.
       new  a615b13   Supply public exponent as bigendian byte string rather than unsigned long, since that's the form we'll need for PKCS #11.
       new  1a719b0   Add replacement for fp_exptmod() using our ModExp core, so we don't drag in all of TFM's Montgomery just to support the Miller-Rabin test.
       new  79d3c33   Add temporary workaround to let us use software ModExp when we're testing other code and don't want to wait for the as-yet-unoptimized FPGA ModExp core.
       new  aaec57f   Add README.md.
       new  f23b4c6   Add methods to extract public components from an RSA key.  Other minor cleanup and commenting within RSA module.
       new  bca97e1   Add digest algorithm IDs.
       new  4dd62d6   Check for hash core present before running PBKDF2 tests.
       new  a3b7050   libcryptech -> libhal, doh.
       new  10dfb62   Rework API for loading keys from components.  Relax key size constraints to allow any key size within our supported range, since hsmbully seems to want to twist this knob to every possible setting.
       new  66c47cc   Verify signature in key generation test.
       new  376fa94   Track ModExp core exponent padding change: this enables the short exponent fast path.
       new  e80f25d   Change default to use software modexp until we sort out performance issues in ModExp core.
       new  65f6634   Get rid of autoconf, as we don't really need it.  Add eim_peek_poke utility program, based on Paul's example in the core/platform/novena repository.
       new  7852309   novena-eim.h had an invisible dependency on <sys/types.h>, at least on Debian Wheezy (ie, on the Novena).
       new  526e451   NULL-terminate string list, doh.
       new  4856502   Use C99 variadic macro as safety wrapper around variadic function. Are we having fun yet?
       new  94666f4   Add load_novena_fpga script.
       new  0ababd7   Track move of third party libraries to /sw/thirdparty/.

The 58 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.




More information about the Commits mailing list