数字签名

数字签名(Digital Signature)(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,背后的思想是模仿传统手写签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

数字签名的技术流程描述如下:

  • 发送方使用摘要算法对原文HASH生成信息摘要;
  • 发送方使用自己的私钥对信息摘要进行签名(加密);
  • 发送方将原文本身和已签名的信息摘要一起发送出去;
  • 接收方使用相同的摘要算法对接收的原文本身生成新的信息摘要;
  • 接收方使用发送方的公钥对已签名的信息摘要进行验签(解密),获得信息发送者的信息摘要;
  • 接收方比较这两个信息摘要是否相同,如果相同则确认信息发送者的身份和信息没有被修改过;否则,则表示被修改过。

数字信封

数字信封用于通信双方交换数据。发送方生成一个随机的报文密钥,使用报文密钥对发送内容进行加密(对称算法),再用接收方的公钥对报文密钥加密,最后将加密的报文密钥和加密的发送内容按PKCS#7标准,编码组成一个“数字信封”。发送方还可以为发送内容附加签名。

数字信封机制的具体流程如下:

  • 消息发送方需要预先获得消息接收方的公钥。
  • 消息发送方随机产生对称密钥,并用该密钥和对称算法对消息进行加密形成密文。
  • 消息发送方用消息接收方的公钥和非对称算法对上述的对称密钥进行加密
  • 消息发送方将消息密文和对称密钥密文形成数字信封一起发送给消息接收方
  • 消息接收方收到数字信封(消息密文和对称密钥密文)
  • 消息接收方使用自己的私钥和非对称算法对对称密钥密文进行解密后获得对称密钥明文
  • 消息接收方使用上述对称密钥和对称算法对消息密文解密后获得消息明文

数字签名与数字信封流程相关推荐

  1. 数字签名和数字信封的比较

    参考博客:数字签名与数字信封流程 相同点 都使用了非对称算法对密钥进行了加密 数字签名 重点:防止文本被篡改,防止抵赖 发送方将文本取摘要,再生成一个密钥对摘要加密,同时该密钥使用自己的私钥进行非对称 ...

  2. 数字签名和数字信封之间的介绍

    介绍 公钥密码体制在实际应用中包含数字签名和数字信封两种方式 数字签名 指用户用自己的[私钥]对原始数据的哈希摘要进行加密所得的数据.数字签名定义两种互补的运算:一个用于签名,另一个用于验证.&quo ...

  3. 签名证书、数字签名和数字信封

    签名证书 作为文件形式存在的证书一般有这几种格式:   1.带有私钥的证书    由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥 ...

  4. 数字签名、数字信封、数字证书

    数字签名 发送方使用单向Hash把明文生成数字摘要(单向不可逆) 发送方使用自己的私钥加密数字摘要,形成数字签名 发送方把原始明文和数字签名一起发给接收方,接收方用发送方公钥对数字签名解密,得到数字摘 ...

  5. 数字签名,数字信封的基本原理

    数字签名,就是通过在数据单元上附加数据,或对数据单元进行秘密变换,从而使接收者可以确认数据来源和完整性.简单说来,数字签名是防止他人对传输的文件进行破坏,以及确定发信人的身份的手段.         ...

  6. 摘要算法与数字签名和数字信封

    1.摘要算法:摘要不可逆,hash算法(散列算法),映射结果唯一,结果定长. a) 不同内容的文件生成的散列值一定不同:相同内容的文件生成的散列值一定相同.由于这个特性,摘要算法又被形象地称为文件的& ...

  7. 什么是 数字签名 数字证书 数字信封

    1,数字签名 数字证书 数字信封 当A和B进行通信时,将A发送的消息的hash值先用A的私钥进行加密(数字签名),B存储A的公钥,B收到信息之后利用公钥进行解密,保证信息的完整性和保密性来自于A 存在 ...

  8. 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    此文章转载来源于http://blog.csdn.net/tenfyguo/article/details/40958727点击打开链接 1.  HTTPS 1.1. 什么是HTTPS HTTPS(H ...

  9. 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k. 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密 ...

最新文章

  1. Vue 2 | Part 4 v-bind绑定元素属性和样式
  2. iOS中 支付宝钱包详解/第三方支付 韩俊强的博客
  3. 从传递函数到差分方程的转换
  4. 协同过滤:基于用户的协同过滤itemCF
  5. 第六章 Web开发实战1——HTTP服务
  6. (转)浅析CSS——元素重叠及position定位的z-index顺序
  7. 这五部关于海洋的纪录片,每一帧都犹如壁纸!
  8. 后端学习 - JavaWeb
  9. LOJ#2542. 「PKUWC2018」随机游走
  10. MSSQL · 最佳实践 · 利用文件组实现冷热数据隔离备份方案
  11. 在排序数组中查找数字
  12. 【Linux】进程通信、同步、IO复用代码
  13. html查看订单详情,订单详情、订单状态.html
  14. 云主机服务器centos搭建PHP开发环境
  15. vscode中的maven_在VSCode中使用Maven进行JUnit测试
  16. 全方位教你怎么看懂英国的车牌
  17. 在线支付系列【2】支付宝和微信支付发展史
  18. 4G+5G多卡聚合智能融合通信
  19. 普通程序员怎么赚多份钱?解锁更多赚钱新姿势
  20. 主流 CTR 模型综述

热门文章

  1. 微信公众号推广一些常用方法和Dd_g自己使用的一些偏门的方法
  2. HDU 5242 上海大都会 G题
  3. Python图像处理二:图像像素的访问与数据类型
  4. 亿欧发布《数字孪生城市研究报告》全文
  5. BGRABitmap图像操作9c:同时使用莫林杂点和 phong 阴影制作纹理
  6. 代码阅读方法与最佳实践
  7. 苹果公司的企业文化_【全景标杆】乔布斯给苹果留下了什么样的企业文化?
  8. Hydra Attention学习笔记
  9. 微电网数字孪生 | 智能时代,部署源网荷储一体化管控平台
  10. 地图数据的存储探索(GIS)