zoukankan      html  css  js  c++  java
  • 网络安全系统之二 数字签名

    一、数字签名

      数字签名的作用就是确保发送者A发给接收者B的信息是发送者A发送的,并且在传输过程中数据没有被修改,类拟于写在纸上的物理签名,数字签名是非对称密钥加密技术与数字摘要技术的应用。

      数据字签名的特点:解决了信息伪造、抵赖、冒充和篡改问题,保证了信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。

      在讲解解数字签名之前,我们应该了解信息完整性验证算法

    二、信息完整性验证算法

      报文摘要算法(Message Digest Algorithms),算法的重点在于“摘要”,即对原始数据依据规则进行提取,摘要和原文具有联系性,只要原始数据稍有改动,“摘要”的结果就会不同。因此,摘要可以验证原文是否被修改。

      注: 摘要算法采用“单向函数”即只能从输入数据得到输出的数据,无法从输出的数据得到输入的数据。常见报文摘要算法有SHA1、MD5

      

      (1)SHA1算法

        安全Hash算法,SHA1也是基于MD5的,把信息分为512bit的分组,创建一个160bit的摘要

      (2)MD5算法

        消息摘要算法5(MD5),把信息分为512bit的分组,创建一个128bit的摘要

    三、数字签名和验证的过程

      数字签名和验证过程图例:

      

      数字签名的基本过程(发改方A):

      (1)发送方A使用摘要算法(SHA1、MD5)对需要发送的信息进行摘要运算,生成信息的摘要

      (2)发送方A使用自己的私钥对生成的摘要进行签名,将A的签名摘要和信息一并发给接收方B。

      验证签名的基本过程(接收方B):

      (1)接收方B收到 A的签名摘要 使用A的公钥对摘要进行认证,得到摘要A(由A发过来的)

      (2)接收方B收到 A传过来的信息后,使用摘要算法(SHA1、MD5)对信息进行摘要运算,生成信息的摘要B(由B自己计算出来的)

      (3)将摘要A和摘要B进行对比,如果一致则说明发送者A 发送过来的信息没有经过任何篡改

      由此可以看到,非对称密钥加密技术与数字摘要技术在网络安全性方面的应用(私钥用于解密和签名,公钥用于加密和认证),数字签名功能具有身份认证、信息完整性检查、信息发送不可否认等特点,但并没有提供对原信息加密功能,不能保证接收方B收到信息,也不对接收方B的身份进行验证。

  • 相关阅读:
    bzoj3675 [Apio2014]序列分割
    bzoj3437 小P的牧场
    bzoj3156 防御准备
    bzoj1911 [Apio2010]特别行动队
    Codeforces 937.D Sleepy Game
    Codeforces 937.C Save Energy!
    Codeforces 937.B Vile Grasshoppers
    bzoj1597 [Usaco2008 Mar]土地购买
    DDA画线算法
    实验九
  • 原文地址:https://www.cnblogs.com/PBDragon/p/12679201.html
Copyright © 2011-2022 走看看