`

数字摘要和数字签名等概念

 
阅读更多

数字摘要技术 

    数字摘要技术(Digital Digest)也称作为安全HASH编码法(SHA:Secure Hash Algorithm)。数字摘要技术用于对所要传输的数据进行运算生成信息摘要,它并不是一种加密机制,但却能产生信息的数字"指纹",它的目的是为了确保数据没有被修改或变化保证信息的完整性不被破坏

数字摘要技术有如下主要特点: 

    ·它能处理任意大小的信息,并对其生成固定大小的数据摘要,数据摘要的内容不可预见 

    ·对于相同的数据信息进行HASH后,总是能得到同样的摘要;如果数据信息被修改,进行Hash后,其摘要必定与先前不同 

    ·HASH函数是不可逆的,无法通过生成的数据摘要恢复出源数据

 

 

数字签名 

    数字签名(Digital Signature)用来保证信息传输过程中完整性、提供信息发送者的身份认证和不可抵赖性。使用公开密钥算法是实现数字签名的主要技术。 

    使用公开密钥算法,当你用自己的私钥加密了一个信息,并将其发送给一个朋友时,如果你的朋友能够使用你的公钥来解密出信息,他就能确定信息必定是从你那里发来的,而不是一些冒名顶替的。这实际上就是数字签名的原理。 

    由于公开密钥算法的运算速度比较慢,因此可使用HASH函数对要签名的信息进行摘要处理,减小使用公开密钥算法的运算量。因此,数字签名一般是结合了数字摘要技术和公开密钥算法共同使用

 

 

实现数学签名的过程如下:    

 

签名信息 

    1. 对信息M进行HASH函数处理,生成摘要H    

    2. 用你的(发送者的)私钥加密H来获取数字签名S    

    3. 发送 {M, S}  

 

 

  验证签名信息 

    1. 接受{M, S} 并区分开它们 

    2. 对接收到的信息 M进行HASH函数处理,生成摘要H*    

    3. 取得发送者的公钥    

    4. 用公钥解密S,来获取H 

    5. 比较H和H*,如果H和H*是一样的,即说明信息在发送过程中没有被篡改,反之即反 

    由于对信息进行数字签名后,明文信息也通过网络进行传递,因此,在做完数字签名后,还要对整个信息(包括明文信息M和数字签名的密文信息S)进行加密,以保证信息的保密性。

 

 

数字证书:

 

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息和公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT。

 

CA机构 证书授证(Certificate Authority)中心

 出现CA机构的目的:防止有的一些用户的公钥被非法替换,造成数据的泄露

 

 

 

 

转载于:http://wenku.baidu.com/link?url=peW2_IX7ujPTYpX5surVzYSBdrz9v09m8cLW-nmEpewYSMYzytbGEwkxxNz-ff8kOur_zqrR3GL3P5cj18W7D2-7-Jxe91q-AGapcnxHHtO

数字签名比较好的解释(阮一峰)

公钥私钥加密解密数字证书数字签名详解

分享到:
评论

相关推荐

    深入理解加密、解密、数字签名和数字证书

    加密、解密、数字签名和数字证书是信息安全领域的重要概念,在电子商务和网络银行等领域中尤其重要。在本文中,我们将深入探讨这些概念的定义、原理和应用。 加密和解密 加密是将明文转换为密文的过程,以防止未经...

    (纯算法,没有调用库)python实现RSA数字签名代码、ppt、文档.rar

    PPT可能详细阐述了RSA算法的理论和数字签名的概念,通过可视化的方式帮助理解。文档可能包含更具体的代码实现步骤和注意事项,便于学习和参考。 通过这个资源包,无论是初学者还是经验丰富的开发者,都可以深入...

    java 国密算法实现包含SM2 SM3 SM4和数字签名、数字证书的验证

    4. **数字签名**:数字签名是公钥密码学中的一个重要概念,用于证明数据的完整性和发送者的身份。在Java中,你可以使用`Signature`类来生成和验证数字签名,结合SM2算法,可以实现基于国密标准的签名操作。 5. **...

    密码学实验七 数字签名实验

    总之,数字签名是现代信息安全的核心组件之一,通过实验学习,我们可以更好地掌握其工作原理和实际应用,为今后在网络安全、区块链、分布式系统等领域的工作打下坚实的基础。对于给定的“DAS”文件,可能是实验代码...

    filedsv 数字签名的软件

    数字签名广泛应用于软件发布、电子邮件、合同签署、代码签名等领域。例如,软件开发商会使用数字签名来证明软件的来源和完整性,防止恶意篡改;在电子邮件中,数字签名可以确保消息的真实性和隐私性;在合同签署中,...

    看图片 读故事:轻松理解数字签名和数字证书 pdf

    《看图片 读故事:轻松理解数字签名和数字证书》一文通过生动的故事和直观的图像,深入浅出地解析了数字签名与数字证书的概念及其工作原理,为读者提供了清晰的思维导图,帮助理解这一复杂的IT安全领域知识。...

    公钥私钥加密解密数字证书数字签名详解.docx

    在探讨公钥私钥加密解密、数字证书以及数字签名之前,我们需要先理解几个核心概念。 **1. 密钥对:** - 在非对称加密技术中,存在两种密钥——私钥和公钥。私钥由密钥对的所有者持有且必须保密,而公钥则是由密钥...

    数字签名测试工具

    本文将深入探讨数字签名的概念、工作原理以及测试工具的重要性和使用方法。 数字签名并非实际的笔墨签名,而是一种基于公钥加密技术的电子证明。它主要由两部分组成:原始数据的哈希值(也称为消息摘要)和使用发送...

    数字签名添加器_.rar

    1. **数字签名概念**:数字签名是公钥加密技术的一种应用,它结合了哈希函数和非对称加密算法,提供文件的完整性保护和身份认证。数字签名并非我们日常生活中手写的签名,而是通过复杂的数学算法生成的一串独一无二...

    数字签名克隆

    1. **公钥基础设施(PKI)**:这是实现数字签名的基础框架,包括证书颁发机构(CA)、证书注册机构(RA)、证书存储和撤销列表(CRL)等组件,确保公钥的可靠分发和管理。 2. **哈希函数**:在数字签名过程中,数据...

    网上数字签名系统的实现

    #### 二、数字签名的概念与重要性 数字签名是一种电子签名的形式,它能够证明文件的真实性和发送者的身份。理想的数字签名应该具备以下三个特点: 1. **不可抵赖性**:签名者不能否认自己的签名。 2. **不可伪造性...

    易语言验证微软数字签名源码

    数字签名是通过一种非对称加密算法(如RSA)实现的,它结合了公钥和私钥的概念。开发者使用私钥对软件或代码进行签名,而用户则用对应的公钥进行验证。如果签名有效,那么可以确认软件未被篡改且来自预期的发布者。 ...

    数字签名源代码c++代码

    2. **签名过程**:使用SHA-256等哈希算法计算消息的摘要,然后用私钥d对摘要进行模指数运算,生成数字签名。 3. **验证过程**:接收者使用公钥e对签名进行模指数运算,得到哈希值,再与原始消息的哈希值比较,一致...

    数字签名技术(C#)

    本篇文章将详细探讨数字签名的概念,以及如何在C#中利用RSA和SHA1算法实现它。 首先,我们来理解数字签名的基本原理。数字签名并非是我们在纸上签署的名字的电子版本,而是一种通过加密技术确保信息未被篡改和验证...

    数字签名添加器.rar

    **数字签名的概念** 数字签名是一种基于公钥加密技术的电子签名方式,它能够确保数据在传输过程中不被篡改,并能验证文件来源的可靠性。在数字签名的过程中,发送者使用自己的私钥对消息或文件的哈希值进行加密,...

    md5算法与数字签名

    #### 二、数字签名的概念与作用 ##### 2.1 数字签名的定义 数字签名是一种用于验证电子信息真实性和完整性的技术手段。根据ISO 7498-2标准,数字签名被定义为附加在数据单元上的一些数据或对数据单元所做的密码...

Global site tag (gtag.js) - Google Analytics