George Tankersley
8fecdaa6ca
track register availability to reduce load/store
2018-05-29 05:08:22 +00:00
George Tankersley
e430bd5d31
remove unnecessary MOVQ
2018-05-29 03:56:50 +00:00
George Tankersley
bcd71dd378
actual test case
2018-05-29 03:55:05 +00:00
George Tankersley
72f03f6412
spaces
2018-05-28 05:19:40 +00:00
George Tankersley
9ca546367b
stock multiplication seems to work. TODO: fuzz, wire in reduction and 51-bit packing
2018-05-28 04:34:05 +00:00
George Tankersley
a4358ce581
double-width output seems to work
2018-05-28 03:54:42 +00:00
George Tankersley
a12f6e84a9
carry-prop bugs
2018-05-28 03:02:42 +00:00
George Tankersley
699df1ec8a
radix51: implement single-row ADX chain
2018-05-27 21:55:45 +00:00
George Tankersley
0a030f62c0
make things more generally presentable
2017-07-25 16:24:16 -07:00
George Tankersley
08a76875a4
Cache the field representation of d
2017-07-25 16:23:20 -07:00
George Tankersley
ad98326f8c
Remove 32-bit code and update license.
...
The assembly is faster on target amd64 platforms.
2017-07-25 16:23:20 -07:00
George Tankersley
f8bd1037cf
Use Bits() for FeToBig.
...
This doesn't help quite as much as it does with FeFromBig, because
FeToBig runtime is dominated by the reduction step. Still helps though.
2017-07-25 16:23:19 -07:00
George Tankersley
0ba575b405
Implement ScalarMult using Montgomery pattern and dedicated
...
extended-coordinates doubling. This will be slow.
2017-07-25 16:23:19 -07:00
George Tankersley
c9f6a1c183
use faster FeFromBig & a horrible assortment of other random changes
2017-07-25 16:23:19 -07:00
George Tankersley
4d11c7b5a6
group logic WIP
2017-07-25 16:23:19 -07:00
George Tankersley
7ae6271616
add equality for field elements
2017-07-25 16:23:19 -07:00
George Tankersley
ca2029ab22
Add radix51 FieldElement implementation
...
This contains both a pure Go and an amd64 assembly implementation of
operations over GF(2^255-19) using radix 2^51. This results in notable
speedups when using the assembly, but doesn't help much in pure Go -
most of the possible gains are lost to the lack of widening multiply for
64 bit integers.
2017-07-25 16:23:19 -07:00
George Tankersley
26b25b0ac0
Add LICENSE
2017-07-25 16:23:19 -07:00
George Tankersley
19d7f4d83d
Implement an elliptic.Curve for ed25519
2017-07-25 16:23:19 -07:00