密码学算法是区块链的安全基础,在其中使用了大量的加密算法,包括对称加密、非对称加密、单向散列算法、数字签名等等。下面我们就来了解一下国密算法在区块链中的应用。

区块链中的密码算法

区块链基础架构中的密码算法整体上分为哈希算法和非对称加密算法。

哈希算法被广泛地使用在构造和验证区块、交易的完整性上,由于哈希算法的特性,使得我们可以把任意的交易数据做成数据摘要,然后再一个一个链接起来,形成数据块的链式结构。这样我们可以通过验证每个区块间接地验证交易,然后每个交易原数据也可以做成哈希数据摘要,用于验证交易数据的完整性。

在区块链系统中,非对称加密技术除了用于用户标识、操作权限校验,还用于数字资产地址的生成、资产所有权的标识和数字资产的流转。具体来说,基于非对称加密技术的数字签名可以构建公私钥对以标识用户身份;可以基于公钥生成加密资产地址,以公私钥对检验资产所有权;可以用私钥对操作签名,用公钥校验用户的操作权限;还可以用接收方公钥对传输数据加密,接收方用私钥解密并读取数据。

区块链

国密算法在区块链中的应用

目前各主流的区块链都在尝试使用国密算法,其主要应用在:

  1. 使用SM3代替SHA-256等作为默认的密码杂凑算法;
  2. 使用SM2替代ECDSA签名算法;
  3. 使用SM2证书代替RSA、ECDSA证书。

区块链

国密算法的应用优势

SM3和SHA-256相比,SM3是SHA-256的一种改进和优化,SM3的算法结构是MD(Merkle-Damgard)结构,SM3的可碰撞性更强,安全程度更高。

SM2和RSA的底层算法数学原理不同, SM2安全强度更高,它可以用更短的密钥来达到更高的安全强度。SM2只需要256位的密钥程度就可以达到RSA 2046位的密钥安全强度,甚至还要超过。

区块链


理论上,在区块链中使用国密算法会更加安全、快速,但在实际使用中却还存在着不少难题,如区块链上层协议和硬件设施的兼容性、密码学协议的标准化等等,这些都需要各方不断地努力,来丰富国密算法在区块链中的应用。

免责声明:素材源于网络,如有侵权,请联系删稿。