密码学基本概念总结
摘要密码学基本概念,对称加密、非对称加密、数字签名、证书、认证、PKI、加密通信等。第一部分 基本概念1. 公钥密码(非对称加密)只要拥有加密密钥(公钥)的人,都可以进行加密,但只有拥有解密密钥(私钥)的人,才可以解密。如RSA --> 是一种非对称加密算法加密:公钥是(E,N)(E是加密的首字母,N是数字的首字母)解密:私钥是...
密码学基本概念,对称加密、非对称加密、数字签名、证书、认证、PKI、加密通信等。
更多区块链技术与应用分类:
第一部分 基本概念
1. 公钥密码(非对称加密)
只要拥有加密密钥(公钥)的人,都可以进行加密,但只有拥有解密密钥(私钥)的人,才可以解密。
如RSA --> 是一种非对称加密算法
加密:

公钥是(E,N)
(E是加密的首字母,N是数字的首字母)
解密:

私钥是(D,N)
D是解密的首字母,N是数字的首字母
2. 其他概念
单向散列函数
消息认证码
数字签名
消息认证码,需要A和B共享一个密钥,但这样无法防止否认,即A和B都有能力计算出MAC值。因此引入数字签名。
3. 数字签名
- 生成消息签名的行为
- 验证消息签名的行为
- 数字签名和公钥密码(非对称加密)区别(用法相反):



用公钥加密得到的密文,只能用与该公钥配对的私钥才能解密;同样的,用私钥加密得到的密文,只能用与该私钥配对的公钥才能解密;
由于公钥算法非常慢
消息--> 单向散列函数-->签名
公钥(消息)+公钥的数字签名 --> 公钥证书
所谓证书,就是将公钥当做一条消息,由一个可信的第三方对其签名后所得到的公钥。
注意
(1)公钥密码和数字签名最好分别使用不同的密钥对
(2)不要直接对消息签名,对散列值签名比较安全
为了建立一个可信的数字签名链条,我们需要让公钥以及数字签名技术成为一种社会性的基础设施,即公钥基础设施(Public Key Instrastructure),简称PKI。
第二部分 认证
1. 公钥证书
公钥证书和驾照相似,里面有姓名、组织、邮箱、地址等个人信息,以及属于此人的公钥,并由认证机构(Certification Authority,CA)施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书也称为证书。

2. 证书标准规范X.509
(1)证书格式统一规范,最广泛的是由ITU和ISO制定的X.509规范。
(2)包含三部分:
签名前的证书---签名对象的信息
数字签名算法---对证书签名时所用的算法
数字签名---对证书施加的数字签名

3. 公钥基础设施(PKI)
(1)证书由谁颁发、如何颁发,私钥泄露时应该如何作废证书,计算机之间的数据交换应采用怎样的格式。要使用到PKI。X.509规范是PKI的一种。
(2)PKI的组成要素有三个:
用户(实体)---使用PKI的人(也可是计算机)
认证机构---颁发证书的人
仓库---保存证书的数据库
(3)具体介绍:
用户:包括两种,一种是希望使用PKI注册自己公钥的人,另一种是希望使用已注册公钥的人。

认证机构是对证书进行管理的人(Trent)。认证机构的工作中,公钥注册和本人身份认证这一部分可由注册机构(Registration Authority,RA)来分担。CA只负责颁发证书。
仓库:保存证书的数据库,,也叫做证书目录。
(4)PKCS#10:申请证书时所使用的规范
(5)PKCS#6:生成证书的格式是由PKCS#6和X.509定义的。
(6)作废证书:CA需要制作一张证书作废清单(Certificate Revocation List)简称CRL.
PKI用户需要从认证机构获取最新的CRL,并查询自己要用于验证签名(或用于加密)的公钥证书是否已经作废。
4. 证书层级
(1)对于认证机构的公钥,可以由其他的认证机构施加数字签名,从而对认证机构的公钥进行验证。即生成一张认证机构的公钥证书。
(2)根CA:认证机构的最根部,即不存在更高一层的认证机构,而对于根CA,则由根CA认证机构自己来颁发证书,这种对自己的公钥进行数字签名的行为成为自签名。

5. SSL/TLS
当我们访问https://开头的网页时。web服务器和浏览器之间会进行基于SSL/TLS的加密通信。在这样的通信中所使用的密钥是仅限于本次通信的一次性密钥,下次通信时就不能使用了。像这样每次通信只能使用一次的密钥成为会话密钥(session key)。
加密对象是用户直接使用的信息(内容),这样的密钥称为CEK(Contents Encrypting Key,内容加密密钥),相对的,用于加密密钥的密钥称为KEK(Key Encrypting Key,密钥加密密钥)。会话密钥都是被作为CEK使用的。

SSL(Secure Socket Layer)与TLS(Transport Layer Security)

SSL是事实上的行业标准,而TLS相当于SSL3.1。
SSL/TLS提供了一种密码通信框架,称为密码套件,这意味着SSL/TLS中使用的对称密码,公钥密码、数字签名、单向散列函数等技术,都是可以像零件一样替换的。
使用SSL/TLS后,通信内容不会在通信过程中被第三方获取。
在SSL/TLS中,我们能够通过证书对服务器进行认证。只是确认了通信对象是经过认证机构确认的服务器,而不能确认是否可以和该通信对象进行安全的交易。
原文链接:密码学基本概念总结
更多推荐
所有评论(0)