公钥密码和数字签名

作者: Dreamsky_起航 | 来源:发表于2018-05-12 13:41 被阅读8次

公钥密码和数字签名

在目前网络通信的过程中,有两种加密方法被广泛使用:公钥加密数字签名;本文将对这两种方法进行分析和对比;


定义

公钥密码:也就是和我们常说的非对称加密,分为加密解密,消息发送者使用公钥加密,消息传输过程中以密文传输,接受者收到消息之后,用私钥进行解密,就可以拿到消息内容;
数字签名:分为签名验签;消息发送者使用私钥进行签名,消息传输过程中同样以密文传输,但是出来密文之外,还会发送一份消息的明文给接收方,以便接收方进行验签,接收方收到明文和密文之后,会用公钥进行解密,得到明文,然后对比解密后的结果和接收到的明文,一致则验签成功,不一致则证明消息被中途篡改过;

在公钥加密和数字签名过程中,都涉及到一个共同的东西---秘钥对(公钥和私钥);但是在使用过程中却又有一些区别:具体如下:

公钥密码 数字签名
公钥 发送者加密使用 接受者验签使用
私钥 接受者解密使用 发送者签名使用
公钥持有者 加密个人持有 需要验证签名的任何人都可以持有
私钥持有者 解密个人持有 签名人持有
传送内容 密文 密文 + 明文

过程和特点

过程

公钥密码使用过程如下:


公钥密码.jpg

数字签名使用过程如下:


数字签名.jpg

特点

公钥密码:公钥发送消息的人持有,私钥接收消息的人持有,均为私人持有;只要保证秘钥安全,就可以保证通信安全;
数字签名:公钥接受消息的人持有,所有人均可持有,私钥发送消息的人持有,私人持有;保证私钥安全就可保证签名的准确性;


应用场景

公钥密码
适用于:消息需要秘密传输;
案例:SSL层中,对称秘钥的传输就是应用了非对称加密进行传输;
数字签名
适用于:消息本身可以对外公开,但是需要验证发送方身份的消息;
案例:苹果手机验证APP是否为指定开发者开发;


一些问题:

1.公钥密码和数字签名看似是相反的流程,可不可以公私秘钥互换,在公钥密码过程中用私钥加密、公钥解密;在数字签名过程中用公钥签名、私钥验签;

答案是不一定的,应为在日常过程中,大多采用的非对称加密算法为RSA,而在RSA算法中,两个过程是可逆的,但是并不是所有非对称加密算法都是可逆的。所以,严格来说,这个过程是不可以的;

2.在公钥密码和数字签名的过程中,都会有一步发送秘钥的过程,那么在这一步有中间人将秘钥替换也是存在风险的;

这个是肯定的,对于这种中间人攻击,就不在数字签名和公钥密码的解决范围之内了,这个请参照数字证书及证书链的验证

3.公钥密码比较好理解,但是为什么私钥加密就可以作为签名?

在数字签名特点中,有一个是私钥只有发送者持有,正是因为这一特点,再加上公私秘钥的一个特点:“没有该私钥的人是不能生成对应公钥可以解开的密文的”,就有一个结论:持有公钥的人能解开的密文,就是该可信机构或人发出的消息;而私钥和私钥加密的信息就相当于该机构或人的签名

4.数字签名中,单项散列的作用?

消息体有可能为比较大的数据,而非对称加密的过程又是比较消耗性能,故在为防止对数据比较大的消息签名是消耗时间相对比较长,对消息进行了单向散列的操作,散列过后为固定长度字符串,签名速度相对来说要快很多;

相关文章

  • 双钥加密 数字签名 数字证书 HTTPS SSH

    密码学笔记 公钥和私钥的解释 数字签名是什么&HTTPS ssh

  • 数字签名

    数字签名学习参考资料 数字签名总结: 公钥和私钥是成对的,它们互相解密。公钥加密,私钥解密。私钥数字签名,公钥验证。

  • 公钥密码和数字签名

    公钥密码和数字签名 在目前网络通信的过程中,有两种加密方法被广泛使用:公钥加密 和 数字签名;本文将对这两种方法进...

  • 应用程序数字签名技术

    什么是公钥和私钥 公钥加密,私钥解密私钥加密,公钥解密 苹果的数字签名

  • 漫说数字签名digital signature(转载)

    前提:公钥和私钥是成对的,它们互相解密。加密数据:公钥加密,私钥解密数字签名:私钥加密,公钥解密 一、漫说公钥与私...

  • 9. 密码学专题 - 数字签名

    密码学专题 - 数字签名 9. 数字签名 数字签名是消息认证码的公钥等价形式,其一般框架如图 2-6 所示。这次 ...

  • Google Cloud SSH 连接配置

    设置当前用户及root用户的密码 在本地生成私钥和公钥 复制公钥及导入公钥 复制公钥 导入公钥 添加密码验证登陆 ...

  • 21_数字签名、证书

    数字签名的概念 数字签名的概念 数字签名其实就是将公钥密码反过来使用,由消息的发送者通过“私钥”生成签名,由消息的...

  • 图解密码技术读书分享

    [toc] 1. 密码技术涉及的内容 对称密码 公钥密码 单向散列 消息认证码 数字签名 伪随机数生成器 我们不应...

  • 应用签名--数字签名?代码签名?双层代码签名?

    数字签名 数字签名(又称公钥数字签名、电子签章等)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术...

网友评论

    本文标题:公钥密码和数字签名

    本文链接:https://www.haomeiwen.com/subject/gdgqdftx.html