电子邮件安全协议—PGP

2014-07-24 04:31钟泽秀
新媒体研究 2014年8期
关键词:加密算法电子邮件安全性

摘 要 首先介绍电子邮件的传输过程,引出安全电子邮件的重要性,然后介绍电子邮件安全协议PGP,涉及到的IDEA、RSA、MD5加密算法以及其安全性分析。

关键词 电子邮件;PGP;加密算法;安全性

中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)08-0140-02

电子邮件的方便、快速、费用低廉等优点,再加上它不但能传送文字信息,还可以附上图像、声音等功能,这使得电子邮件越来越受人们的欢迎。

1 电子邮件的传输过程

电子邮件通过SMTP和POP协议来进行发送和接受,但由于互联网的开放性,邮件内容是以明文的形式在互联网上进行传递。这使得人们在使用电子邮件时不得不考虑其安全因素,因此如何保证电子邮件的机密性、完整性、真实性和不可抵赖性等方面的问题显得尤为重要。

2 PGP介绍

为了使电子邮件在互联网上能够安全运行,开发出了一些安全电子邮件标准:PGP和S/MIME。其中PGP被广泛运用。

PGP(Pretty Good Privacy)是美国人Phil Zimmermann研究出来的,它是由多种加密算法(IDEA、RSA、MD5、随机数生成算法)组合而成,不但能够实现邮件的保密功能,还可以对邮件进行数字签名,使收信人能够准确判断邮件在传递过程中是否被非法篡改。

3 PGP工作原理

3.1 IDEA算法

IDEA属于对称加密算法,即加密密钥和解密密钥相同,具体的算法规则是,将输入数据以每64为一块,对每块进行分组,分为4组,每组16位,作为第一轮的输入,进行相乘、相加、异或等运行后,形成4个子分组,将中间两间进行交换,作为下一轮的输入,经过8轮运算后,同样得到4个子分组,再将这4组重新连接到一起形成密文共64位。

3.2 RSA算法

RSA属于非对称加密算法,也称公钥算法,即加密密钥和解密密钥不同,并且加密密钥可以完全公开,但由于没有解密密钥,即使非法者窃取到了密文和发送者的加密密钥也无法查看内容,解决了对称加密中对密钥管理困难的问题,RSA的安全性取决于对大数的因式分解,这是数学上的一个难题。

RSA算法描述:

1)随意选择两个大的质数p和q,p不等于q,q和p保密;

2)计算n=pq;

3)欧拉函数,φ(n) = (p-1)(q-1),n公开,φ(n)保密;

4)选择一个小于φ(n)的正整数e,满足gcd(e,φ(n))=1,e是公开的加密密钥;

5)计算d,满足de≡1(modφ(n)), d是保密的解密密钥;

6)加密变换:对明文m∈Zn,密文为C=me mod n;

7)解密变换:对密文C∈Zn,明文为m=Cd mod n;

由于RSA涉及的运算非常复杂,所以在运算速度上很慢,因而RSA算法只适合于对少量数据进行加密,如数字签名,一般情况下,如果要对大量信息进行加密,还是采用对称加密算法,因为对称加密速度比公钥加密速度快得多。

3.3 MD5算法

MD5属于Hash函数,可以将任意长度的输入压缩到固定长度的输出,具有多对一的单向特性。可以用于数字签名、完整性检测等方面。

4 PGP提供的业务

PGP提供的业务包括:认证、加密、压缩、与电子邮件兼容、基数-64变换。

4.1 认证

认证的步骤是:①发信人创建信息M;②发信人使用MD5算法产生128位的消息摘要H;③发信人用自己的私钥,采用RSA算法对H进行加密ER,M‖ER连接后进行压缩得到Z;④将Z通过互联网发送出去;⑤接收者收到信息后首先进行解压Z-1,使用发信人的公开密钥采用RSA算法进行解密得出H,用接收到的M计算消息摘要H,将得出的两个H进行比较,如果相同则接收,否则表示被篡改,拒绝。

4.2 加密

加密的步骤:发信人对信息M进行压缩,采用IDEA算法对其进行加密,用接收者的公钥对密钥进行加密,与M进行连接后发出,接收者采用RSA算法进行解密得到会话密钥,将会话密钥按IDEA算法进行解密,并解压缩,并到原文。

在加密过程中,由于信息相对内容较多,因此对信息的加密采用的是对称加密算法IDEA来实现,而密钥采用的是安全强度为高的非对称加密算法RSA实现,通过IDEA和RSA结合,不但提高了邮件传输的安全性,而且在加解密时间上也缩短了。

4.3 压缩

PGP采用ZIP算法压缩信息,这不但节省了存储空间,而且在传输过程中也节省了时间,另外,在对信息进行加密之前压缩,也相当于进行了一次变换,使其安全性增强。

4.4 与电子邮件兼容

由于电子邮件只允许使用ASCⅡ字符串,而PGP的输出却是8位串,为了与电子邮件进行兼容,PGP采用基数-64变换实现将输出的8位串转换为可以打印的ASCII字符串。

4.5 PGP消息分段和重组

电子邮件中对消息内容的长度有限制的,当大于所限制的长度时要进行分段,分段是在所有处理结束之后才进行,所以会话密钥和签名在第一个段开始位置出现。在接收端,PGP将重新组合成原来的信息。

5 PGP安全性分析

由于PGP是一种混合密码体系,它的安全性在于IDEA、RSA、MD5算法的安全性分析。

5.1 IDEA的安全性

在PGP中采用IDEA的64位CFB模式,很多研究者对IDEA的弱点进行了分析,但也没有找到破译的方法,由此可见,IDEA算法也是比较安全的,它的攻击方法只有“直接攻击”或者是“密钥穷举”攻击。endprint

5.2 RSA的安全性

RSA算法是非对称密码体制,它的安全性基于大整数的素分解的难解性,经过长期的研究至今也未找到一个有效的解决方案,在数学上就是一个难题,因此,RSA公钥密码体制就建立在对大数的因式分解这个数学难题上。

假设密码分析者能够通过n分解因子得到p和q,那么他很容易就可以求出欧拉函数φ(n)和解密密钥d,从而破译RSA,因此,破译RSA比对n进行因式分解难度更大。

假设密码分析者能够不对n进行因子分解就求出欧拉函数φ(n),那么他可以根据de≡1(modφ(n)),得到解密密钥d,从而破译RSA,因为p+q=n-φ(n)+1,p-q=sqr(p+q)^2-4n,所以知道φ(n)和n就可以容易地求得p和q,从而成功地分解n,所以不对n进行因子分解而直接计算φ(n)比对n进行因子分解难度更大。

假如密码分析者能够即不对n进行因子分解也不需要求φ(n)而是直接求得解密密钥d,那么他就可以计算ed-1,其中ed-1是欧拉函数φ(n)的倍数,因为利用φ(n)的倍数可以容易的分解出n的因子。所以,直接计算解密密钥d比对n进行因式分解更难。

虽然n越大其安全性越高,但由于涉及到复杂的数学运算,会影响到运行速度,那么我们实际运用中,如果来决定n的大小使其既安全其速度又不能太慢,目前n的长度为1024位至2048位比较合理。

研究人员建议,在运用RSA算法时,除了指定n的长度外,还应对p和q进行限制:①p和q的大小应该相差不多;②p-1和q-1都应该包含大的素因子;③gcd(p-1,q-1)应该很小。

5.3 MD5的安全性

MD5是在MD4的基础上发展起来的,在PGP中被用来单向变换用户口令和对信息签名的单向散列算法。它的安全性体现在能将任意输入长度的消息转化为固定长度的输出。目前对单向散列的直接攻击包括普通直接攻击和“生日攻击”。

在密码学中,有这么一句话:永远不要低估密码分析者的能力。这也将是密码设计者与密码分析者的较量,事实上绝对不可破译的密码体制在理论上是不存在的,因此,在实际应用中,一个密码体制在使用一段时间后,会换一些新的参数,或者是更换一种新的密码体制,当然,密钥也是要经常换的。由此可见,PGP软件虽然给我们的电子邮件带来了安全性保障,但它也不是永恒的,也许在不久的将来,由于它的弱点被攻击而被新的安全电子邮件产品所代替。

参考文献

[1]刘冰.PGP系统的设计实现与应用[J].重庆工商大学学报(自然科学版),2008(4).

[2]吴志强.基于PGP加密技术中小企事业安全电子邮件系统的设计与实现[D].南昌大学.

[3]文远.PGP安全电子邮件系统研究与实现[D].北京邮电大学.

[4]陈鲁生,沈世镒.现代密码学(第二版)[M].科学出版社,2008.

作者简介

钟泽秀,讲师,硕士,计算机应用技术专业。endprint

猜你喜欢
加密算法电子邮件安全性
长效胰岛素联合口服降糖药治疗2型糖尿病的疗效与安全性
西药临床应用中合理用药对其安全性的影响
关于桥梁设计中的安全性与耐久性问题的几点思考
教育云平台的敏感信息保护技术研究
一种改进的加密算法在空调群控系统中的研究与实现
基于Jave的AES加密算法的实现
小测试:你对电子邮件上瘾了吗?
全氢罩式炉的安全性
有奖问答
AES加密算法的实现及应用