1、什么是加密以及解密?
- 出于信息保密的目的,在信息传输或存储中,采用密码技术对需要保密的信息进行处理。使得处理后的信息不能被非受权者(含非法者)读懂或解读,这一过程称为加密。
- 在加密处理过程中,需要保密的信息称为“明文,经加密处理后的信息称为“密文”。加密即是将“明文”变为“密文”的过程。
- 与此类似,将“密文”变为“明文”的过程被称为解密。
2、加密方式的分类
(1)对称加密
对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。
对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
-
对称加密通常使用的是相对较小的密钥,一般小于256 bit。
因为密钥越大,加密越强,但加密与解密的过程越慢。
如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;
但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。
密钥的大小既要照顾到安全性,也要照顾到效率,
-
对称加密的一大缺点是,密钥的管理与分配。
换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。
在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。
现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
(2)非对称加密
非对称加密为数据的解加密与密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。
私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。
-
非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人:银行,才能对你的消息解密。
与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。
虽然非对称加密很安全,但是和对称加密比起来,它非常的慢。所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。
非对称加密的典型应用是数字签名。
-
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)。
目前最常用的非对称加密算法是RSA算法。
(3)总结:
对称加密:
- 定义:加密和解密使用的是同一个秘钥,例如:
AES
,MD5
。 - 特点:加密和解密效率高,安全性低。
非对称加密:
- 定义:加密使用的是公钥,解密使用私,例如:
RSA
。 - 特点:安全性高,加密解密效率低。