密码学基本概念,对称加密、非对称加密、数字签名、证书、认证、PKI、加密通信等。

更多区块链技术与应用分类:

区块链应用    区块链开发

以太坊 | Fabric | BCOS | 密码技术 | 共识算法 | 比特币其他链

通证经济传统金融场景 | 去中心化金融 | 防伪溯源 | 数据共享 | 可信存证

第一部分 基本概念

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中,我们能够通过证书对服务器进行认证。只是确认了通信对象是经过认证机构确认的服务器,而不能确认是否可以和该通信对象进行安全的交易。


原文链接:密码学基本概念总结

Logo

为所有Web3兴趣爱好者提供学习成长、分享交流、生态实践、资源工具等服务,作为Anome Land原住民可不断优先享受各种福利,共同打造全球最大的Web3 UGC游戏平台。

更多推荐