2912c72a07
Add a bunch of DSA documentation.
2019-05-26 16:59:43 -07:00
23a79300c8
Cache the public point in ED25519Public.
2019-05-26 16:26:40 -07:00
0e6664f232
Split out files for loading and scalars, clean up mod imports.
2019-05-26 16:15:24 -07:00
4ce8797da2
Push last bit of Point functionality into impls. (I hope.)
2019-05-26 16:06:37 -07:00
7f2b509640
Switch to Add/Sub impls.
2019-05-26 15:59:04 -07:00
b0885722a8
Convert into double() methods.
2019-05-26 15:32:30 -07:00
83cdd8ef4c
Use From methods, rather than function converters.
2019-05-26 15:21:59 -07:00
2f395721bc
[CHECKPOINT] Tidy, tidy, tidy.
2019-05-26 15:03:42 -07:00
2b63dfa376
Shift sq2/pow22523. Everything should be properly in FieldElement now.
2019-05-26 14:27:52 -07:00
fc09ff48a2
Shift over fe_cmov/fe_isnonzero/fe_isnegative.
2019-05-26 14:20:16 -07:00
c9f418feff
Convert negation and inverstion into more reasonable operations.
2019-05-26 09:51:17 -07:00
ac380d08af
Move fe_square() into square() and square_mut() in FieldElement.
2019-05-25 16:59:56 -07:00
25746af626
Shift fe_mul to normal Rust multiplication operations.
2019-05-25 16:37:04 -07:00
16cf6172ce
Support reading and writing ED25519 SSH keys.
2019-05-22 19:57:20 -07:00
d2bdbd37fe
Shift to +/- from fe_add/fe_sub.
2019-05-22 19:56:10 -07:00
e6e3789127
Pull to_bytes() into FieldElement.
2019-05-21 19:45:08 -07:00
8bca480e47
Move fe_frombytes into FieldElement.
2019-05-20 21:17:53 -07:00
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