libff icon indicating copy to clipboard operation
libff copied to clipboard

C++ library for Finite Fields and Elliptic Curves

Results 36 libff issues
Sort by recently updated
recently updated
newest added

As far as I understand, OpenSSL is only used in this library for the `multiexp_profile` flag, but in that case why is it needed? Can we remove the dependency? At...

Build system

GMP is not compatible with Windows, while its fork [MPIR](http://mpir.org/) is.

For now, the CI checks only run on Linux (see: https://github.com/scipr-lab/libff/commit/864be23c08a957565f4a1b6b296887727aecebb2). This contrasts, however, with the fact that the library can also be used on `macOS` and `Windows`. As such,...

enhancement
good first issue

See thread here: https://github.com/scipr-lab/libff/pull/43#discussion_r462920866 TL;DR: No checks are made to verify that the recovered point lies on the curve, and nothing is done to make sure that we are manipulating...

Allows compressed / uncompressed points to be used in different situations, independently of the build configuration.

It could be very helpful IMO to define interfaces (via abstraction/inheritance or CRTPs, cc: @madars) to make the code related to field arithmetic generic (same would apply to groups btw)....

I think it would be nice to refactor tests as specified here: https://github.com/scipr-lab/libff/pull/44#discussion_r437979695 and follow a "one function - one test" approach.

Exposed some more fine-grained scalar muliplication operations.

Looks like the target groups of the pairings are defined from fields via `typedef` directives. See here for eg: https://github.com/scipr-lab/libff/blob/master/libff/algebra/curves/mnt/mnt4/mnt4_init.hpp#L39 This means that all public members of the underlying field...