数字签名的原理

标签: 数字签名 原理 | 发表时间:2013-04-10 18:56 | 作者:horstlinux
出处:http://blog.csdn.net

 (Bob) 有两个密钥,  (Bob的公钥)和  (Bob的私钥)。

Bob的私钥只有自己知道,  (Bob的公钥)可以让所有人都知道: (Pat)、 (Doug)、 (Susan) 。公钥和私钥是由特殊算法生成的,都可以用来把明文加密成不可读的密文,用相反的密钥可以把密文解密成可读的明文。


有一天, (Susan) 写了一封信,”Hey Bob, how about lunch at Taco Bell. I hear they have free refills!”,然后通过 (Bob的公钥)进行加密,变成“HNFmsEm6Un BejhhyCGKOK JUxhiygSBCEiC 0QYIh/Hn3xgiK BcyLK1UcYiY lxx2lCFHDC/A”,她可以放心的把信交给其他人,帮忙把信送给Bob。  (Bob)看到信之后,用  (Bob的私钥),解密这封信,就能看到Susan写的原话了。其他送信的人是完全看不懂的。

 (Bob)打算给Susan回信,他并不害怕别人知道他说什么,所以他不需要对全文加密,但是他害怕有人偷偷修改他的内容,所以他首先给全文生成一个摘要信息。      。然后对摘要进行加密, 经过  (Bob的私钥)的加密,就变成了一个独一无二的数字签名 。数字签名被附加到信件的结尾,一起发给  (Susan)  。 (Susan)用  (Bob的公钥)解密数字签名,得到当时的信件摘要。然后自己再计算一次信息摘要,如果相同,那么证明信件没有被别人修改过。


送信的 (Doug)有一次偷偷的使用 (Susan)的电脑,用自己的  (Doug的公钥)替换了  (Bob的公钥),没有人去刻意记忆公钥,所以Susan当时没有发现,她给Bob写信的时候使用了她认为是 Bob的公钥(实际上是Doug的公钥)对信件进行加密.现在 (Doug)既可以读到Susan的信,也可以冒充  (Bob)制作数字签名,真正Bob的数字签名却被认为是错的。


后来,  (Bob)发现了问题,他找到”证书中心”(certificate authority,简称CA),CA用  (CA的私钥),把Bob的  (Bob的公钥)加密一次,这个就是数字证书。带数字证书和Bob的数字签名的信件发给 (Susan)后,Susan先用  (CA的公钥)对数字证书解密,拿到一个一定真实的Bob公钥,进而证明的数字签名是否是真的,进而证明信件有没有被改动过。


英文原文:http://www.youdzone.com/signature.html

作者:horstlinux 发表于2013-4-10 18:56:13 原文链接
阅读:73 评论:0 查看评论

相关 [数字签名 原理] 推荐:

数字签名的原理

- - CSDN博客互联网推荐文章
 (Bob) 有两个密钥,  (Bob的公钥)和  (Bob的私钥). Bob的私钥只有自己知道,  (Bob的公钥)可以让所有人都知道: (Pat)、 (Doug)、 (Susan). 公钥和私钥是由特殊算法生成的,都可以用来把明文加密成不可读的密文,用相反的密钥可以把密文解密成可读的明文.

数字签名是什么?

- ArBing - 阮一峰的网络日志
它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么. 我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚. 读完这篇文章后,发现思路一下子就理清了. 为了加深记忆,我把文字和图片都翻译出来了. 文中涉及的密码学基本知识,可以参见我以前的笔记.

使用GnuPG(PGP)加密信息及数字签名教程

- - 月光博客
   PGP (Pretty Good Privacy) 是由 Phil Zimmermann 于 1991 开发的一个用于数据加密和数字签名的程序,由于被广泛应用以至于后来形成一个开放的标准 OpenPGP,而 GnuPG 则是实现了该标准的一个开源免费程序,本文将会简单介绍如何使用 GnuPG 管理钥匙、加密解密文件和电子邮件、数字签名文件和电子邮件等内容.

数字证书, 数字签名, SSL(TLS) , SASL .

- - CSDN博客Web前端推荐文章
因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结..  数字证书:  http://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html.  数字证书和SSL:  http://www.2cto.com/Article/201203/121534.html.

一个基于RSA算法的Java数字签名例子

- - 行业应用 - ITeye博客
  网络数据安全包括数据的本身的安全性、数据的完整性(防止篡改)、数据来源的不可否认性等要素. 对数据采用加密算法加密可以保证数据本身的安全性,利用消息摘要可以保证数据的完整性,但是还有一点就是数据来源的不可否认性(也就是数据来自哪里接收者是清楚的,而且发送数据者不可抵赖).         有些方案曾经使用消息认证码(MAC)来保证数据来源于合法的发送着,但是利用消息认证码会带来一个问题,就是通讯双方必须事先约定两者之间的通讯用共享密码.

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

- - 忘我的追寻
决心花一些时间,将这些概念和使用的过程彻底弄清楚. 最先找到的文章是: 数字签名是什么. (阮一峰博客),读了一遍,又找了一些资料,终于把这些概念弄清楚了,这里整理记录一下. 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的.

HandlerSocket的原理

- Roger - MySQLOPS 数据库与运维自动化技术分享
HandlerSocket的应用场景:. MySQL自身的局限性,很多站点都采用了MySQL+Memcached的经典架构,甚至一些网站放弃MySQL而采用NoSQL产品,比如Redis/MongoDB等. 不可否认,在做一些简单查询(尤其是PK查询)的时候,很多NoSQL产品比MySQL要快很多,而且前台网站上的80%以上查询都是简洁的查询业务.

hbase原理

- - CSDN博客云计算推荐文章
1.hbase利用hdfs作为其文件存储系统,利用mapreduce来处理数据,利用zookeeper作为协调工具. 2.行键(row key),类似于主键,但row key是表自带的. 3.列族(column family) ,列(也称作标签/修饰符)的集合,定义表的时候指定的,列是在插入记录的时候动态增加的.

zookeeper原理

- - CSDN博客云计算推荐文章
1.为了解决分布式事务性一致的问题. 2.文件系统也是一个树形的文件系统,但比linux系统简单,不区分文件和文件夹,所有的文件统一称为znode. 3.znode的作用:存放数据,但上限是1M ;存放ACL(access control list)访问控制列表,每个znode被创建的时候,都会带有一个ACL,身份验证方式有三种:digest(用户名密码验证),host(主机名验证),ip(ip验证) ,ACL到底有哪些权限呢.