首页 理论教育 的加密算法

的加密算法

时间:2022-10-31 理论教育 版权反馈
【摘要】:这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。PGP软件使用RSA算法巧妙地实现了IDEA对称密钥的安全传递问题。而接收者将用自己的RSA私钥解密IDEA对称密钥,最后用该对称密钥解密密文消息。随机数产生后经过单向散列算法处理将生成对称密钥。这样的链式加密既实现了IDEA算法加密电子文件的快捷性,同时也实现了IDEA对称密钥的安全传输。

5.1.2 PGP的加密算法

PGP密钥体系包含对称加密算法(IDEA)、公钥加密算法(RSA)、单向散列算法(MD5)以及随机数产生器(从用户击键频率产生伪随机数序列的种子),每种算法都是PGP不可分割的组成部分。因此,PGP常被称做一个复合型加密系统。

(1)IDEA算法。因为RSA算法计算量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法,IDEA是一个有专利的算法,其加解密速度比RSA快得多,所以实际上PGP是以一个随机生成密钥(每次加密不同)用IDEA算法对明文加密,然后用RSA算法对该密钥加密。这样收件人同样是用RSA解密出这个随机密钥,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。

(2)RSA算法。PGP软件使用RSA算法巧妙地实现了IDEA对称密钥的安全传递问题。例如,发送方A可以用接收方B的RSA公钥加密IDEA对称密钥,然后传输加密后的对称密钥。而接收者将用自己的RSA私钥解密IDEA对称密钥,最后用该对称密钥解密密文消息。

(3)MD5算法。MD5是一种单向散列算法,它是由Ron Rivest在MD4的基础上发展而来,其输入可以是任意长的文件,输出为128bit的消息摘要。该算法对输入按512bit进行分组,并以分组为单位进行处理。在PGP软件中,MD5以单向散列算法形式实现单向用户口令的变化和对信息的数字签名。

(4)随机产生器。PGP使用两个伪随机数产生器,一个是ANSI X9.17发生器,另一个是从用户击键的时间和序列中计算熵值从而引入随机性。随机数产生后经过单向散列算法处理将生成对称密钥。

从PGP密钥体系可以看出,PGP首先产生一个随机生成密钥(每次加密不同),并由IDEA算法对明文加密,然后用RSA密钥再对该对称密钥加密。这样,收件人同样是用RSA解密出随机密钥,再用IEDA算法解密文件。这样的链式加密既实现了IDEA算法加密电子文件的快捷性,同时也实现了IDEA对称密钥的安全传输。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈