Commit Graph

48 Commits

Author SHA1 Message Date
f60a492a0b Updated cabal file and generated test cases. 2019-01-18 21:54:18 -08:00
c5e9d4be25 Add test generation for RFC 6979 k value generation. 2019-01-18 21:53:52 -08:00
f4e47154c2 Add ECDSA scaling and signing tests. 2019-01-18 21:53:15 -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
ab32c02bfc Ignore more files. 2018-03-06 18:41:37 -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
3a5f4f2509 Add some shiftiness. 2018-02-25 20:33:24 -08:00
cdb0656f54 Forgot xor. How could I? 2018-02-25 16:51:17 -08:00
03db81d039 512-bit unsigned integers, with comparison and bit operations. 2018-02-25 16:47:15 -08:00
893dbfb725 Fix the name. 2018-02-25 16:46:56 -08:00
b832092605 More basic infrastructure. 2018-02-25 11:02:44 -08:00
7fae8036d4 A little more project context, as I get started. 2018-02-25 11:00:03 -08:00
Adam Wick
d2a2773111 Initial commit 2018-02-25 10:53:54 -08:00