1. 27 Jan, 2015 2 commits
  2. 25 Jan, 2015 3 commits
  3. 24 Jan, 2015 1 commit
  4. 23 Jan, 2015 9 commits
  5. 22 Jan, 2015 2 commits
  6. 17 Jan, 2015 2 commits
  7. 16 Jan, 2015 1 commit
  8. 15 Jan, 2015 2 commits
  9. 27 Oct, 2014 1 commit
  10. 24 Oct, 2014 1 commit
    • Mike Hamburg's avatar
      Big changes for curve flexibility. For details see HISTORY.txt. · 1f480b0f
      Mike Hamburg authored
      Very experimental Ed480-Ridinghood support is now in.  It's not fully optimized,
      but in general the current build is 8-15% slower than Goldilocks.  It only works on
      arch_x86_64, though arch_ref64 support ought to be easy.  Support on other arches
      will be trickier, which is of course why I chose Goldilocks over Ridinghood in the
      first place.
      Next up, E-521.  Hopefully.
      The code is starting to get spread out over a lot of files.  Some are per field*arch,
      some per field, some per curve, some global.  It's hard to do much about this, though,
      with a rather ugly .c.inc system.
      There's currently no way to make a Ridinghood eBAT.  In fact, I haven't tested eBAT
      support in this commit.  I also haven't tested NEON, but at least ARCH_32 works on
  11. 21 Oct, 2014 1 commit
    • Michael Hamburg's avatar
      WARNING: This commit is largely untested. · c6d69dec
      Michael Hamburg authored
      Continuing demagication and factoring of field code.
      Removing high-level ops from p448.h and putting them in field.h.  That way they
      won't need rewriting for new fields and architectures.
      Create constant_time.h which contains constant-time lookups, condswaps, etc.
      That way the code is the same on all architectures, instead of varying depending
      on whether the field size is a multiple of the vector register size.  I should
      still add a constant_time_select to factor out field_cond_negate.
      TODO: I need to test this for correctness and performance on various platforms.
      It works on my Mac, but since Yosemite the timing is totally unpredictable
      (background tasks?  variable boost?).
  12. 20 Oct, 2014 1 commit
  13. 19 Oct, 2014 1 commit
  14. 23 Sep, 2014 1 commit
  15. 11 Jul, 2014 1 commit
    • Michael Hamburg's avatar
      Mostly a cleanup release. Cleanup old code, improve documentation, · 4eb210cd
      Michael Hamburg authored
      improve GCC-cleanness, etc.
      Disable the crandom output buffer so that it won't return duplicate
      data across fork().  I should still stir in more entropy into the
      buffer at least when RDRAND is available, but this should prevent
      disasters for now.
      The Elligator code in the current version is incompatible with past
      versions due to a minor tweak.  It wasn't being called by any of
      the API functions, though.
      Removing "magic" constants and type names.  So for example p448_t
      is now field_t (though maybe it should really be felem_t?).  This
      should enable other curves with the Goldilocks code in the not-too-
      distant future.
      Added CRANDOM_MIGHT_IS_MUST so that you don't have to -D a bunch of
      things on the command line.
      You can `make bat` to make an eBAT which probably doesn't work.
      I haven't implemented the improved nonce generation from the
      curves@moderncrypto.org thread yet.
  16. 29 Mar, 2014 1 commit
    • Michael Hamburg's avatar
      New release. · 1eab9a3a
      Michael Hamburg authored
      Rework the directory structure into something saner, with src/ test/ include/ and build/
      Beginning some tests.  Also, now support scan-build.
      Now support 32-bit including vectorless ARM.  NEON is not yet supported, because I don't
      have a test machine.
      Many internal changes, improvements, and bug fixes.
  17. 06 Mar, 2014 1 commit
    • Michael Hamburg's avatar
      Second commit. Still very preliminary. · 2712648b
      Michael Hamburg authored
      Changed the formats of private keys and shared secrets.
      Added SHA512 support.  It's slow and probably has endian bugs.
      Signatures are now supported.
      Renamed a bunch of internal functions to be more readable and
      Began documenting functions with Doxygen.
      See HISTORY.txt for more details.
  18. 21 Feb, 2014 1 commit