码迷,mamicode.com
首页 > 其他好文 > 详细

数字签名和数字证书技术简介(两)

时间:2015-09-29 22:02:54      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

信息摘要、数字签名

根据文章,绍了的非对称密钥算法:

http://blog.csdn.net/u014419512/article/details/26290821

如今我们能够继续我们的场景:

如果有一天。Alice收到了一份署名为Bob的文件。Alice希望可以确认这份文件一定是来自Bob;另外Alice希望可以确信。这份文件在传输过程中并没有被它人篡改。那么基于非对称密钥算法我们应该怎么做?

确认文件一定来自于Bob,事实上就是Bob无法否认自己发送过这份文件。信息安全中称作不可抵赖性。还有一方面,确信文件并没有中途被篡改,则称作不可篡改性

在非对称密钥算法中提到,公钥加密的内容使用私钥能够解密。相同的,基于私钥加密的内容使用公钥也能够解密,两者一一相应。

因此我们能够非常easy想到。假设Bob利用自己手里的私钥对文件进行加密后,传输给AliceAlice再通过公钥库中Bob的公钥进行解密,则能够证明文件一定是由Bob发出(由于仅仅有Bob持有私钥)。

另外,由于传输的是密文,假设能够使用公钥解密,同一时候也证明了文件并没有中途被篡改。

这种做法事实上已经同一时候满足了不可抵赖性和不可篡改性。

然而。因为传输的文件可能非常大,为了证明文件的不可抵赖性和不可篡改性,须要对整个文件进行加密,因为非对称算法效率较低。这样做的代价太大。因此常规的做法是用到信息摘要数字签名的方式。

所谓信息摘要,事实上就是某种HASH算法。将信息明文转化为固定长度的字符,它具有例如以下特点:

不管输入的消息有多长。计算出来的消息摘要的长度总是固定的

 

用同样的摘要算法对同样的消息求两次摘要,其结果必定同样;

 

一般地。仅仅要输入的消息不同。对其进行摘要以后产生的摘要消息也差点儿不可能同样;

 

消息摘要函数是单向函数。即仅仅能进行正向的信息摘要,而无法从摘要中恢复出不论什么的消息

 

好的摘要算法,没有人能从中找到碰撞。尽管碰撞是肯定存在的。

即对于给定的一个摘要,不可能找到一条信息使其摘要正好是给定的。或者说,无法找到两条消息。是它们的摘要同样。

 

一般的,我们将信息的摘要也称作信息的指纹。如同指纹的含义。同样的信息一定会得同样的指纹,而仅通过指纹又无法还原出原始信息。眼下基本的摘要算法有MD5SHA1

 

当有了信息摘要技术以后。基于BobAlice发送文件的场景,我们能够进行例如以下的操作:

技术分享

第一步:

① Bob将原始的信息进行一次信息摘要算法,得到原始信息的摘要值;

 

② Bob使用自己的私钥,对该摘要值进行加密。得到信息摘要的密文;

 

③ Bob将原始文件和摘要值的密文一起发送给Alice

 

④ 一般的,我们将原始文件和摘要密文称作Bob对原始文件的签名结果。


技术分享

第二步:

① 当Alice接收到Bob传输的信息(原始文件。信息摘要密文)后。使用Bob的公钥将摘要密文解密,得到信息摘要明文;

 

② 使用信息摘要算法,取原文的摘要信息,获取原始文件摘要信息。

 

③ Alice比較解密后的摘要信息和取得的摘要信息。

假设同样,则能够证明文件一定由Bob发送,而且中途并没有经过不论什么篡改。

一般将这个过程称作验签。

 

所谓数字签名,就是对原始文件的“指纹”进行了私钥加密。这样。就可以保证文件的特征(摘要值)一定经过了私钥的加密。同一时候因为信息摘要的长度普遍不长(MD5128位。SHA1主要为256位),也并没有带来太大的开销。

如同对称密钥算法。在大部分开发语言中。基于非对称算法的数字签名。数字加密算法。也都进行了一定的封装。例如以下链接就比較具体的描写叙述了基于JCE怎样实现数字签名、加密、验证等:http://blog.csdn.net/centralperk/article/details/8538697

版权声明:本文博主原创文章。博客,未经同意不得转载。

数字签名和数字证书技术简介(两)

标签:

原文地址:http://www.cnblogs.com/gcczhongduan/p/4847184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!