1、明文和密文
我们将尚未加密过的称之为明文,加密之后的称之为密文
2、加密和解密
加密: 使用某种算法再配合相关密钥将明文加密成密文的过程。
解密: 使用某种算法再配合相关密钥将密文解密成对应的明文的过程。
3、加密两要素
通常在加密过程中会涉及两个要素:加密算法和密钥
4、对称加密与非对称加密
对称加密中涉及的加密密钥和解密密钥是一样的,但是在非对称加密中加密密钥和解密密钥是不一样的,通常情况下成对出现,一个被叫做私钥一个被叫做公钥。用公钥加密的需要用私钥解密,用私钥加密的需要用公钥解密。一般公钥是公开的就像锁一样,私钥是自己保密的,就像钥匙一样。公钥和私钥虽然是一对,但是并不能从一个推出另一个。注意私钥不要泄露,公钥要发送给通信的对方,公钥加密,只有对应的私钥能解开(加密);私钥加密(签名),只有对应公钥可以解开(不可抵赖)。
常见的对称加密算法有AES、DES
常见的非对称加密算法RSA、ECC
5、数字摘要算法
数字摘要算法严格意义上不能被算作加密算法,因为此摘要算法是单向的,即只可以将原文加密成密文,无法将密文解密成原文,所以又被称为摘要算法。数字摘要是用来保证信息完整性的一项技术,它是一种单项加密算法。所谓数字摘要,是指通过单项Hash函数,将需要加密的明文“摘要”成一串固定的长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同的,同样的明文经过相同的摘要算法,即使经过很多次摘要,其摘要结果必定是一致的,并且即使知道了摘要也不能反推出明文。
常见的摘要算法即hash函数有(SHA、MD5),摘要出的结果具有唯一性,单项性,摘要可视为报文的“指纹”
6、数字签名
将上述数字摘要使用发送方私钥进行加密就是数字签名