License | BSD-style |
---|---|

Maintainer | Vincent Hanquez <vincent@snarc.org> |

Stability | experimental |

Portability | Good |

Safe Haskell | None |

Language | Haskell2010 |

# exponentiation

Compute the modular exponentiation of base^exponant using algorithms design to avoid side channels and timing measurement

Modulo need to be odd otherwise the normal fast modular exponentiation is used.

When used with integer-simple, this function is not different from expFast, and thus provide the same unstudied and dubious timing and side channels claims.

with GHC 7.10, the powModSecInteger is missing from integer-gmp (which is now integer-gmp2), so is has the same security as old ghc version.

Compute the modular exponentiation of base^exponant using the fastest algorithm without any consideration for hiding parameters.

Use this function when all the parameters are public,
otherwise `expSafe`

should be prefered.