I have:
N = /*500 decimal numbers*/
E1 = 3740453
E2 = 4226171
M^E1 = /*500 decimal numbers*/
M^E2 = /*500 decimal numbers*/
I must use RSA common modulus attack on it.
Using gmpy2.gcdext() i have:
a = 624366
b = -552607
So E1*a+E2*b == 1 is True.
Now i need to know M. For this i must to do follow things:
M = ((M^E1)^a) * ((M^E2)^b) #Just a formula...
In python 2.7 i do like that:
M = pow(ME1,a) * pow(ME2, b) #Where ME1 = M^E1, and ME2 = M^E2
And i have a problem here! Function pow() can't work with negative "b".
How can i calculate last expression ?
gmpy.invert
does. $\endgroup$