toposware/winterfell

Move implementation of f252::BaseElement and related curve components into separate crate

Closed this issue · 0 comments

The original implementation of f252::BaseElement and the associated curve was done (in branch https://github.com/ToposWare/winterfell/tree/f252) inside the math crate. But this requires heavy machinery, and there are considerations (Zeroization, Constant time implementation, Serde support), that are not required by this library but would be on the substrate side.

It would be better to export them in an external crate and define f252::BaseElement as a simple wrapper around the field element implementation.

Migration has been started there and the corresponding (lighter) winterfell update has been done here.