`
manjingtou
  • 浏览: 120466 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

数字签名流程

 
阅读更多

 

数字签名流程个图

 

上面的图描述了用户A和用户B间通讯流程。

1,用户A将明文通过hash运算(散列)生成数字摘要1,用户A用自己的私钥对摘要进行加密生成数字签名1.

2,用户A将明文+数字签名1+A用户的公钥(证书),准备将这些信息发到B用户,但是这个过程中,用户A明文是不安全的是可见的,我们需要对这三个文件进行加密。

3,用户A通过一个“对称加密”(对称加密速度很快,知道密钥就可以解密)对其进行加密将其生成秘文1,要想这次加密成功关键就是要保护这个对称加密的密钥1

4,为了保证上面的加密安全,使用用户B的公钥对“对称加密的密钥1”进行了一次加密处理,生成一个数字信封1,此时这个数字信封1+秘文1打包装入就可以发送给用B了。

5,用户B接收到信,看到数字信封1+秘文1,用户B用私钥解密数字信封1,得到了“对称加密的密钥1”,通过这个对称加密密钥对秘文1解密,就可以解开密文。

6,解开秘文1解则看到了A将明文+数字签名1+A用户的公钥(证书),这三个文件,这个时候已经可以确认是用户A发的信息了,但是还要验证文件在传输过程中是否被篡改。

7,用户B将明文通过hash运算(散列)生成数字摘要2,同时用得到的A用户的公钥(证书)对数字签名1进行解密生成原来的数字摘要1,如果此时的数字摘要1数字摘要2相同那么说明整个过程是安全而有效的。

 

 

  • 大小: 50.5 KB
分享到:
评论

相关推荐

    Android应用程序数字签名流程参考资料

    下面将详细介绍Android应用程序的数字签名流程。 首先,我们要了解数字签名的概念。数字签名是一种密码学技术,它通过使用私钥对数据进行加密来创建一个独特的电子"签名"。这个签名可以被任何拥有对应公钥的人验证...

    数字签名克隆器

    在合法的软件开发和分发过程中,应遵循正确的数字签名流程,确保所有操作都符合相关法律法规,以保护用户的安全和隐私。 总结来说,"数字签名克隆器"是一个能够复制数字签名的工具,这在某些情况下可以用于免杀目的...

    数字签名包

    在开发和测试阶段,开发者可能需要自签证书来模拟正式的数字签名流程。makecert.exe可以帮助创建自签名证书或者CA(证书颁发机构)证书,这些证书可以用于对代码进行签名,虽然它们不被公众信任,但在本地开发环境中...

    applet数字签名

    **Applet的数字签名流程** 1. **生成密钥对**:首先,开发者需要使用Keytool工具生成一对密钥,包括私钥和公钥。私钥用于签名,公钥则分发给用户用于验证。 2. **签名Applet**:使用私钥对Applet的字节码进行签名,...

    Java加密和数字签名编程快速入门

    - 编写一个完整的数字签名流程,包括签名和验证。 四、安全注意事项 - 避免硬编码密钥:密钥应存储在安全的位置,如密钥库,避免在代码中暴露。 - 选择合适的加密算法:不同的应用场景需要考虑算法的安全性和效率。...

    如何对驱动进行数字签名和禁用数字签名强制

    以上提到的步骤和方法涵盖了数字签名的基础知识、禁用签名强制的操作流程以及针对特定产品的安装注意事项。这些知识点对于从事IT开发、系统管理或对安全有高要求的用户来说是非常重要的。正确地理解和执行这些操作,...

    数字签名添加器,数字签名添加工具

    然而,用户必须警惕潜在的伪造签名风险,选择可信的数字签名工具,并确保遵循正确的使用流程。在使用数字签名添加器时,应确保自己拥有合法的证书,并且不要尝试伪造或冒用他人的签名,以免触犯法律。

    ,易语言软件的数字签名

    在IT行业中,数字签名是一种重要的安全机制,尤其在软件开发和分发领域。它主要用于验证软件的来源和完整性,防止恶意篡改。...通过使用提供的工具和流程,开发者可以有效地为自己的软件添加有效的数字签名。

    常见数字签名简析(SHA1 算法、CRC32 算法)

    - **数字签名流程**:发送方使用其私钥对原始数据的SHA1散列值进行加密,生成数字签名。接收方则使用发送方的公钥解密数字签名,并重新计算原始数据的SHA1散列值。若两者匹配,则证明数据未被篡改。 SHA1 在过去的...

    基于MD5+RSA的数字签名算法的python应用 word 文档 使用说明

    #### 2.2 数字签名流程 1. **消息摘要生成**:发送方使用MD5算法对原始消息进行处理,生成消息摘要。 2. **签名生成**:发送方使用自己的私钥对消息摘要进行加密,生成数字签名。 3. **发送签名与明文**:发送方将...

    电信设备-基于智能密钥盘在移动设备上进行数字签名的方法.zip

    4. 数字签名流程 - 数据准备:首先,需要将待签名的信息进行哈希运算,生成一个固定长度的摘要。 - 签名生成:使用智能密钥盘中的私钥对摘要进行加密,生成数字签名。 - 签名传输:将数字签名和原始信息一起发送给...

    PDF中数字签名设置步骤

    ### PDF中数字签名设置步骤详解 #### 一、前言 在数字时代,电子文档的安全性和可信度变得尤为重要。PDF格式作为最常用的电子文档之一,提供了丰富的功能来确保文档的真实性和完整性,其中数字签名就是一项重要的...

    java 数字签名

    2. **Java中的数字签名流程** - **生成密钥对**:使用`KeyPairGenerator`类生成公钥和私钥。通常使用RSA或DSA等算法。 - **签名过程**:使用私钥对数据进行签名,这涉及到一个哈希过程,通常是SHA-256或MD5。 - *...

    360数字签名

    360数字签名是软件安全领域的一个重要概念,主要用于确保软件的完整性和来源可靠性。..."数字签名添加器.exe"这样的工具则进一步简化了这一流程,使得开发者能够轻松地为自己的软件提供这种安全保障。

    数字签名添加器

    数字签名添加器的使用流程通常包括以下几个步骤: 1. 选择待签名的可执行文件(如"数字签名添加器.exe")。 2. 输入或导入开发者私钥,这需要开发者拥有一个有效的数字证书。 3. 工具计算可执行文件的哈希值,并用...

    jsp数字签名系统

    【标题】"jsp数字签名系统"是一个基于JavaServer Pages(JSP)技术构建的应用程序,其核心功能是实现数字签名的生成与验证。在信息安全领域,数字签名是一种用于确保数据完整性和发送者身份验证的技术,它结合了非...

    数字签名指引

    安装CA根证书是数字签名流程中非常重要的一环,因为它是建立信任链的关键一步,浏览器会利用这个根证书来验证数字证书的有效性。 文档进一步引导用户如何调整IE浏览器的安全设置,包括“自定义级别”的设置调整,以...

    轻松理解数字签名和数字证书

    数字签名通过加密技术实现,具体流程如下: 1. **密钥对生成**:用户(如文中提到的“鲍勃”)生成一对密钥——公钥和私钥。公钥可以公开分享,而私钥必须保密。 2. **公钥分发**:鲍勃将公钥分发给他的朋友们(如...

Global site tag (gtag.js) - Google Analytics