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
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
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