Commit Graph

105 Commits

Author SHA1 Message Date
a3b0ef8d98 Generalize ECC public key support; still very slow. 2019-02-11 12:36:35 -08:00
9ce976bb6e [FIXED] Fairly ridiculous implementation of ECDSA verification 2019-02-11 12:10:59 -08:00
94defc4e77 [BROKEN] Start adding support for ECDSA public keys. 2019-02-10 17:47:36 -08:00
a426ca3901 Make ecdsa/private.rs a bit more pretty. 2019-02-10 17:47:11 -08:00
a390a7bb53 Start moving from from_bytes to from in the curve constants. 2019-02-04 19:28:17 -08:00
71cb38ca30 Comment out some very slow test cases. Probably need a better way to do this. 2019-02-04 19:27:58 -08:00
322701ad6c ECC Private key support. 2019-02-04 19:27:23 -08:00
a8174ac47e Fix a typo in the P521 base point. 2019-02-04 19:26:35 -08:00
00b944e30a Remove From<U512> requirement on the k-generator. 2019-02-04 19:25:57 -08:00
4529562cb8 This appears to work ... maybe. slowly. 2019-01-27 19:02:52 -08:00
4af5446e80 Start work on ECDSA signing. 2019-01-18 21:55:52 -08:00
04b4c79f7a Add size querying for ECDSA curves. 2019-01-18 21:55:42 -08:00
89deea0337 Cleanups for the RFC 6979 code, plus support for running the test cases. 2019-01-18 21:55:08 -08:00
cdcfd9a3a3 Basic point math, with tests. Distressingly slow. 2019-01-08 09:45:02 -08:00
f3494d8524 Handle negative scaling factors. 2018-12-30 21:16:16 -08:00
eb82edea7e Start with Elliptic Curve point math. Slow, but it works. 2018-12-30 21:00:10 -08:00
62cb276888 DSA support! 2018-12-08 10:59:14 -06:00
160618cdd7 Update some libraries, and now RSA works again! 2018-11-21 22:27:59 -08:00
9d87916cc5 Rewrite against a newer cryptonum. 2018-11-14 20:51:14 -05:00
ef54ed4cda Remove the cryptonum stuff; it's been moved to a different crate. 2018-10-27 15:15:23 -07:00
43b73139cd Checkpoint; not sure where this code is, but I'm rethinking. 2018-10-27 15:11:45 -07:00
b30fe6a75f Modular exponentiation with Barrett reduction. Seems slow. :( 2018-06-18 12:04:11 -07:00
011ebc0c99 Extend modular addition to Barrett constants. 2018-06-18 08:42:01 -07:00
a6def22bd1 Barrett reduction! 2018-06-17 11:01:22 -07:00
c49cd29c43 Barrett reduction 2018-06-10 21:09:53 -07:00
65d7b7e93f Modular exponentiation! 2018-06-10 21:09:35 -07:00
b93286fe60 Make modular addition take a trait argument like the others. 2018-06-10 10:36:49 -07:00
5a5b48569b Switch to the same test naming scheme across modules. 2018-06-10 10:36:34 -07:00
b5afa8fdf9 Modular squaring support (slow, initially) 2018-06-09 17:32:46 -07:00
26eb05ceeb Don't use Vecs in modmul, use fixed-size buffers 2018-06-09 17:32:15 -07:00
fee68cca18 Create a modular multiplication trait, and build a slow implementation using mod. 2018-06-09 17:12:01 -07:00
11c951d29b Fix division; we were computing n wrong. 2018-06-09 17:08:13 -07:00
72a5c4568e Division! (With tests) 2018-06-04 21:36:03 -07:00
eae2ea49a9 My multiplication loops were not, in fact, off by one. 2018-06-04 21:35:13 -07:00
69596c83ec Remove a debugging println!() that I missed in a previous commit. 2018-06-04 21:34:09 -07:00
bebb5b2861 Support for fast squaring. 2018-06-02 20:29:44 -07:00
a5f0179d77 Publish a decoder, to make testing a bit easier. 2018-06-02 20:28:53 -07:00
041f824caf Give credit where credit is due. 2018-06-02 20:28:33 -07:00
f088f0f9a5 A second crack at fixed-sized numbers. 2018-06-02 09:26:34 -07:00
f3d4b102c0 Serialization for cryptonums. 2018-03-06 19:22:57 -08:00
f89e3e5ca4 Ignore the identity tests for now, because they take longer than anything else. 2018-03-06 19:00:16 -08:00
67a3ac61d3 Probably foolish forcing of inlining. 2018-03-06 18:45:43 -08:00
17c21fec70 Macro-ize these, and generate versions for all the RSA sizes. 2018-03-06 18:41:05 -08:00
a7fa5dd9f9 Finish shifting out primitives, and add division/modulo. 2018-03-05 18:25:20 -10:00
2cc8702f4d Start shifting stuff the actual math out into another file. 2018-03-01 12:27:15 -08:00
9fece39fe1 [BROKEN] Starting to work on division. 2018-02-28 18:09:01 -08:00
016f79a236 Add subtraction. 2018-02-28 11:10:49 -08:00
a6cd05052e Add multiplication. 2018-02-28 10:25:23 -08:00
093555b17d Switch to using 64-bit digits, adding a dependency on u128 support. 2018-02-28 10:25:14 -08:00
8746bf3e08 Addition! 2018-02-26 21:04:58 -08:00