I solved it like this.
I don't know if this solution is efficient.
public static BigInteger Pow(BigInteger Base, BigInteger exp)
{
BigInteger Result = BigInteger.One;
while(exp > 0)
{
if(!exp.IsEven)
{
Result = BigInteger.Multiply(Result, Base);
}
Base *= Base;
exp /= 2;
}
return Result;
}