NilFoundation / crusty3-ff

Traits and utilities for working with finite fields
Apache License 2.0
0 stars 0 forks source link

Review implementation #3

Open nemothenoone opened 4 years ago

nemothenoone commented 4 years ago

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-montgomery-multiplication/ff_derive/src is required to be reviewed.

The port intends to provide better performance than https://gist.github.com/dignifiedquire/4e50411a316d933f294ec7c1a686084f.

Testing is being performed with https://github.com/NilFoundation/crusty3-pairing bench target.

The algorithm, as the result, is considered as a testing playground before bringing it to https://github.com/NilFoundation/crypto3-multiprecision.

nemothenoone commented 3 years ago

@Luannet There might be a limb variable amount reduction available. Test implementation is introduced with the following commit: 627539fe07915869a677b58db9cc17d874226998. Worth taking a look?