# 加密 术语: ``` 明文 plain text 密文 cipher text 秘钥 key 加密 encrypt 解密 decrtpt 加密算法 ``` ## 对称加密 加密解密的秘钥是同一个 ``` 明文 秘钥加密 密文 秘钥解密 明文 ``` eg: AES ## 非对称加密 加密解密的秘钥不是同一个 ``` 明文 公钥加密 密文 私钥解密 明文 ``` eg: RSA |加密分类 | 优点 | 缺点 |- | - | - |对称加密 | 速度快 | 消息容易被破解 |非对称加密 | 速度慢 | 消息不容易被破解 ## 身份认证 - 加密信息:公钥加密 -> 私钥解密 - 身份认证:私钥加密 -> 公钥解密 ## 摘要算法 摘要算法(Digest Algorithm)即:散列函数、哈希函数(Hash Function) 作用:保证数据完整性 ``` 固定长度字符串 = Hash(任意长度字符串) ``` 好的摘要算法: - 不可逆 - 难题友好性 - 发散性 - 抗碰撞性 常见算法:MD5、SHA1、SHA2(SHA224、SHA256、SHA384) ## 数字签名 ``` 发送方: 原文 -> hash -> 签名 -> private key -> 密文 接收方: 密文 -> public key -> 明文 -> hash -> 签名 ``` ## 数字证书 - 公钥 - 所有者 - 颁发者 使用场景:https