3.对称加密算法

Hyperchain区块链平台同时支持AES,3DES的对称加密算法,保证节点间的密文传输。

3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对3DES数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法.DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大小的文本块然后再进行加密。比起最初的DES,3DES更为安全。加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,M代表明文,C代表密文,这样:

  1. 3DES加密过程为:C=Ek3(Dk2(Ek1(M)))
  2. 3DES解密过程为:M=Dk1(EK2(Dk3(C)))

AES又称为高级加密标准,是美国联邦政府采用的一种区块加密标准。AES算法基于排列和置换运算,AES 使用几种不同的方法来执行排列和置换运算。 AES是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。

同时Hyperchain区块链平台支持对称加密算法的配置选择来对节点消息进行加解密,配置在namespace.toml下:

  1. [encryption.security]
  2. algo = "3des" # Selective symmetric encryption algorithm (pure,3des or aes)

支持pure,3des以及aes三种参数:

  • pure:不进行任何加密,明文传输
  • 3des:进行3des加解密
  • aes:进行aes加解密