阮一峰老师2011年的这篇文章很好,原文如下:
今天,我读到一篇好文章。
它用图片通俗易懂地解释了,”数字签名”(digital signature)和”数字证书”(digital certificate)到底是什么。
我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。
文中涉及的密码学基本知识,可以参见我以前的笔记。
PS:笔记如下
密码学笔记
1. 加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptography)。前者的加密和解密过程都用同一套密码,后者的加密和解密过程用的是两套密码。
历史上,人类传统的加密方法都是前一种,比如二战期间德军用的Enigma电报密码。莫尔斯电码也可以看作是一种私钥加密方法。
2. 在单钥加密的情况下,密钥只有一把,所以密钥的保存变得很重要。一旦密钥泄漏,密码也就被激活成功教程。
3. 在双钥加密的情况下,密钥有两把,一把是公开的公钥,还有一把是不公开的私钥。
双钥加密的原理如下:
a) 公钥和私钥是一一对应的关系,有一把公钥就必然有一把与之对应的、独一无二的私钥,反之亦成立。
b) 所有的(公钥, 私钥)对都是不同的。
c) 用公钥可以解开私钥加密的信息,反之亦成立。
d) 同时生成公钥和私钥应该相对比较容易,但是从公钥推算出私钥,应该是很困难或者是不可能的。4. 目前,通用的单钥加密算法为DES(Data Encryption Standard),通用的双钥加密算法为RSA( Rivest-Shamir-Adleman),都产生于上个世纪70年代。
5. 在双钥体系中,公钥用来加密信息,私钥用来数字签名。
6. 因为任何人都可以生成自己的(公钥,私钥)对,所以为了防止有人散布伪造的公钥骗取信任,就需要一个可靠的第三方机构来生成经过认证的(公钥,私钥)对。目前,世界上最主要的数字服务认证商是位于美国加州的Verisign公司,它的主要业务就是分发RSA数字证书。
数字签名是什么?
作者:David Youd
翻译:阮一峰
原文网址:http://www.youdzone.com/signature.html
鲍勃有两把钥匙,一把是公钥,另一把是私钥。
(完)
更多相关资料,可以看看下面的:
- 什么是数字签名和证书?
- 知乎问答:数字签名、数字证书、SSL、https是什么关系?
- 数字签名和哈希函数
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220111.html原文链接:https://javaforall.net
