对称密码体制和非对称密码体制的特点比较

本文介绍了密码体制中的两种主要类型:私用密钥加密技术和公开密钥加密技术。详细阐述了对称加密(如DES、TripleDES)和非对称加密(如RSA)的工作原理、优缺点及应用场景。


密码体制分为私用密钥加密技术(对称加密)和公开密钥加密技术(非对称加密)。  
(一)、对称密码体制
对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。比较典型的算法有DES(Data Encryption Standard数据加密标准)算法及其变形Triple DES(三重DES),GDES(广义DES);欧洲的IDEA;日本的FEAL N、RC5等。DES标准由美国国家标准局提出,主要应用于银行业的电子资金转帐(EFT)领域。DES的密钥长度为56bit。Triple DES使用两个独立的56bit密钥对交换的信息进行3次加密,从而使其有效长度达到112bit。RC2和RC4方法是RSA数据安全公司的对称加密专利算法,它们采用可变密钥长度的算法。通过规定不同的密钥长度,,C2和RC4能够提高或降低安全的程度。
对称密码算法的优点是计算开销小,算法简单,加密速度快,是目前用于信息加密的主要算法。尽管对称密码术有一些很好的特性,但它也存在着明显的缺陷,包括: l)进行安全通信前需要以安全方式进行密钥交换。这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。例如,某一贸易方有几个贸易关系,他就要维护几个专用密钥。它也没法鉴别贸易发起方或贸易最终方,因为贸易的双方的密钥相同。另外,由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。2)规模复杂。
 
(二)、非对称密码体制
非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。公钥密码体制的算法中最著名的代表是RSA系统,此外还有:背包密码、McEliece密码、Diffe_Hellman、Rabin、零知识证明、椭圆曲线、EIGamal算法等。
非对称密码体制的优点在于:首先,在多人之间进行保密信息传输所需的密钥组和数量很小;第二,密钥的发布不成问题;第三,公开密钥系统可实现数字签名。缺点:公开密钥加密比私有密钥加密在加密/解密时的速度慢。
从上述对对称密钥算法和非对称密钥算法的描述中可看出,对称密钥加解密使用的同一个密钥,或者能从加密密钥很容易推出解密密钥;②对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点,非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。

对称密码体制非对称密码体制在多个方面存在区别与联系。 在计算效率方面,二者存在明显区别。对称密码体制解密速度快,数据处理能力强,计算开销占用内存空间小,便于软硬件实现,在处理大规模数据时优势明显。相比之下,非对称密码体制存在密钥长度过长、计算效率不高等不足。例如,即使安全等级最高、密钥长度最短的椭圆曲线公钥密码体制的密钥长度相同安全等级的对称密码体制相比仍有差距,160比特的椭圆曲线密码体制80比特的对称密码体制安全等级相同[^2]。 从基本原理来看,对称密码体制使用相同的密钥进行加密解密,其模型包含明文、加密算法、密钥、密文解密算法这五个基本成分。加密算法对明文进行各种代替替换,根据特定密钥产生不同输出的密文,解密算法加密算法的逆运算。该体制要求加密算法足够强,且发送者接收者必须以安全形式获得并保证密钥安全,其安全首要在于密钥的保密性。而非对称密码体制使用一对密钥,即公钥私钥,公钥用于加密,私钥用于解密。 在应用场景上,基于SSL协议通讯双方可以协商一个用于对称加密的密钥,该密钥依赖通讯双方的证书、私钥等来协商,协商好后通讯双方用该密钥对数据进行加解密以保证数据安全。非对称密码体制常用于数字签名、密钥交换等场景。 二者的联系在于它们都是密码学中的重要体制,目的都是保障数据的安全性隐私性。在实际应用中,也常结合使用,如先使用非对称密码体制进行密钥交换,再使用对称密码体制进行大量数据的加解密。 ```python # 这里简单示意对称加密非对称加密的概念,并非完整实现 # 对称加密示意 def symmetric_encrypt(plaintext, key): # 简单模拟加密过程 return plaintext + key def symmetric_decrypt(ciphertext, key): # 简单模拟解密过程 return ciphertext - key # 非对称加密示意 def asymmetric_encrypt(plaintext, public_key): # 简单模拟加密过程 return plaintext * public_key def asymmetric_decrypt(ciphertext, private_key): # 简单模拟解密过程 return ciphertext / private_key ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值