私钥和公钥到底是谁来加密、谁来解密?
1. 应用场景
场景1(第一种用法):用于信息加解密,此时使用公钥加密,私钥解密。
场景2(第二种用法):用于数字签名,此时使用私钥签名,公钥验签。
有点混乱,不要去硬记,你只要这样想即可:
- 既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;
- 既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。
2. 同一种道理,我在换种说法:
私钥和公钥是一对,谁都可以加解密,只是谁加密谁解密是看情景来用的:
- 第一种情景是签名,使用私钥加密、公钥解密,用于让所有公钥所有者验证私钥所有者的身份;并且用来防止私钥所有者发布的内容被篡改;但是不用来保证内容不被他人获得。
- 第二种情景是加密,用公钥加密、私钥解密,用于向公钥所有者发布信息,这个信息可能被他人篡改,但是无法被他人获得。
3. 联系,交流、共同成长
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)