12.1.4 基于双钥技术的现代加密方法 |
|---|
| WAP技术站:www.wapease.com
|
(1) 通信双方统一两个数D和H。D与H无须对外保密。 (2) 双方各自选择一个秘密的数X,并把包括D,H和X的计算结果Y发送给对方。例如:假设甲方选中了X1,则发出了Y1;乙方选中了X2,则发出了Y2。 (3) 根据算法,双方各自使用自己选择的X和收到的Y,计算出一个统一的数字K。K就是双方进一步通信的会话密钥。具体地讲,K可以从(X1,Y2)或(X2,Y1)中导出,但却不能从(Y1,Y2)中得到。这一点的重要意义在于,窃听者虽然可以得到D,H,Y1和Y2,甚至密文,但由于不知道X1和X2的值,因此无法获得导出正确的会话密钥K,从而也就无法破解密文。 (4) 以后通信时,双方便使用K进行加密和解密。 Diffie-Hellman算法的弊端在于它需要收发双方必须同时参与密码的生成过程,所以它不适合于电子函件的加密,因为电子函件在收信人不在场时也应当能够发送过去。
Merkle-Hellman背包算法 1977年,Merkle与Hellman合作设计了使用背包问题实现信息加密的方法。其工作原理是:假定甲想加密,则先产生一个较易求解的背包问题,并用它的解作为专用密钥;然后从这个问题出发,生成另一个难解的背包问题,并作为公共密钥。如果乙想向甲发送报文,乙就可以使用难解的背包问题对报文进行加密,由于这个问题十分难解,所以一般没有人能够破译密文;甲收到密文后,可以使用易解的专用密钥解密。 该算法提出以后,经过多年的探讨和研究,最终发现了它的一个致命错误,使之失去了任何保密的实用价值。 |
| 上一篇:12.1 数据加密原理与实现方法 下一篇:RSA加密算法 |
|
