How to find the time complexity of modular multiplication? There are two number of length m bits. How do I prove that the complexity of modular multiplication of these two numbers is $O(m^2)$.
Hello, welcome to crypto.SE.

This is not cryptography, but I will answer it with a simplified example to give you the intuition. Lets consider $123 \times 456$.

    123
  x 456
  -----
    738
   615
+ 492
-------
  56088


Right ? 

How did you get $738$? Obviously you did $6 \times 3 + 6 \times 20 + 6 \times 1$. Therefore you made 3 multiplications.
Should the first number be $m$ long, you would have had $m$ multiplications.
Because the second number is also $m$ long, you would have to do this $m$ times hence the $O(m^2)$.



From the Handbook of APPLIED CRYPTOGRAPHY, page 71


  Let $n$ be q positive integer. As before, the elements of $Z_n$ 
  will be represented by the integers $\{0,1,2 ..., n-1 \}$.
  
  Observe that if $a,b \in Z_n$, then
  $$(a+b)\mod n = \begin{cases}a+b, &amp;\text{if}\ a + b &lt; n\\
a+b-n &amp;\text{if}\ a + b \ge n\\ \end{cases}$$


Note that in term of bit complexity we are in $log(n)$


  Hence modular addition (and subtraction) can be performed without the need of a long division. Modular multiplication of $a$ and $b$ may be accomplished by simply multiplying $a$ and $b$ as integers, and then taking the remainder of the result after division by $n$.


Without any optimizations, note that taking the reminder is just applying at most $m$ subtraction of $m$.
Hence a modular multiplication is at most $2 \times m^2$ operations therefore $O(m^2)$ (and bitwise complexity $O(log^2(m))$).