Pippenger Algorithm for Multi-Scalar Multiplication (MSM)

problem:

compute multiple scalar multiplication of ECC

\(S=k_i\cdot P_i\)

step 1:

decompose each scalar

step 2:

gather the decomposed scalars that has the same base together

step 3:

compute the gathered scalars addition using bucket method.

A very good explanation of the algorithm here

more readings here

Lazy Field Arithmetic & Magnitude Tracking (in k256)

🔧 What is Lazy Field Arithmetic?

Lazy field arithmetic delays reductions modulo \(p\) to avoid expensive operations after every add/mul. Instead of immediately reducing results, the library tracks a conservative magnitude, which represents how many times larger than \(p\) a value might be.

📐 What is magnitude?

Magnitude …