数字签名是什么?[转]

2024-09-01 22:48
文章标签 数字签名

本文主要是介绍数字签名是什么?[转],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章来源:http://kan.weibo.com/con/3524902422946278

 

  本文用图片通俗易懂地解释了"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。希望多你有帮助。

  1.

数字签名是什么?[转]

  鲍勃有两把钥匙,一把是公钥,另一把是私钥。

  2.

数字签名是什么?[转]

  鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

  3.

数字签名是什么?[转]

  苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

  4.

数字签名是什么?[转]

  鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

  5.

数字签名是什么?[转]

  鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

  6.

数字签名是什么?[转]

  然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

  7.

数字签名是什么?[转]

  鲍勃将这个签名,附在信件下面,一起发给苏珊。

  8.

数字签名是什么?[转]

  苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

  9.

数字签名是什么?[转]

  苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

  10.

数字签名是什么?[转]

  复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

  11.

数字签名是什么?[转]

  后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

  12.

数字签名是什么?[转]

  鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

  13.

数字签名是什么?[转]

  苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

  14.

数字签名是什么?[转]

  下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

  15.

数字签名是什么?[转]

  首先,客户端向服务器发出加密请求。

  16.

数字签名是什么?[转]

  服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

  17.

数字签名是什么?[转]

  客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

  18.

数字签名是什么?[转]

  如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

  19.

数字签名是什么?[转]

  如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

  20.

数字签名是什么?[转]

  如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

这篇关于数字签名是什么?[转]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128268

相关文章

数字签名基本流程

文章来源 https://www.cnblogs.com/ycha/p/9556535.html https://blog.csdn.net/qq_16605855/article/details/80966382 签名过程 输入:原文、私;钥输出:签名值 1)将原文做 HASH 2)将 HASH 做私密加密,结果就是签名值 验证签名过程 输入:签名值、原文、公钥输出:是

安装第三方inf 不含数字签名信息的方法

过程中遇到第三方INF不包含数字签名信息  解决方法:左下角搜索栏输入:高级启动-立即重启-疑难解答-高级选项-启动设置-重启-重启之后,电脑就可以安装未签名驱动了

数字签名和数字证书详解

签名 当你在一个纸质文件上写上你的名字,按上你的指纹,就意味着这张纸上的内容经过了你的认可,你的笔迹和指纹就是你身份的证明。这是因为,笔迹很难伪造,而每个人的指纹更是独一无二的。在签名前,我们会检查文件内容有没有歧义、有没有涂改、有没有多余不必要的空白等,确认无误后再写下我们的名字,而收到签名后文件的人,再次对文件内容及签名进行检查,以确保文件内容的有效性和完整性。 因此,签名可以用来认证签名

windows下安装pyenv+解决pyenv install时“未对文件进行数字签名”或“pyenv : 无法加载文件在此系统上禁止运行脚本”的问题

安装pyenv 按照该博主的帖子,安装好pyenv-windows并配置好环境变量: http://t.csdnimg.cn/siQMH 但是执行pyenv install命令时遭遇了如下问题,现在记录一下。 问题1:pyenv : 无法加载文件在此系统上禁止运行脚本。 刚拿到电脑,在电脑上运行`power shell``的同学更可能遇到这个问题。 主要问题出在电脑的执行策略需要更改,可

数字签名算法---加密学习笔记(五)

介绍 签名:就有安全性,抗否认性 数字签名:带有密钥(公钥,私钥)的消息摘要算法 作用: 1. 验证数据的完整性 2. 认证数据来源 3. 抗否认 数字签名遵循:私钥签名,公钥验证 常用的数字签名算法:RSA,DSA,ECDSA RSA 介绍: 是经典算法,是目前为止使用最广泛的数字签名算法。 RSA数字签名算法的密钥实现与RSA的加密算法是一样的,算法的名称都叫RSA。密钥的产生

cab数字签名制作

制作证书 makecert -$ "individual" -r /sv "Smart360.PVK" /n "CN= www.smart360.cn,E=15011116466-163-com,O=lilingtong " smart360.cer 制作inf cabarc.exe -s 6144 N smart.cab zlib.dll qnviccub.dll bridge

高级数字签名之椭圆曲线数字签名算法(ECDSA)

@TOC 1. 算法简述 该算法是微软操作系统及办公软件的序列号验证算法。 ECDSA(Elliptic Curve Digital Signature Algorithm, 椭圆曲线数字签名算法) 于1999年作为ANSI标准, 并于2000年成为IEEE和NIST标准。 ECDSA算法具有速度快、强度高、签名短等有点。 3. 代码实现 Java中未对该算法做实现, 而在Bouncy

数字签名标准算法——DSA

数字签名标准算法——DSA 1. 算法简述2.模型分析3. 代码实现3.1 算法实现3.2 测试代码3.3 运行结果 1. 算法简述 RSA为经典数字签名算法 数字签名标准(Digital Signature Standard, DSS), DSS本质是ElGamal数字签名算法,DSS使用的算法成为数字签名算法(Digital Signature Algorithm, DSA

数字签名算法之RSA

数字签名算法之RSA 1.数字签名简述2. 模型分析3. 代码实现3.1 签名算法实现3.2 测试代码3.3 运行结果 1.数字签名简述 数字签名算法可以看做是一种带有密钥的消息摘要算法,并且这种密钥包含了公钥和私钥。也就是说数字签名算法是非对称加密算法和消息摘要算法的结合体。 数字签名算法是公钥基础设施(PKI)以及许多网络安全机制(SSL/TLS、VPN等)的基础。 数

最新的kali Linux源,解决apt update报错说没有数字签名

原因: 国内源的地址大部分都是http开头,这些地址早就无法使用。 解决方案: wget archive.kali.org/archive-key.asc                 //下载签名 apt-key add archive-key.asc                               //安装签名 另外,需要kali Linux更换最新的源地址: