基本信息
文件名称:PGP算法流程及安全性分析.pdf
文件大小:86.73 KB
总页数:2 页
更新时间:2025-03-31
总字数:约2.28千字
文档摘要

摘要电子邮件是分布式网络环境中使用最为普遍的应用过程,其安全可靠性要求系统能提

供保密和认证业务,而pgp恰好提供了保密和认证服务。pgp是一个基于rsa公钥加密体系

的邮件加密软件,本文介绍了pgp的算法设计和工作流程并分析了它的安全性,发现pgp具

有较高的安全性。

关键词pgp认证安全性

中图分类号:tp393文献标识码:a

1pgp算法的工作流程

1.1数字签名

发送消息时pgp操作的第一步是数字签名过程。数字签名的工作步骤如下:

(l)发送者形成一个消息;

(2)pgp采用mds算法派生消息的128bit散列码;

(3)发送者规定此次操作所采用的秘密密钥,且提供一个密语,以此启动pgp解密发送

者的秘密密钥;

(4)pgp用发送者的秘密密钥采用rsa算法加密散列码,将结果附到该消息。对应发送

者的公钥的密钥id附到签名后。

接收者的pgp按以下3个步骤处理数字签名:

(1)pgp取附到签名后的密钥id,以此从公开密钥环上提取正确的公开密钥;

(2)pgp以发送者的公钥采用rsa算法解密,恢复散列码;

(3)pgp将此消息派生出散列码,且与解密的散列码比较。若两者一致,消息得到确认

予以接收。

mds与rsa的组合构成有效的数字签名机制。鉴于rsa体制的强度,接收者应确信只有

相应秘密密钥的拥有者才能产生此签名。此外鉴于mds的强度,接收者还能确信,没有别人

能产生与此散列码相配的新消息,从而也确信原消息的签名。

1.2消息加密

pgp提供的另外一项基本服务是加密,即对需传输的消息或在本地需存贮的文件进行加

密。在这两种情况下,采用普通加密算法idea。

自然,人们必须解决密钥分配问题。对pgp而言,每一个密钥仅使用一次,即对每个消

息产生一组128bit随机数作为新的密钥。虽然这个密钥在文件中叫做消息密钥,然而实际上

它仅用一次。正因为它仅用一次,所以消息密钥仅限定在该消息,且与消息一道传输。为

护密钥,将密钥用接收者公开密钥采用rsa算法加密。操作过程如下:

(1)pgp产生128bit随机数,仅用作这次消息的消息密钥。

(2)pgp以此消息密钥采用idea算法对消息加密。

(3)pgp以接收者的公开密钥采用rsa算法加密消息密钥,将结果附到消息后。接收者

的公开密钥id附到已加密的消息密钥之后。

接收端需完成以下4个操作:

(1)pgp取得附到消息的密钥id,以此从秘密密钥环提取正确的秘密密钥。自然一个用

户可能有多于一个的秘密密钥;

(2)接收者提供密语,以启动pgp解密接收者的秘密密钥;

(3)pgp以上述秘密密钥,采用rsa算法解密并恢复消息密钥;

(4)pgp以上述消息密钥采用idea算法解密消息。

对同一个消息采用两种密码服务,首先,对原文消息产生数字签名,并附到消息的后面。

其次,在压缩之后,对已压缩的原文和签名利用idea算法进行加密,且消息密钥用rsa加密。

总之,加密过程完成两种服务,发方用其秘密密钥对消息签名,之后,用消息密钥对消息加

密,用收方的公开密钥对消息密钥加密。

1.3邮件兼容

当使用pgp时,至少传输报文的一部分需要加密,因此,部分或全部的结果报文由任意

的8比特流组成。但由于很多的电子邮件系统只允许使用由ascⅱ正文组成的块,所以pgp

提供了基数64转换,将原始二进制流转化为可打印的ascⅱ字符。

1.4数据分段

电子邮件设施经常受限于最大报文长度(50000个)八位组的限制。为了适应这个限

制,pgp自动将长消息分段使之可以通过电子邮件发送。分段是在所有其他的操作之后进行,

包括基数64转换。因此,会话密钥和签名部分仅在第一个报文段的开始位置出现一次。在

接收端,pgp必须剥掉所在的电子邮件首部,并且重新装配成原来的完整的分组。

2pgp安全性分析

pgp在安全性问题上的审慎考虑体现在pgp的各个环节。pgp程序对随机数的产生是很审

慎的,关键的随机数(像rsa密钥)的产生是从用户敲键盘的时间间隔上取得随机数种子的。

pgp在加密前使用pkzip算法对明文进行预压缩处理。一方面对电子邮件而言,压缩后加密

再经过7bits编码