志在指尖
用双手敲打未来

什么是数字签名(其有何特点和功能?)

  什么是数字签名

数字签名(又称公钥数字签名)是只有信息的发送者才能发生的别人无法伪造的一段数字串,这段数字串一起也是对信息的发送者发送信息真实性的一个有用证明。它是一种类似写在纸上的一般的物理签名,但是在使用了公钥加密领域的技能来完成的,用于鉴别数字信息的方法。一套数字签名一般定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技能与数字摘要技能的应用。数字签名

什么是数字签名其有何特点和功能?

确保信息传输的完整性、发送者的身份认证、防止交易中的狡赖发生。数字签名技能是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文发生一个摘要信息,与解密的摘要信息对比。假设相同,则阐明收到的信息是完整的,在传输进程中没有被修改,不然阐明信息被修改过,因而数字签名可以验证信息的完整性。
数字签名的进程
发送报文时,发送方用一个HASH从报文文本中生成报文摘要,然后用自己的私家密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方相同的哈希函数从接收到的原始报文上钩算出报文摘要,接着再用发送方的共用密钥来对报文附加的数字签名进行解密,假设这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
数字签名有两种成效:一是能确定音讯确实是由发送方签名并发出来的,因为别人冒充不了发送方的签名。二是数字签名能确定音讯的完整性。因为数字签名的特点是它代表了文件的特征,文件假设发生改动,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。发送方用自己的密钥对报文X进行Encrypt(编码)运算,生成不行读取的密文Esx,然后将Esx传送给接收方,接收方为了核实签名,用发送方的共用密钥进行Decrypt(解码)运算,复原报文。
数字签名的完成及使用
数字签名的完成办法数字签名算法依托公钥加密技能来完成的。在公钥加密技能里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自在发布,但私钥则隐秘保存;还有一个要求便是要让通过公钥推算出私钥的做法不行能完成。
普通的数字签名算法包括三种算法:
1.暗码生成算法2.标记算法3.验证算法
数字签名的使用举例
假设现在Alice向Bob传送数字信息,为了确保信息传送的保密性、真实性、完整性和不行否认性,需要对传送的信息进行数字加密和签名,其传送进程为:
1.Alice准备好要传送的数字信息(明文);
2.Alice对数字信息进行哈希运算,得到一个信息摘要;
3.Alice用自己的私钥对信息摘要进行加密得到Alice的数字签名,并将其附在数字信息上;
4.Alice随机发生一个加密密钥,并用此暗码对要发送的信息进行加密,形成密文;
5.Alice用Bob的公钥对刚才随机发生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给Bob;
6.Bob收到Alice传送来的密文和加密过的DES密钥,先用自己的私钥对加密的DES密钥进行解密,得到Alice随机发生的加密密钥;
7.Bob然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃;
8.Bob用Alice的公钥对Alice的数字签名进行解密,得到信息摘要;
9.Bob用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要;
10.Bob将收到的信息摘要和新发生的信息摘要进行比较,假设一致,阐明收到的信息没有被修改过。

未经允许不得转载:IT技术网站 » 什么是数字签名(其有何特点和功能?)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载