证书/秘钥/签名

159 阅读2分钟

名词

  • 明文:加密前的消息
  • 密文:加密后的文本
  • 密钥:只有掌握特殊钥匙的人,才能对加密的文本进行解密,这里的钥匙就叫做密钥
  • 加密:实现机密性最常用的手段是加密,按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密
  • 解密:使用密钥还原明文的过程
  • 加密算法:加密解密的操作过程,所有的加密算法都是公开的,而算法使用的密钥则必须保密

对称加密和非对称加密

对称加密

特点:只使用一个密钥,密钥必须保密,常用的有 AES 算法
优点:运算速度快
缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解,无法做到安全的密钥交换

非对称加密

特点:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,常用的有 RSA 算法
优点:黑客获取公钥无法破解密文,解决了密钥交换的问题
缺点:运算速度非常慢

混合加密

实际场景中把对称加密和非对称加密结合起来使用。

身份认证

  • 公钥加密:私钥解密的作用是加密信息
  • 私钥加密:公钥解密的作用是身份认证

摘要算法

摘要算法就是我们常说的散列函数、哈希函数(Hash Function),它能够把任意长度的数据“压缩”成 固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”。

作用:保证信息的完整性

特性:

  • 不可逆:只有算法,没有秘钥,只能加密,不能解密
  • 难题友好性:想要破解,只能暴力枚举
  • 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
  • 抗碰撞性:原文不同,计算后的摘要也要不同

常见摘要算法:MD5、SHA1、SHA2(SHA224、SHA256、SHA384)

数字签名

数字签名是使用私钥对摘要加密生成签名,需要由公钥将签名解密后进行验证,实现身份认证和不可否 认

image.png

数字证书

数字证书解决“公钥的信任”问题,可以防止黑客伪造公钥。 不能直接分发公钥,公钥的分发必须使用数字证书,数字证书由 CA 颁发

https 协议中的数字证书: image.png