aboutsummaryrefslogtreecommitdiff
path: root/verilog_constants.h
AgeCommit message (Collapse)Author
2020-03-25Reduce keywrap to 16 core blocks, to match how it's actually built now.Paul Selkirk
2020-02-26Merge branch 'js_keywrap' to 'master'Paul Selkirk
2020-02-18timing tests for RSA signingmodexpngPaul Selkirk
2020-02-07driver for Pavel's ModExpNG corePaul Selkirk
2018-09-11Track Joachim's latest keywrap core - unroll bank-switched memory into a ↵Paul Selkirk
number of core register blocks.
2018-08-15Add support for Joachim's keywrap core.Paul Selkirk
2017-09-11Reverse the polarity of the neutron flowRob Austein
2017-09-09Far too much fun with modexpa7 operand lengths and locations.Rob Austein
2017-09-09Start hacking for systolic modexp.Rob Austein
Work in progress. Probably won't even compile, much less run. Requires corresponding new core/math/modexpa7 core. No support (yet) for ASN.1 encoding of speedup factors or storage of same in keystore. No support (yet) for running CRT algorithm in parallel cores. Minor cleanup of ancient bus I/O code, including EIM and I2C bus code we'll probably never use again.
2017-03-02Refactor to add P384 support. Untested.Rob Austein
2017-01-26First attempt at using Pavel's ecdsa256 core. Not working yet.Rob Austein
Attempts to use Pavel's ecdsa256 base point multiplier instead of software point multiplier when selecting new random points (that is, when generating P-256 keys or P-256 signatures). Resulting points pass the point validation test (point_is_on_curve()) but the resulting signatures are invalid. Don't know why yet. Seems like an odd combination, as one would expect random garbage to fail validation. In any case: this commit is intended to archive progress so far, and perhaps see if somebody else can spot what's wrong. As presently coded, this wouldn't be suitable for production use even if it worked. NB: As I understand it, the ecdsa256 core is *not* a general purpose point multiplier even just for the P-256 curve. Rather, it is strictly a base point multiplier: it takes a single scalar as input, and returns the X,Y affine coordinates of the curve's base point multiplied by that scalar. This is essentially the eliptic curve portion of the computation involved in picking a random point for key or signature generation, but is not useful for signature validation. See the README.md in Pavel's source repository for further details.
2016-06-14Add support for ModExpA7Paul Selkirk
2016-05-31SHA-224 driver and soft core.Rob Austein
2016-05-24Add mkmifPaul Selkirk
2016-03-09Optional (compile time conditional) software hash cores. At theRob Austein
moment this is all-or-nothing, but could easily be tweaked to allow compile-time selection of particular hashes.
2015-11-17More post-merge cleanup.Paul Selkirk
- Joachim says always check entropy and csprng for 'valid' before reading. - Harmonize RNG status valid bit with other cores. - Clean up compiler warnings about printf formats.
2015-11-16harmonize ctrl and status addresses with other coresPaul Selkirk
2015-10-04Whack libhal API to use current configure_core_selector mechanism.Rob Austein
Compiles, not yet tested.