Mamy Ratsimbazafy
b1ef2682d6
Modular exponentiation (arbitrary output) and EIP-198 ( #242 )
...
* implement arbitrary precision modular exponentiation (prerequisite EIP-198)
* [modexp] implement exponentiation modulo 2ᵏ
* add inversion (mod 2ᵏ)
* [modexp] High-level wrapper for powmod with odd modulus
* [modexp] faster exponentiation (mod 2ᵏ) for even case and Euler's totient function odd case
* [modexp] implement general fast modular exponentiation
* Fix modular reduction with 64-bit modulus + fuzz powmod vs GMP
* add benchmark
* add EIP-198 support
* fixups following self review
* fix test paths
2023-06-01 23:38:41 +02:00
Mamy Ratsimbazafy
cbb454fff1
Codecs ( #217 )
...
* create a codecs.nim file for hex/base64 and other encoding conversions
* improve maintenance/readability of hex conversion
* add skeleton of constant-time base64 decoding
* use raw casts
* use raw casts only for same size types
2023-02-07 13:10:17 +01:00
Mamy Ratsimbazafy
4be89d309f
chore: remove stew/byteutils dependencies and unneeded imports
2023-01-12 20:25:57 +01:00
Mamy Ratsimbazafy
ffacf61e8a
Don't dump all in "backend" ( #184 )
...
* backend -> math
* towers -> extension fields
* move ISA and compiler specific code out of math/
* fix export
2022-02-27 01:49:08 +01:00
Mamy Ratsimbazafy
fe500a6a79
Productionize: move protocols top-level vs backend ( #179 )
...
* Productionize: move protocols top-level vs backend
* fix path
* import fix
* the last one
* benches as well
2022-02-21 01:04:53 +01:00