各种加解密算法分类及其各自的安全性能对比

本文介绍了三种主要的加密算法:非对称密钥加密算法(如RSA、ECC)、对称密钥加密算法(如AES、3DES)及Hash加密算法(如MD5、SHA)。详细对比了它们的安全性、效率及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的加解密算法分三大类:非对称密钥加密算法、对称密钥加密算法、Hash加密算法

一、非对称密钥加密算法(RSA、DSA、ECC、DH等):

非对称加密又叫公开密钥算法(public key algorithm)。这种加密算法是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以又叫做公开密钥算法是由于加密密钥可以公开,即陌生人可以得到它并用来加密信息,但只有用相应的解密密钥才能解密信息。在这种加密算法中,加密密钥被叫做公开密钥,而解密密钥被叫做私有密钥。非对称加密算法的加密、解密的效率比较低。在算法设计上,非对称加密算法对待加密的数据长度有着苛刻的要求。例如RSA算法要求待加密的数据不得大于53个字节。

   表1 非对称密钥加密算法安全性对比:

攻破时间

(MIPS年)

RSA/DSA

(密钥长度)

ECC

密钥长度

RSA/ECC

密钥长度比

104

512

106

5:1

108

768

132

6:1

1011

1024

160

7:1

1020

2048

210

10:1

1078

21000

600

35:1


注:1MIPS年是1MIPS的机器一年所能处理的数据量,如上表中的10000MIPS年,即表示处理速度为10000MIPS的CPU需要1年才能攻破。

表中红色表示不安全、黄色表示中等安全、绿色表示安全级别较高。

由上表可知,ECC算法抗攻击能力强、计算量小、处理速度快、存储空间小、带宽要求低。使得ECC在无线通信安全、IC卡数据加密等领域广泛应用。这些特点必将使其替换RSA等算法,而成为通用的公钥加密算法。然而由于非对称算法本身的复杂性,使得其对大数据加解密的适用性不强,所以非对称算法常与对称加密算法结合使用,即利用非对称算法对对称算法的密钥进行加密传输。

Java代码的DH算法,参考:http://blog.youkuaiyun.com/kongqz/article/details/6302913


二、对称密钥加密算法(DES、3DES、AES等)

对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。

表2 AES与3DES的比较

算法名称

算法类型

密钥长度

速度

解密时间(建设机器每秒尝试255个密钥)

资源消耗

AES

对称block密码

128、192、256位

1490000亿年

3DES

对称feistel密码

112位或168位

46亿年


三、Hash加密算法(MD5、SHA等):

散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。


PGP是目前最优秀,最安全的加密方式。这方面的代表软件是美国的PGP加密软件。这种软件的核心思想是利用逻辑分区保护文件,比如,逻辑分区E:是受PGP保护的硬盘分区,那么,每次打开这个分区的时候,需要输入密码才能打开这个分区,在这个分区内的文件是绝对安全的。不再需要这个分区时,可以把这个分区关闭并使其从桌面上消失,当再次打开时,需要输入密码。没有密码,软件开发者本人也无法解密!PGP是全世界最流行的文件夹加密软件。它的源代码是公开的,经受住了成千上万顶尖黑客的破解挑战,事实证明PGP是目前世界上最安全的加密软件。它的唯一缺点是PGP目前还没有中文版,而且正版价格极其昂贵。因为PGP技术是美国国家安全部门禁止出口的技术。汉化中文版的PGP我还没有发现过。 PGP (Pretty Good Privacy) 是一个可以让您的电子邮件 (E-Mail) 拥有保密功 能的程式。藉此您可以将您的邮件加密 (Encrypt) ,除了您希望的人看得到以外, 没有其它人可以解读。一但加密后,讯息看起来是一堆无意义的乱码 (Random Characters) 。PGP 提供了极强的保护功能,即使是最先进的解码分析技术也无法解 读 (Decrypt) 加密后的文字。 PGP 加密解密不像其它传统加密的方式,而是利用所谓的公开钥匙密码学 (Public Key Cryptology) 为基础。举例来说,当您要传送一封保密信或档案给笔者 时,必须先取得笔者的公开钥匙 (Public Key) ,并且将它加入您的公开钥匙环 ( Public Keyring) 中,然后利用笔者的公开钥匙将信件加密。当笔者收到您加密的信 件后,笔者必须利用其相对的私人钥匙 (Secret Key) 来解密。因此,除非其他人拥 有笔者的私人钥匙,否则无法解开您所加密的信件。同时,笔者在使用私人钥匙解密 时,还必须输入通行码 (Pass Phrase),如此又对加密后的讯息多了一层保护。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值