What is a Digital Signature?An introduction to Digital Signatures, by David Youd



Bob

(Bob's public key)


(Bob's private key)

Bob has been given two keys. One of Bob's keys is called a Public Key, the
other is called a Private Key.

Bob's Co-workers:

Anyone can get Bob's Public Key, but Bob keeps his Private Key to himself

Pat Doug Susan

Bob's Public key is available to anyone who needs it, but he keeps his Private Key
to himself. Keys are used to encrypt information. Encrypting information means
"scrambling it up", so that only a person with the appropriate key can make it
readable again. Either one of Bob's two keys can encrypt data, and the
other key can decrypt that data.

Susan (shown below) can encrypt a message using Bob's Public Key. Bob uses his
Private Key to decrypt the message. Any of Bob's coworkers might have access
to the message Susan encrypted, but without Bob's Private Key, the data is
worthless.

"Hey Bob, how about lunch at Taco Bell. I hear they have free refills!"

HNFmsEm6Un
BejhhyCGKOK
JUxhiygSBCEiC
0QYIh/Hn3xgiK
BcyLK1UcYiY
lxx2lCFHDC/A

HNFmsEm6Un
BejhhyCGKOK
JUxhiygSBCEiC
0QYIh/Hn3xgiK
BcyLK1UcYiY
lxx2lCFHDC/A

"Hey Bob, how about lunch at Taco Bell. I hear they have free refills!"

With his private key and the right software, Bob can put digital signatures on
documents and other data. A digital signature is a "stamp" Bob places on the
data which is unique to Bob, and is very difficult to forge. In addition, the
signature assures that any changes made to the data that has been signed can
not go undetected.

To sign a document, Bob's software will crunch down the data into just a few lines
by a process called "hashing". These few lines are called a message digest. (It
is not possible to change a message digest back into the original data from which
it was created.)

Bob's software then encrypts the message digest with his private key. The result
is the digital signature.

Finally, Bob's software appends the digital signature to document. All of the
data that was hashed has been signed.

Bob now passes the document on to Pat.

First, Pat's software decrypts the signature (using Bob's public key) changing it back
into a message digest. If this worked, then it proves that Bob signed the
document, because only Bob has his private key. Pat's software then hashes
the document data into a message digest. If the message digest is the same
as the message digest created when the signature was decrypted, then Pat
knows that the signed data has not been changed.

Plot complication...

Doug (our disgruntled employee) wishes to deceive Pat. Doug makes sure
that Pat receives a signed message and a public key that appears to belong
to Bob. Unbeknownst to Pat, Doug deceitfully sent a key pair he
created using Bob's name. Short of receiving Bob's public key from him
in person, how can Pat be sure that Bob's public key is authentic?

It just so happens that Susan works at the company's certificate
authority center. Susan can create a digital certificate for Bob simply
by signing Bob's public key as well as some information about Bob.

Bob Info:

Name

    Department

    Cubical Number

Certificate Info:

Expiration Date

    Serial Number

Bob's Public Key:

    


Now Bob's co-workers can check Bob's trusted certificate to make sure
that his public key truly belongs to him. In fact, no one at Bob's
company accepts a signature for which there does not exist a certificate
generated by Susan. This gives Susan the power to revoke signatures if
private keys are compromised, or no longer needed. There are even more
widely accepted certificate authorities that certify Susan.

Let's say that Bob sends a signed document to Pat. To verify the signature
on the document, Pat's software first uses Susan's (the certificate
authority's) public key to check the signature on Bob's certificate.
Successful de-encryption of the certificate proves that Susan created it.
After the certificate is de-encrypted, Pat's software can check if
Bob is in good standing
with the certificate authority and that all of the certificate information
concerning Bob's identity has not been altered.

Pat's software then takes Bob's public key from the certificate and uses it
to check Bob's signature. If Bob's public key de-encrypts the signature
successfully, then Pat is assured that the signature was created using Bob's
private key, for Susan has certified the matching public key. And of course,
if the signature is valid, then we know that Doug didn't try to change the
signed content.

Although these steps may sound complicated, they are all handled behind
the scenes by Pat's user-friendly software. To verify a signature, Pat need
only click on it.


(c) 1996, David Youd

Permission to change or distribute is at the discretion of the author

Warning: You may be missing a few lines of text if you print this document.
This seems to occur on pages following pages that have blank space near
the bottom due to moving tables with large graphics in them to the next
page so that the images are not split across pages. If this happens
to you, simply print out document in sections. (Ex: I have the problem on
page 4, so I print pages 1-3, then pages 4-5.)

数字签名 转载:http://www.youdzone.com/signature.html的更多相关文章

  1. 深入浅出HTTPS工作原理(转载)

    转载自: https://blog.csdn.net/wangtaomtk/article/details/80917081 深入浅出HTTPS工作原理 HTTP协议由于是明文传送,所以存在三大风险: ...

  2. Java Security:公钥私钥、数字签名、消息摘要是什么

    1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3. 苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到保密的 ...

  3. 和安全有关的那些事(非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS及其他)

    转自http://blog.csdn.net/bluishglc/article/details/7585965 对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统 ...

  4. 使用数字签名实现数据库记录防篡改(Java实现)

    本文大纲 一.提出问题 二.数字签名 三.实现步骤 四.参考代码 五.后记 六.参考资料 一.提出问题 最近在做一个项目,需要对一个现成的产品的数据库进行操作,增加额外的功能.为此,需要对该产品对数据 ...

  5. RAS非对称加密与数字证书数字签名

    它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么. 我对这些问题的 ...

  6. 【Java密码学】用Java数字签名提供XML安全

    简介 众所周知,XML在产品和项目开发中起着非常重要的作用.通过XML文档可以获取很多信息,还可以使用XML文件进行CRUD(增加.查询.更新和删除)操作.然而值得注意的是,我们如何确保XML中的数据 ...

  7. signature.html

    原文网址:http://www.youdzone.com/signature.html   阮一峰:http://www.ruanyifeng.com/blog/2011/08/what_is_a_d ...

  8. 公钥与私钥的理解,以及https的应用原理

    1.公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把.3)苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到 ...

  9. 公钥与私钥,HTTPS详解

    1.公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把.3)苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到 ...

随机推荐

  1. Charles系列一:Charles功能介绍、下载安装和界面简介

    一:Charles主要功能介绍 Charles是一个HTTP代理/HTTP监视器/反向代理,使开发和测试人员能够查看机器和Internet之间所有的HTTP和SSL/HTTPS流量,这包括请求,响应. ...

  2. 39.创建多进程及进程通讯 -- Queue--Pipe--Event

    创建多进程 windows:进程.线程 linux:进程.线程(做了进程通信的多进程实现的线程) 进程之间内存彼此独立,不管是父子进程还是单个独立进程 multiprocessing:Process ...

  3. centos7 64位如何配置网络

    在虚拟机的操作的时候,修改  ifcfg-eno16777736 可能没有权限 su - //进入root用户状态chmod a+w  ifcfg-eno16777736//把该文件修改为可写状态 我 ...

  4. 【持续更新】一个简洁、易用的美赛 LaTeX 模板: easyMCM

    目录 1 当前美赛模板通行情况的概述 2 EasyMCM 宏包说明 2.1 与 mcmthesis 的关系之说明 2.2 easymcm宏包的简介 2.3 美赛模板下载地址 3 README 摘录 3 ...

  5. 复习最短路 spfa+dijstra堆优化

    题目很简单,, 但是wa了三次,, 用<vector>之前一定要记得clear()...简单说下 spfa的问题 和bell_forman有点类似 每次取出一个点 然后更新 并把更新了的节 ...

  6. JS的日期的知识与格式化

    需要知道的JS的日期的知识,都在这了 https://juejin.im/post/5d12b308f265da1b7c612746?utm_source=gold_browser_extension ...

  7. VBA开发项目分享-1

    这个项目的目的是使用VBA制作一个股票筛选器,股票的指标数据存放在多个工作表,输入多个指标的查询条件,可以从相应的工作表里查询出符合条件的股票数据并返回.项目涉及的VBA知识结构有字典.数组.OLED ...

  8. html中正则匹配img

    1.正则匹配html中的img标签,取出img的url并进行图片文件下载: /// <summary> /// 将image标签的src属性的url替换为base64 /// </s ...

  9. linux Linux入门

    Linux入门 Linux学习什么? 常用命令(背会) 软件安装(熟练) 服务端的架构(开开眼界) Linux如何学习? 不要问那么多为什么,后面你就懒得问了 先尝试理解一下,不行就背下来 一个知识点 ...

  10. 修改小程序checkbox样式

    未选中时的样式 checkbox .wx-checkbox-input { border-radius: 50%; height: 30rpx; width: 30rpx; margin-top: - ...