8

I'm looking at libsecp256k1's codebase, for learning reasons (doubt I can contribute with anything useful there). While looking at the field implementation, the implementation of secp256k1_fe_mul_inner in both 10x26 and 5x52 is a little strange to me. I know some multiplication algorithms, like Karatsuba and Toom's algorithms, but this one doesn't look like one of them, at least I couldn't relate.
Looking at the source and git history, I only see a reference to Peter Dettman, but I was unable to find any paper authored by him. Is this algorithm inspired by a public paper? Any reference would be helpful, as I'm unable to follow reason about the code itself. I understand what it is doing, but I don't know exactly how.

Vojtěch Strnad
  • 5,623
  • 1
  • 8
  • 31
Davidson Souza
  • 906
  • 3
  • 10
  • 2
    I plan to write an answer here, as I reviewed the code when it was merged, and have some high-level understanding still, but it may take me some time as I'd need to go over the details again. – Pieter Wuille Feb 06 '23 at 22:07
  • 1
    @PieterWuille It's been a while, still planning to answer? – Vojtěch Strnad Mar 17 '23 at 02:09

0 Answers0