randombit / botan

Cryptography Toolkit

Home Page:https://botan.randombit.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Replace BigInt based elliptic curve library

randombit opened this issue · comments

Botan 3.5.0

  • Initial pcurves (point arithmetic, fixed curve params) - that's #3979
  • Add EC_Scalar and EC_AffinePoint types and implement algorithms using them #4042
  • Support for providing parameterized curves, where we eg compute Montgomery params at runtime. This is required not just for user provided/application specific curves but also I don't think it's worthwhile to provide the fully parameterized/hardcoded support for obscure curves like secp160r1.
    In this release pcurves is really just used for hash to curve

Botan 3.6.0

  • Convert EC keys internally to store EC_Scalar and EC_AffinePoint instead of BigInt/EC_Point
  • Bridge between EC_Scalar/EC_AffinePoint and pcurves
  • Deprecate all the functionality that existed just to support elliptic curves using BigInt, eg mod_sub, ct_reduce_below, many more.

Botan 3.6.0 or later. Nice optimizations but not critical

  • Figure out how to speed up inversions. Either searching for addition chains at compile time and/or providing a way of conveying a specific addition chain where a good one is known.
  • Specific field reduction support for P-256, P-384, secp256k1, NUMS