标签:欧拉函数 欧几里德算法 必须 变换 加密 加密算法 曲线 isp eve
常用加密算法主要分两类,即对称加密和非对称加密
对称加密算法有AES非对称加密算法有RSA和DSA(椭圆曲线)
步骤 | 说明 | 描述 | 备注 |
---|---|---|---|
1 | 找出质数 | P 、Q | - |
2 | 计算公共模数 | N = P * Q | - |
3 | 欧拉函数 | \[φ(N) = (P-1)(Q-1)\] | - |
4 | 计算公钥E | 1 < E < φ(N) | E的取值必须是整数E和 φ(N) 必须是互质数 |
5 | 计算私钥D | E * D % φ(N) = 1 | \[E*D-φ(N)*Y=1\] 扩展欧几里德算法 |
6 | 加密 | C = M E mod N | C:密文 M:明文 |
7 | 解密 | M =C D mod N | C:密文 M:明文 |
(G^B mod P)^A mod P = G^(B*A) mod P
= G^(A*B) mod P
(G^A mod P)^B mod P = G^(A*B) mod P
至此,A 和 B 计算出来的密钥是一致的。
窃听者能获取到的信息有:P、G、G^A mod P、G^B mod P。通过这 4 个值想计算出 G^(A*B) mod P 是非常困难的。
如果能知道 A 和 B 任意一个数,就可以破解上面所有步骤,并算出最后的共享密钥。但是窃听者只能获取到 G^A mod P、G^B mod P,这里的 mod P 是关键,如果是知道 G^A 也可以算出 A,但是这里是推算不出 A 和 B 的,因为这是有限域(finite field) 上的离散对数问题
x | x |
---|---|
Alice和Bob同意使用模数\[p=23\]和基数\[g=5\](这是一个原始根模 23)。 | \[p=23 g=5\] |
Alice选择一个秘密整数\[a=4\],然后发送Bob \[A=g^amodp\] | \[A = 5^4 mod 23 = 4\] |
Bob选择一个秘密整数\[b=3\],然后发送Alice \[B=g^bmodp\] | \[B = 5^3 mod 23 = 10\] |
Alice计算\[s=B^a mod p\] | \[s =10^4 mod23= 18\] |
Bob计算\[s=A^bmodp\] | \[s=4^3mod23=18\] |
AES加密主要分4步
解密为加密的逆过程
标签:欧拉函数 欧几里德算法 必须 变换 加密 加密算法 曲线 isp eve
原文地址:https://www.cnblogs.com/quanee/p/11747045.html