博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非对称加密的常见应用场景
阅读量:4709 次
发布时间:2019-06-10

本文共 815 字,大约阅读时间需要 2 分钟。

参考资料:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

1. 信息加密

  收信者是唯一能够解开加密信息的人,因此收信者手里的必须是私钥。发信者手里的是公钥,其它人知道公钥没有关系,因为其它人发来的信息对收信者没有意义。

2. 登录认证

    客户端需要将认证标识传送给服务器,此认证标识(可能是一个随机数)其它客户端可以知道,因此需要用私钥加密,客户端保存的是私钥。服务器端保存的是公钥,其它服务器知道公钥没有关系,因为客户端不需要登录其它服务器。

3. 数字签名

  数字签名是为了表明信息没有受到伪造,确实是信息拥有者发出来的,附在信息原文的后面。就像手写的签名一样,具有不可抵赖性和简洁性。

  简洁性:对信息原文做hash,得到digest。信息越短加密的耗时越少。

  不可抵赖性:信息拥有者要保证签名的唯一性,必须是唯一能够加密digest的人,因此必须用私钥加密(就像字迹他人无法学会一样),得到签名。如果用公钥,那每个人都可以伪造签名了。

4.数字证书

  问题起源:对1和3,发信者怎么知道从网上获取的公钥就是真的?没有遭受中间人攻击?

  这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是CA(Certificate Authority),证书中心。

  CA用自己的私钥对信息原文所有者发布的公钥和相关信息进行加密,得出的内容就是数字证书。

  信息原文的所有者以后发布信息时,除了带上自己的签名,还带上数字证书,就可以保证信息不被篡改了。信息的接收者先用CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的公钥是真正的公钥,然后就能通过该公钥证明数字签名是否真实了。

  

  

  

  

转载于:https://www.cnblogs.com/bigwalnut/p/3543691.html

你可能感兴趣的文章
Codeforces Round #329 (Div. 2)D LCA+并查集路径压缩
查看>>
移动应用开发测试工具Bugtags集成和使用教程
查看>>
Java GC、新生代、老年代
查看>>
Liferay 6.2 改造系列之十一:默认关闭CDN动态资源
查看>>
多线程
查看>>
折线切割平面
查看>>
获取当前路径下的所有文件路径 :listFiles
查看>>
图像形态学及更通用的形态学的原理及细节汇总
查看>>
linux开启coredump的3种方法
查看>>
数据驱动之 python + requests + Excel
查看>>
小鸡啄米问题求解
查看>>
Castle.net
查看>>
HDU1532 网络流最大流【EK算法】(模板题)
查看>>
PHP使用curl替代file_get_contents
查看>>
Webstorm通用设置
查看>>
jquery倾斜的动画导航菜单
查看>>
JAVA IO流的简单总结+收集日志异常信息
查看>>
类型转换与键盘输入
查看>>
面向对象(2)
查看>>
运算符(1)
查看>>