Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-24 | Use ModExp fast mode for Miller-Rabin tests. | Rob Austein | |
Trying to make RSA key generation run in constant time is probably both futile and unnecessary, so we can speed it up a bit by switching the ModExpA7 core to use "fast" mode rather than "constant time" mode. Sadly, while this change produces a measureable improvement, it doesn't bring FGPA ModExp anywhere near the speed of the software equivalent in this case. Don't really know why. | |||
2017-06-14 | Tidy up new prime generation code. | Rob Austein | |
2017-06-14 | Faster prime generation algorithm for RSA. | Rob Austein | |
Algorithm suggested by a note in Handbook of Applied Cryptography, motivated by profiling of libtfm fp_isprime() function showing something close to 50% of CPU time spent running Montgomery reductions in the small primes test, before we even get to Miller-Rabin. | |||
2017-05-23 | "core" arguments have not been const since we switched to core_selector. | Rob Austein | |
2017-04-03 | PKCS #8 code for RSA and ECDSA. | Rob Austein | |
Compiles, not yet tested. Existing tests need conversion to PKCS #8 before we can do anything useful with this. Once everything uses PKCS #8 instead of algorithm-specific formats, we can revisit API issues like whether hal_rpc_pkey_load() should still be taking `type` and `curve` arguments. | |||
2016-09-20 | Clean up the defines around rpc client, software hash cores, etc. | Paul Selkirk | |
2016-07-05 | Attempt to add resource management, for multiple cores of the same type. | Paul Selkirk | |
Find a suitable core, and mark it busy. Don't forget to release it as soon as you're done. This has a knock-on effect of un-const'ing core arguments and struct fields in a lot of places, and it moves some core checks around. | |||
2016-06-14 | Add support for ModExpA7 | Paul Selkirk | |
2016-06-13 | Allow NULL der_len parameter in hal-rsa_private_key_to_der(). | Rob Austein | |
2016-05-14 | Trailing whitespace cleanup. | Rob Austein | |
2016-03-29 | Client-side rsa and ecdsa need to call remote get_random. | Paul Selkirk | |
2015-12-23 | RPC interface to TRNG and (incomplete) PIN code. | Rob Austein | |
2015-12-23 | Software modexp() implementation didn't compile due to missing pro | Rob Austein | |
forma hal_core_t* argument. | |||
2015-12-22 | Add ASN.1 support for public keys (X.509 SubjectPublicKeyInfo format). | Rob Austein | |
2015-12-21 | Fix names of private key DER functions. | Rob Austein | |
2015-12-20 | RPC server stuff mostly written. Compiles, not yet tested. RPC | Rob Austein | |
public key extraction functions on hold pending ASN.1 cleanup. | |||
2015-12-13 | whack copyrights | Paul Selkirk | |
2015-10-04 | Whack libhal API to use current configure_core_selector mechanism. | Rob Austein | |
Compiles, not yet tested. | |||
2015-10-03 | Use initializers for automatic variables of type fp_int because it's a | Rob Austein | |
bit more obvious when we've forgotten to do this than when we've forgotten to call fp_init() or memset(). Convert rsa.c to use the one-element-array idiom so we can get stop prefixing every bignum reference with "&". | |||
2015-09-08 | Merge branch 'master' into ecdsa | Rob Austein | |
This required a bit of manual cleanup in hal.h, hash.c, and rsa.c. No intended changes to functionality provided by parent comments, just a few tweaks to track API changes beyond git's ken. | |||
2015-09-06 | Add ECPoint I/O functions. ASN.1 cleanup. | Rob Austein | |
2015-09-02 | Still more const-ification. | Rob Austein | |
2015-09-02 | Clean up excessively complicated handling of opaque types in hash and | Rob Austein | |
RSA code; use simpler model (pointer to incomplete structure) used in ECDSA code. Refactor RSA code to use shared ASN.1 routines. | |||
2015-07-14 | Changes to support Pavel's ModExpS6 core. | Rob Austein | |
2015-07-01 | Change default to use software modexp until we sort out performance | Rob Austein | |
issues in ModExp core. | |||
2015-06-24 | Rework API for loading keys from components. Relax key size | Rob 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-21 | libcryptech -> libhal, doh. | Rob Austein | |
2015-06-21 | Add digest algorithm IDs. | Rob Austein | |
2015-06-19 | Add methods to extract public components from an RSA key. Other minor | Rob Austein | |
cleanup and commenting within RSA module. | |||
2015-06-19 | Add temporary workaround to let us use software ModExp when we're | Rob Austein | |
testing other code and don't want to wait for the as-yet-unoptimized FPGA ModExp core. | |||
2015-06-19 | Add replacement for fp_exptmod() using our ModExp core, so we don't | Rob Austein | |
drag in all of TFM's Montgomery just to support the Miller-Rabin test. | |||
2015-06-18 | Supply public exponent as bigendian byte string rather than unsigned | Rob Austein | |
long, since that's the form we'll need for PKCS #11. | |||
2015-06-18 | Helps to set the return value when reading a key, doh. | Rob Austein | |
2015-06-18 | Add RSA blinding. | Rob Austein | |
2015-06-18 | Refactor CRT code into public API. | Rob Austein | |
2015-06-17 | Debug RSA key generation. | Rob Austein | |
2015-06-17 | RSA key generation and DER support. | Rob Austein | |
2015-06-17 | RSA key generation. Compiles, not (yet) tested otherwise. | Rob Austein | |
2015-06-16 | Refactor key loading code. | Rob Austein | |
2015-06-11 | Debug 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-11 | First cut at RSA decryption/signature using the Chinese Remainder | Rob 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. |