RSA的基本介绍
python pow函数的用法:计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
1 | import math |
求明文m,用该函数求c(密文cipher)的d次方,得到:
$$d\equiv e^{-1}$$
$$m=pow(cipher,e^{-1})$$
d是e的乘法逆元 ,e^-1 是乘法逆元,并不是-1次方的意思
利用gmpy2库,来求出明文m
gmpy2这里主要是用于它的开方功能。即:c去开e次方(e=65537)
1 | import gmpy2 |
#注意python环境配置
pip3 install gmpy2
pip3 install Crypto
tips: 一些技巧
exp() 方法返回x的指数,ex。
以下是 exp() 方法的语法:
1 | import math |
log() 返回 x 的自然对数。
以下是 log() 方法的语法:
1 | import math |
注意:log()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
参数
- x – 数值表达式。
- base – 可选,底数,默认为 e。
$$ed\equiv 1 mod \varphi(n)$$
$$m^e mod n \equiv c$$