-
Implement the optimized squaring algorithm outlined in https://hackmd.io/@gnark/modular_multiplication#Montgomery-squaring.
An example implementation is available here: https://github.com/mratsim/c…
-
Work plan:
- [ ] Add benchmarks analogous to bench/x25519.rs for P-256 and P-384 ECDH `compute_public_key` (covers base point multiplication), ECDH `agree_ephemeral`, (covers variable point multiplic…
-
Our attempts at formal verification of the montgomery_reduce() function in ref/reduce.c reveal that this function depends on a subtle implementation-defined behaviour - namely a cast from int32_t to i…
-
The addition operation in projective coordinates implements operator overloading that computes a scalar multiplication using a naive double-and-add algorithm. Would be worth specializing the operation…
-
The implementation of multiplication tricks port from https://github.com/ConsenSys/goff/tree/master/internal/templates/element templates to https://github.com/NilFoundation/crusty3-ff/tree/1-montgomer…
-
We have been using the Fiat Crypto framework for developing verified and efficient implementations of quadratic field extensions to be used for curves such as FourQ and BLS-12.
The project can be f…
-
The options to implement the trait are
- Naive multiplication (`a * b`) and then `mod p`
- Montgomery representation, reduction, multiplication and then field representation. In this case, it may …
-
As written in the Readme.md file, we need to implement fast multiplication to improve many different algorithms (at once).
I prefer to write a Github issue, as it is easier to gather good implementat…
-
### Context
Scalars in EC modules are both used in point operations as scalars and modular operations modulo the group order. The original approach was to represent them as an `mpi_mod_residue`. Th…
-
Do we need to make the field arithmetic resistant to timing attacks?
For example, removing the final conditional branch in the Montgomery multiplication or making the computation of the modular inver…