加密,认证疑难名词总结----RSA, 公钥,私钥,CA,数字签名,数字证书

发布时间:2020-07-17 13:23:44 作者:tutor
来源:网络 阅读:1582

在网络和操作系统安全通信中经常涉及到这几个名词: RSA, 公钥,私钥,CA,数字签名,数字证书。
我找了很多资料,很少有把疑难点讲全面的。但不讲清楚这几个,很难有一个清晰的认识和理解。
我现在也尝试这样的方式,自己总结,以便后来查看,同时也希望能帮助一些人少走弯路,省去baidu, google, 看RFC的时间。

  1. 对称和非对称,公钥和私钥:
    加密的两种方式:对称加密和非对称加密。
    对称加密:加密的密钥也叫公钥和解密的密钥(也叫私钥)相同。特点是算法公开、计算量小、加密速度快、加密效率高。
    非对称加密:加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。RSA是一种非对称加密算法。
    RSA是取的研究这个算法的三个专家的首字母。

    加密算法中,公钥用于对数据进行加密,私钥用于对数据进行解密。当然了,这个也可以很直观的理解:
    公钥就是公开的密钥,其公开了大家才能用它来加密数据。私钥是私有的密钥,谁有这个密钥才能够解密密文。
    在签名算法中,私钥用于对数据进行签名,公钥用于对签名进行验证。这也可以直观地进行理解:
    对一个文件签名,当然要用私钥,因为我们希望只有自己才能完成签字。验证过程当然希望所有人都能够执行。
    大家看到签名都能通过验证证明确实是我自己签的。如果你用私钥加密了,所有人都能查到公钥并解密,所以其实不能叫加解密。

  2. 数字签名

数字签名并不是签一个字来证明这个东西是我的,而是做了一个数学计算。数字签名(Digital Signature)是 先对消息内容做Hash得到一串数字,然后用私钥对这个数字进行加密
数字签名就两个目的:证明这消息是你发的;证明这消息内容确实是完整的。(认证和完整性)。

 对消息做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去

当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,
那么他就证明了两点:这消息确实是你发的,而且内容是完整的。
我们在网上下载文件,经常会有一个长串的字符 MD5值。我们下载资料后,linux可以用md5sum 检查一下这个资料,命令输出得到的值和网站上的md5值比较。如果一致,说明文件下载完整。如果不一致,说明下载的文件发生改变。windows可以用winmd5等软件验证。

3.数字证书Digital Certificate和证书中心Certificate Authority
服务器”要对外发布公钥,那“服务器”如何把公钥发送给“客户”呢?我们第一反应可能会想到以下的两个方法:
a)把公钥放到互联网的某个地方的一个下载地址,事先给“客户”去下载。
b)每次和“客户”开始通信时,“服务器”把公钥发给“客户”。
但是这个两个方法都有一定的问题,
对于a)方法,“客户”无法确定这个下载地址是不是“服务器”发布的,你凭什么就相信这个地址下载的东西就是“服务器”发布的而不是别人伪造的呢,万一下载到一个假的怎么办?另外要所有的“客户”都在通信前事先去下载公钥也很不现实。
对于b)方法,也有问题,因为任何人都可以自己生成一对公钥和私钥,他只要向“客户”发送他自己的私钥就可以冒充“服务器”了。

为了解决这个问题,数字证书出现了,它可以解决我们上面的问题。先大概看下什么是数字证书,一个证书包含下面的具体内容:

加密,认证疑难名词总结----RSA, 公钥,私钥,CA,数字签名,数字证书

数字证书总结:
两个前提:CA是可以信任的(CA是一家实实在在的公司,有信誉)。微软已经把CA的数字证书(公钥)默认安装在操作系统中,也就是说操作系统中有CA的公钥。
服务器向CA申请数字证书。CA生成服务器的数字证书(包含了服务器的公钥)和私钥给服务器。客户端请求网页,然后客户端收到服务器发来的信息和数字证书。客户端用CA公钥解开服务器数字证书,得到服务器公钥。
有了服务器公钥,客户端就可以解开服务器的加密网页。

如何自己创建证书
每个证书发布机构都有自己的用来创建证书的工具,不同类型的证书都有一定的格式和规范,微软为我们提供了一个用来创建证书的工具makecert.exe,在安装Visual Studio的时候会安装上。如果没有安装也无所谓,可以上网去下一个,搜索makecert就可以了。证书创建工具 (Makecert.exe)。

++++++++++++++++++++++++++++++++++++++
1.排版有点麻烦,要排的好看,还要花时间。
2.自己想的与写的文字有差距。
++++++++++++++++++++++++++++++++++++++

推荐阅读:
  1. 一句话总结数字签名、数字证书、数字信封
  2. 加密、数字签名和数字证书

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

公钥 私钥 数字签名

上一篇:iOS 宏的写法

下一篇:S实现控制图片显示大小的方法【图片等比例缩放功能】

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》