常用安全算法之对称加密算法与非对称加密算法
Posted 架构师之家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用安全算法之对称加密算法与非对称加密算法相关的知识,希望对你有一定的参考价值。
一、对称加密算法是应用比较早的加密算法,技术成熟,在对称加密算法中,数据发送方将明文(原始数据)通过加密算法与加密秘钥加密后,生成密文进行发送;数据接收方收到密文后,通过相同的加密秘钥及相同的算法对加密的密文进行解密,才能使其恢复成可读的明文,在对称加密中,使用的秘钥只有一个,双方使用同一个秘钥进行加密和解密,这就要求加密与解密的双方都必须知道加密的秘钥,对称加密过程如下:
对称加密特点:算法公开、计算量小、加密速度快、加密效率高。优势在于加解密的高速度和使用长秘钥时的难破解性,但是加密算法的安全性完全依赖于秘钥,因此对称加密对秘钥的保护至关重要。
常用对称加密算法:DES算法、3DES算法、AES算法等。
由于计算机运算能力的增强,原版DES密码的秘钥长度变得容易被暴力破解,因此演变出了3DES算法,3DES是DES向AES过度的加密算法,是DES的一个更安全的变形;AES算法是作为新一代的数据加密标准,汇聚了安全性、高性能、高效率、易用和灵活等优点。
二、非对称加密算法又称为公开秘钥加密算法,它需要两个秘钥,一个称为公开秘钥(public key),即公钥;另一个称为私有秘钥(private key),即私钥。公钥与私钥需要配对使用。如果使用公钥进行加密,则只有用对应的私钥才能解密;如果使用私钥进行数据加密,则只有使用对应的公钥才能解密。非对称加密算法实现信息交换过程说明:首先甲方生成一对秘钥,并把其中的一把作为公钥向其他人公开,得到该公钥的乙方使用该秘钥对机密信息进行加密发送给甲方,甲方在使用自己保存的私钥进行解密,如下图示:
非对称算法特点:对称加密算法只有一种秘钥,并且是非公开的,如果要解密就需要让对方知道秘钥,所以保证其安全性就是保证秘钥安全,而一旦秘钥在传输过程中泄露,加密信息就不在安全;非对称加密算法包含两种秘钥,其中一个是公开的,这样就不需要想对称加密那样,需要传输秘钥给对方,大大提高了安全性,非对称加密算法能够保证即使获知公钥、加密算法、加密源代码的情况下,也无法知道私钥以及对公钥加密的密文进行破解。
非对称加密算法加密复杂,加密的速度远远没有对称加密的速度快,为了解决加密速度与加密强度的问题,通常采用对称加密算法与非对称加密算法结合使用,达到时间与安全的平衡:对称加密算法加密速度快,通常用来加密较长的文件,然后使用非对称加密算法来给文件秘钥进行加密,解决了对称加密算法的秘钥分发问题。
非对称加密算法有RSA
对称加密算法DES、3DES、AES与非对称加密算法RSA具体语言实现,请百度。
以上是关于常用安全算法之对称加密算法与非对称加密算法的主要内容,如果未能解决你的问题,请参考以下文章