关于对称加密,非对称加密,以及哈希函数一些概念和作用(复习)

哈希函数又称为单向散列函数,任意长度经过哈希函数变成一个固定的值,且具有不可逆性。输入相同,输出一定相同,不同的输入数据想要获得相同的输出很难,概率很低。
常见的哈希算法如:MD5、SHA1(有衍生系列)、HMAC(基于秘钥的哈希运算)保证了完整性和来源真实性
可用作判断数据的完整性,例如A发送数据以及经过哈希后的值,B接受使用相同的哈希函数计算的值与A发送的值作为对比
判断数据的完整性(即是否被修改),但是并不能判断数据的真实性,即数据是否是A本人发送,有可能是C伪装成A。

对称加密算法:使用相同的秘钥来加密解密,秘钥分发困难(通过网络发送秘钥,被截取危险)。适用于大量数据的加密
如:DES(数据加密标准)3DES(三次的DES) AES(高级加密标准)速度快,安全级别高
非对称加密算法:使用公钥和私钥,使用对方的公钥加密,对方使用自己的私钥解密,公钥公开也不怕被截取。适用于少量数据的加密
如:RSA ECC椭圆曲线密码编码学

数字签名:
【关于对称加密,非对称加密,以及哈希函数一些概念和作用(复习)】其实就是利用算法(不一定是非对称算法)对原文hash值加密,然后附着到原文的一段数据。数字签名的作用就是验证数据来源以及数据完整性!解密过程则称为数字签名验证。(数据的真实性,不可抵赖)

  1. 如果中间人同时篡改了Email正文和数字签名,那B收到邮件无法察觉啊。
    答案:数字签名的生成需要对方私钥,所以数字签名很难被伪造。私钥都能弄丢?
  2. 公钥是公开的并且可以自行导入到电脑,如果有人比如C偷偷在B的电脑用自己公钥替换了A的公钥,然后用自己的私钥给B发送Email,这时B收到邮件其实是被C冒充的但是他无法察觉。
    答案:确实存在这种情况!解决办法就是数字证书(机构颁发数字证书防止冒充)

    推荐阅读