# GATE | Gate IT 2007 | Question 17

Exponentiation is a heavily used operation in public key cryptography. Which of the following options is the tightest upper bound on the number of multiplications required to compute bn mod m,0≤b,n≤m ?
(A) O(logn)
(B) O(√n)
(C) O(n/logn)
(D) O(n)

Explanation:

This Problem can be solved using Divide And Conquer Paradigm

Algorithm :

```
Binary_exp(b,n)                            // Compute bn mod m

{

if(n == 0)

Return 1;

Else if(n == 1)

Return b mod m;

Else

{

Half = Binary_exp(b,n/2);

if(n%2 == 0)                                // n is even

Return (Half*Half) mod m;

Else                                    // n is odd

Return (((Half*Half) mod m)*n) mod m;

}

}

```

Recurrence Relation for computing the time complexity of the above given algorithm is
T(n) = T(n/2) + constant = (log2n)

This solution is contributed by Pranjul Ahuja.

Quiz of this Question

My Personal Notes arrow_drop_up
Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.