什么是对称加密和非对称加密?有什么特点?今天我们就来聊聊对称加密和非对称加密。
一、加密概念密码学是研究编制密码和破译密码的技术科学。以数学为基础,在加密和解密、攻击和防守、矛和盾的对抗过程中交替发展起来。从数学算法的角度看,它包含对称密码算法、非对称密码算法和杂凑算法。
明文:明文指的是未被加密过的原始数据。
密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。
密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。
二、什么是对称加密?对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密。
加密过程如下:明文 加密算法 私钥=>密文,
解密过程如下:密文 解密算法 私钥=>明文。
对称加密中用到的密钥叫做私钥,私钥表示个人私有的密钥,即该密钥不能被泄露。其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为“对称”的原因。
特点:对称加密的优点是加密速度非常快,但由于通讯双方需要使用相同的密钥进行通讯,那么在通讯之前通讯双方需要约定密钥,在互联网中,双方是不认识的,如何安全的约定密钥是一个很难解决的问题。并且在约定密钥的过程中密钥一旦被泄露,那么之后通讯中的信息就可能会被别人获取。如何安全的约定密钥是对称加密的一个关键点。
三、什么是非对称加密?非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。
特点:使用公钥加密的密文只有对应的私钥才能解密(就连公钥子集也无法解密自己加密的信息);相反的,使用私钥加密的信息,也只有对应的公钥才能解密(同样的,私钥也不能解密自己加密的信息)。
被公钥加密过的密文只能被私钥解密,过程如下:
明文 加密算法 公钥=>密文,
密文 解密算法 私钥=>明文。
由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
四、常见加密算法比较加密算法分对称加密和非对称加密,其中对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同,此外,还有一类不需要密钥的散列算法。
常见的对称加密算法主要有DES、3DES、AES等,常见的非对称算法主要有RSA、DSA等,散列算法主要有SHA-1、MD5等。
1.散列算法比较
2.对称加密算法比较
3.非对称加密算法比较
对称加密的密钥管理比较难,不适合互联网,一般用于内部系统,安全性只能算中等,但加密速度快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理。非对称加密的密钥容易管理,安全性也较高,但是加密速度比较慢,适合小数据量加解密或数据签名。