Commit Graph

87 Commits

Author SHA1 Message Date
b42902e6ab Shift from_bytes into the Point impl.
Looks like we were also computing our test cases in a slightly sketchy
way, and just testing that we failed in exactly the same way. We do, but
now we generate better test data.
2019-05-18 17:38:55 -07:00
44618c2e2f type Element --> struct FieldElement 2019-05-16 17:27:29 -07:00
4c03ab6648 Move the encoding code into the point module. 2019-05-16 10:44:57 -07:00
1b2d7db1e0 Remove rust-crypto dependency (only used during debugging), and split KeyPair into Private/Public parts. 2019-05-15 21:38:25 -07:00
9cf0b587b2 Checkpoint: Signing seems to work, but there's a lot of cruft and cross-checks. 2019-05-15 18:11:23 -07:00
d459850c54 This is a very naive Rust tanslation of the basic math behind the ed25519 crypto scheme.
In general, it's a straight translation of the Google code, which in
turn is "mostly taken from the ref10 version of Ed25519 in SUPERCOP
10241124.", except that it's been hand translated to rust with some
test case generators. Future versions should clean this up to be more
normally rust-y.
2019-05-14 21:54:59 -07:00
ad484877cf ECDSA SSH key support. 2019-04-17 21:20:52 -05:00
1eba2d1709 Pull out some common bits in private rendering. 2019-04-16 13:19:26 -07:00
29872fa47a Start the infrastructure for ECDSA SSH keys. 2019-04-15 09:38:48 -07:00
031b4be14e Full SSH support for RSA. 2019-04-14 22:12:36 -07:00
6d2c803f2b Add RSA 1024 SSH key support, as a basic attempt. 2019-04-13 21:16:55 -07:00
8a7e604fbd Make sure RSA and ECDSA have KeyPair instances. 2019-04-13 21:15:29 -07:00
cfc06c3b56 Simplify ECDSA struct/trait split. 2019-04-13 16:51:25 -07:00
40a5793089 Clean up the struct/trait split for RSA keys. 2019-04-13 16:41:41 -07:00
026b321f7c Remove the DSAPubKey/DSAPublicKey split. 2019-04-13 15:53:17 -07:00
6613f85ff3 Support reading DSA public keys 2019-04-04 20:49:02 -07:00
22b4fcbd94 Farm off the SSH DSA support into its own module. 2019-04-04 20:02:41 -07:00
e4f67f0918 Rejigger the SSHKey trait a little more cleanly. 2019-04-04 19:51:03 -07:00
68ddc7096b Clean up the DSA struct parameter types. 2019-04-04 16:32:15 -07:00
54c5244bc5 Extend to support rendering DSA1024 keys. 2019-04-04 16:08:09 -07:00
06d3391748 Cleaner number parsing, padding check. 2019-04-03 19:48:33 -07:00
3a0d08d572 Basic support for SSH key parsing, at least for DSA. 2019-04-03 17:42:31 -07:00
69cef498f2 [CHECKPOINT] Starting to parse these things. 2019-03-28 18:23:38 -07:00
47fae77a4f Add some sample SSH keys for testing later. 2019-03-17 13:31:27 -07:00
5a69795fdf Limit long-running tests via #[ignore] instead of commenting them out. 2019-03-07 21:38:07 -07:00
9d2e56ad06 Add code to run the DSA tests ... which still need fixin'. 2019-03-07 16:00:27 -07:00
b3276ce2f6 Fix up the RSA decryption testing routines. 2019-03-05 21:35:31 -07:00
91d595ee4b Clean up old debugging infrastructure. 2019-03-05 16:12:25 -07:00
f1f39f8b5f Complete the change to a slightly better testing infrastructure. 2019-03-05 16:12:03 -07:00
bf13f4a1e6 Start generating RSA test cases as part of the normal infrastructure. 2019-03-01 20:44:33 -08:00
8d8351e833 Preliminary x.509 support. This is some of the ugliest code I've ever written, but it works. Ish. 2019-02-18 10:54:34 -08:00
293a93c6d4 Support ECDSA key generation. 2019-02-11 13:19:51 -08:00
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