Calculating very large exponents in python
geremy condra
debatem1 at gmail.com
Sun Mar 7 15:40:59 EST 2010
On Sun, Mar 7, 2010 at 1:55 PM, Fahad Ahmad <miraclesoul at hotmail.com> wrote:
> Dear All,
>
> i am writing my crytographic scheme in python, i am just a new user to it.
> I have written the complete code, the only point i am stuck it is that i am
> using 256 exponentiation which is normal in crytography but python just
> hangs on it.
>
> g**x [where both g and x are 256 bit numbers , in decimal they are around
> 77]
>
> after reading several forums, i just come to know it can be done using
> numpy, i have installed python(x,y) has has both numpy and scipy installed
> but i am not able to make it happen.
>
> any idea which library, module, or piece of code can solve this mystery :S
>
> sorry for bad english
A couple of things:
1) if you're working with modular exponentiation, remember that pow() takes
three arguments, ie:
a = 222222222222222222222222222
b = 5555555555555555555555555555
pow(a, b, 1200)
will calculate the correct answer (768) very quickly, while
a**b % 1200
has not terminated in the time it took me to compose this
email.
2) sage has a lot of excellent tools for crypto/cryptanalysis that you
may want to take a look at.
3) not saying you don't know what you're doing, but be careful when
rolling your own cryptosystems- even very good cryptographers make
implementation mistakes!
Geremy Condra
More information about the Python-list
mailing list