crate-crypto / Ed448-Goldilocks

24 stars 12 forks source link

Implementation violates Separation of Concerns #15

Closed kevaundray closed 4 years ago

kevaundray commented 4 years ago

To prevent overflow, the EC arithmetic contains specific details concerning the Field Arithmetic. See bias and weak_reduce.

This makes the EC arithmetic tightly coupled with the Field backend.

There are two possible choices to make:

(Maybe both?)

CPerezz commented 4 years ago

This will imply refactoring the whole module.

I did that with zerocaf following curve25519 guidelines, so happy to work on that if helps!

kevaundray commented 4 years ago

Hey,

Will push the offline code once I sort some bugs out, then add labels to issues as "help wanted".

For the above solution, I believe you can do a full reduction after each operation, which will remove the bias and weak_reduce functions from the EC arithmetic layer.

kevaundray commented 4 years ago

Closing as the EC arithmetic, now reduces on each group operation