We give an $O(N\cdot \log N\cdot 2^{O(\log^*N)})$ algorithm for
multiplying two $N$-bit integers that improves the $O(N\cdot \log
N\cdot \log\log N)$ algorithm by
Sch\"{o}nhage-Strassen. Both these algorithms use modular
arithmetic. Recently, F\"{u}rer gave an $O(N\cdot \log
N\cdot 2^{O(\log^*N)})$ algorithm which however uses arithmetic over
complex numbers as opposed to modular arithmetic. In this paper, we
use multivariate polynomial multiplication along with ideas from
F\"{u}rer's algorithm to achieve this improvement in the modular
setting. Our algorithm can also be viewed as a $p$-adic version of
F\"{u}rer's algorithm. Thus, we show that the two seemingly different
approaches to integer multiplication, modular and complex arithmetic,
are similar.