gmpy2

1
import gmpy2

1、求整数a,b的最大公因数

1
x = gmpy2.gcd(a,b)

2、判断一个数是否为素数

1
x = gmpy2.is_prime(a)

3、判断一个数是否为偶/奇数

1
2
x = gmpy2.is_even(s)  #偶数
x = gmpy2.is_odd(s) #奇数

4、求一个数模x的逆元y

1
y = gmpy2.invert(a,b)   #例 gmpy2.invert(3,11) = 4   3*4=1 mod 11

5、求一个数的x次方

1
x = gmpy2.iroot(a,b)  #a=8,b=3 mpcz(2,True)

6、求一个整数的x次幂和摸y取余

1
x = gmpy2.powmod(a,b,c) #pow(a,b) mod c

7、扩展欧几里得算法

1
2
s = gmpy2,gcdext(e1 , e2)
d , x , y = gmpy2.gcdext(e1 , e2) #x,y是e1,e2的模反元素 d为e1,e2最大公约数 e1*x+e2*y=d

2、from……

1)from Crypto.PublicKey import RSA(公钥解析)

1
2
3
f1 = open("G:\\crpyto learning\\攻防世界\\best_rsa\\publickey1.pem","rb").read()      #读取文件内容
pub1 = RSA.importKey(f1)
n1 = pub1.n #.n 转为长整型