在低加密指数攻击中常见到iroot()和iroot()[ ]函数,下面让我们来看看该函数的作用吧!
iroot(x,n):
对x开n次方,返回整数和布尔值(能被完全开方为整数,则返回True;不能,则返回False)
例如:
from gmpy2 import *
print(iroot(16,2))
print(iroot(27,3))
print(iroot(7,2))
运行结果如下:
(mpz(4), True)
(mpz(3), True)
(mpz(2), False)
iroot(x,n)[0]:
返回开方得到数的整数部分(其实就是把上面运行结果当元组)
iroot(x,n)[1]:
布尔值(能被完全开方为整数,则返回True或1;不能,则返回False或0)
例如:
from gmpy2 import *
print(iroot(15,2)[0])
print(iroot(15,2)[1])
print(iroot(16,2)[0])
print(iroot(16,2)[1])
运行结果:
3
False
4
True