[Knowledge]_[apk signature签名]

signature significance签名的意义[2]

防篡改

公钥与私钥[1]

  • 公钥加密
    使用公钥加密原始数据,可以用私钥解密出原始数据,但不能用公钥解密出原始数据
[加密数据]
我朋友f的公钥fg所有人都知道
我想给他发私密消息,所以用他的公钥加密数据,因此只有他可以解密出我要给他说的内容
  • 私钥签名
    使用私钥加密原始数据,可以用公钥钥解密出原始数据
[验证身份]
我的私钥s只有我知道,我的公钥g所有人都知道
eg:
我的朋友f告诉我有人冒称我给他发信息,怎么让我的朋友确定是不是我发的?
用私钥加密数据d,发给我的朋友f,告诉它可以解密出原始数据d,他用公钥解密出d,就可以知道确实是我发送的数据

数据摘要

[保证数据的完整性]
将原始数据根据消息摘要算法提取出特定长度的数据,具有唯一性(不考虑碰撞),也叫做数据指纹

  • MD5
  • SHA-1

数字签名

解决两个问题
  • 来源确实是那个人
  • 数据传递过程中没有被篡改
解决方案
  • 私钥加密 + 数据摘要

Question

  • 上面这个过程需要保证公钥可信,怎么做到?
[Anwser] 数字证书
具有公信力的证书机构基本可以保证公钥的可靠性
数字证书包括的有:
证书的发布机构(Issuer)
证书的有效期(Validity)
消息发送方的公钥
证书所有者(Subject)
数字签名所使用的算法
数字签名
  • HTTPS使用的就是这种数字证书的机制,具体流程见数字签名是什么,其中服务端传送给客户端的数据是用什么加密的,是客户端的公钥吗?

[1]https://blog.csdn.net/21aspnet/article/details/7249401
[2]https://blog.csdn.net/jiangwei0910410003/article/details/50402000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值