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.
-
2I 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 WuilleFeb 6 at 22:07
-
1@PieterWuille It's been a while, still planning to answer?– Vojtěch StrnadMar 17 at 2:09
Add a comment
|