We consider the problem of interpolating a sparse multivariate polynomial over a finite field, represented with a black box. Building on the algorithm of Ben-Or and Tiwari (1988) for interpolating polynomials over fields with characteristic zero, we develop a new Monte Carlo algorithm over finite fields by doing additional probes. To interpolate a polynomial $$f \in {\mathbb{F}_q}[{x_1}, \ldots ,{x_n}]$$ with a partial degree bound D and a term bound T, our new algorithm costs $${O^ \sim }(nT{\log ^2}q + nT\sqrt D \log q)$$ bit operations and uses 2(n + 1)T probes to the black box. If q ⩾ O(nT2D), it has constant success rate to return the correct polynomial. Compared with the previous algorithms over general finite field, our algorithm has better complexity in the parameters n, T and D, and is the first one to achieve the complexity of fractional power about D, while keeping linear in n and T. A key technique is a randomization which makes all the coefficients of the unknown polynomial distinguishable, producing a diverse polynomial. This approach, called diversification, was proposed by Giesbrecht and Roche (2011). Our algorithm interpolates each variable independently by using O(T) probes, and then uses the diversification to correlate terms in different images. At last, we get the exponents by solving the discrete logarithms and obtain the coefficients by solving a linear system. We have implemented our algorithm in Maple. Experimental results show that our algorithm can be applied to the sparse polynomials with large degree within a few minutes. We also analyze the success rate of the algorithm.
Read full abstract