网站建设如何自学,企业网站建设要多少钱,做资料网站是自己建服务器好还是租用好,广州注册公司程序数字签名是什么#xff1f; 作者#xff1a;David Youd 翻译#xff1a;阮一峰 原文网址#xff1a;http://www.youdzone.com/signature.html 1.鲍勃有两把钥匙#xff0c;一把是公钥#xff0c;另一把是私钥。 2.Bob把公钥送给他的朋友们-Pat、Doug、Susan-- 每人一把… 数字签名是什么 作者David Youd 翻译阮一峰 原文网址http://www.youdzone.com/signature.html 1.鲍勃有两把钥匙一把是公钥另一把是私钥。 2.Bob把公钥送给他的朋友们-Pat、Doug、Susan-- 每人一把。 3.Susan要给Bob一封保密的信。她写完后用Bob的公钥加密就可以达到保密的效果。 4.Bob收信后用私钥解密就看到了信件内容这里强调的是只要Bob的私钥不泄露这封信就是安全的即使落在别人手里也无法解密。 5.Bob 给Susan回信决定采用“数字签名”。他写完后先用Hash函数生成信件的摘要Digest。 6.然后Bob使用私钥对这个摘要Digest加密生成“数字签名”signature。 7.Bob将这个“数字签名”附在信件下面一起发给Susan。同样如果Bob 要回复加密信息给Susan那么Susan先公布自己的公钥给Bob用于加密Susan 保存自己的私钥用于解密 即假设两个用户要加密交换数据双方交换公钥使用时一方用对方的公钥加密另一方即可用自己的私钥解密 8.Susan 收信后取下“数字签名”用Bob的公钥解密得到信件的摘要。由此证明这封信确实是Bob发出的。 9.Susan再对信件本身使用Hash函数将得到的结果与上一步得到的Digest进行对比如果两者一直就证明这封信未被修改过。 10.那么复杂的情况出现了Doug想欺骗Susan他偷偷使用了Susan的电脑用自己的公钥换走了Bob的公钥。此时Susan实际拥有的是Doug的公钥但是自以为是Bob 的公钥。因此Doug就可以冒充Bob用自己的私钥做成“数字签名”写信给Susan让Susan用假的Bob公钥进行解密 11.后来Susan感觉不对劲发现在即无法确定公钥是否真的属于Bob。她想到了一个办法要求Bob 去找“证书中心”Certificate authority ,简称CA为公钥做认证。证书中心用自己的私钥对Bob的公钥和一些相关信息一起加密 生成数字证书Digital Certificate 12.Bob拿到数字证书以后就可以放心里。以后再给Susan写信只要在签名的同时再附上数字证书就行了 13.Susan收信后用CA的公钥解开数字证书Digital Certificate就可以拿到Bob的真实公钥了然后就能证明“数字签名”Signture“是否真的是Bob签的 下面我们看一个应用”数字证书”的实例https协议。这个协议主要用于网页加密 主要步骤如下 1.客户端向服务器发出加密请求 2.服务端用自己的私钥加密网页以后连同本身的数字证书一起发送给客户端 3.客户端浏览器的”证书管理器“有”受信任的根证书颁发机构“列表客户端会根据这张列表查看解开数字证书的公钥是否在列表之内。 4.如果数字证书记载的网址与你正在浏览的网址不一致就说明这张证书可能被冒用浏览器会发出警告 5.如果这张证书不是由受信任的机构颁发的浏览器会发出另一种警告 6.如果数字证书是可靠的客户端就可以使用证书中的服务器公钥对信息进行加密然后与服务器交换加密信息。 不过非对称加密公钥加密在计算上相当复杂性能欠佳远远不比对称加密so 在一般情况下往往通过公钥加密来创建临时的对称密钥亦即会话密钥一次性用于会话中加密的对称式密钥 然后才通过对称加密来传输大量、主体的数据。 参考链接 https://baike.baidu.com/item/%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/1208652 https://baike.baidu.com/item/%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86/9874417 https://zh.wikipedia.org/wiki/Session_key 转载于:https://www.cnblogs.com/ppp1314520818/p/10594037.html