52a9a56d38
Add AES portable decryption routines.
2019-07-08 10:36:34 -07:00
57b4e37147
Add inverses of the state operations, and some tests.
2019-07-08 10:36:11 -07:00
12599b9a63
Naive implementation of AES256.
2019-07-08 08:10:33 -07:00
f15ae3e323
A very naive version of AES encryption.
2019-07-07 17:30:03 -07:00
c32fa6c2b6
Portable AES256 expansion.
2019-07-06 21:43:50 -07:00
c07fccd57c
A portable version of AES128 key expansion.
2019-07-06 21:27:18 -07:00
08be0bf9e4
Add AES256 support to the aes-ni section.
2019-06-30 21:18:55 -07:00
ecc29f06fa
AES-128 support, using the AES-NI extensions.
2019-06-30 15:24:29 -07:00
82bb499be3
Switch to using the internal SHA/HMAC implementations.
2019-06-08 17:43:30 -07:00
20c65b93bf
Add support for HMAC computation, although in an awkward module.
2019-06-08 16:30:21 -07:00
7c45f898ab
Add support for SHAKE128 and SHAKE256.
2019-06-08 14:56:59 -07:00
c675aaa5f6
Add a bunch of documentation and examples.
2019-06-08 11:39:47 -07:00
6d4c9c4f50
Implement SHA3!
2019-06-07 23:01:25 -07:00
a34d8dc88b
SHA2 support!
2019-06-05 08:38:12 -07:00
b59653de57
Initial support for SHA1.
2019-06-03 21:10:47 -07:00
3eee154fe1
Address multi-platform newline support.
2019-05-31 08:38:19 -07:00
0b4d84b038
Update some of the technical debt.
2019-05-28 22:01:37 -07:00
54687cb602
Add some helpful documentation for the SSH library.
2019-05-28 21:58:47 -07:00
1bac2010b1
Add example code for RSA.
2019-05-28 21:46:04 -07:00
818b006521
Add an example for ED25519 keys.
2019-05-28 21:35:33 -07:00
bae1c93c54
Add examples for the ECDSA code.
2019-05-28 21:30:04 -07:00
ef3174f224
Fix an overflow in DSA key generation.
2019-05-28 21:02:55 -07:00
89c8705779
[BROKEN] Start the process of adding examples to the top of the files, and in doing so note that DSA key generation is broken.
2019-05-27 21:42:40 -07:00
080c8f18e2
Update some top-level documentation.
2019-05-27 20:48:56 -07:00
060b82b351
Update the x.509 documentation ... which made a number of flaws very obvious.
2019-05-27 20:46:34 -07:00
ba2ceee725
Update the SSH documentation.
2019-05-27 20:28:34 -07:00
4d2e43620a
Add documentation for the RSA tree.
2019-05-27 20:13:04 -07:00
c5850b4d01
ECDSA documentation.
2019-05-26 21:10:35 -07:00
a19c1ee124
Some more ECDSA documentation.
2019-05-26 20:48:04 -07:00
2145fb47fa
Remove the DSA key generation trait, just make direct methods.
2019-05-26 17:02:27 -07:00
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