【学习笔记】对称加密和非对称加密

2020-03-10  本文已影响0人  简爱WindMan

对称加密

1. 要传输'{age:18}',字符串对应有asiii或者unicode,假如这个字符串对应100000,
2. 我们设定密码等于5,密文就等于500000,
3. 收到数据的人知道了密码,直接500000/5=100000,在通过解码就知道传输的内容。

因为密码也是通过http传输的,所以密码就容易泄露,尽管人们加了很多其他防护逻辑用来保证不泄密,但是从理论上会泄密,实现上就一定可能会泄密。

非对称加密,RSA应运而生

1. A要和B通讯,B来生成公钥和私钥,公钥给A用来加密传输的内容,私钥自己留着用来解密传来的内容
下边看B的一顿骚操作:
1. 找两个不想等的质数p和q,
2. 得到n=q*p,其中n转化为二进制的长度决定解密的难度。
3. 欧拉函数: φ(n)=(p-1)*(q-1)
4. 找公钥e:1<e<φ(n),其中e和φ(n)互为质数
5. 找密钥d:e*d/φ(n)....1   e乘以d除以φ(n)余1
设传输内容为m,m的e次幂再除以n,求余数c,c就是加密之后的内容
c的d次幂除以n,求余数m,得到的就是m,这个已经在数学上证明过的。
1. 传输过程中暴露的有:n、e、c
2. 要想解密需要知道的:n、d、c
3. 所以需要求d,因为e乘以d除以φ(n)余1
4. 所以需要求φ(n),因为φ(n)=(p-1)*(q-1)
5. 所以需要求p和q,现在有n,且n=p*q
6. 所以问题就变成了把n分解为p和q
7. 极大数分解质因数,是一个很难的过程
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置
上一篇 下一篇

猜你喜欢

热点阅读