首页 > IT基础架构 > 网络安全 > 关于密码知识一点解读
前俩天看了篇密码的文章,做了些记录和摘抄。。。。
caesar
select ascii('c') from dual
caesar=099097101115097114(每三位代表一个字母)
对明码099097101115097114加密
--------------------------------------------------------------
1找两个很大的素数(质数)P 和 Q,越大越好,比如 100 位长的,
然后计算它们的乘积 N=P×Q,M=(P-1)×(Q-1)
P:3 Q:5
N:15 M:8
2找一个和 M 互素的整数 E,也就是说 M 和 E 除了 1 以外没有公约数. 并且 满足e
3找一个整数 D,使得 E×D 除以 M 余 1,即 E×D mod M= 1
D:23 E:7 M:8
(E×D)/M:161/8=20..1
x=12
e=7,n=15,d=23
x的E次方 mod n =y y的D次方 mod n =x
select mod((12*12*12*12*12*12*12),15) from dual =3
select mod((3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3*3),15) from dual =12
--------------------------------------------------------------
现在,世界上先进的、最常用的密码系统就设计好了,
其中 E 是公钥谁都可以用来加密,D 是私钥用于解密,一定要自己保存好。
乘积 N 是公开的,即使敌人知道了也没关系。
现在,我们用下面的公式对 X 加密,得到密码 Y。

好了,现在没有密钥 D,神仙也无法从 Y 中恢复 X。如果知道 D,
根据费尔马小定理,则只要按下面的公式就可以轻而易举地从 Y 中得到 X。

这个过程大致可以概况如下

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9307930/viewspace-1021485/ ,如需转载,请注明出处,否则将追究法律责任。