2. 椭圆曲线数字签名

椭圆曲线数字签名算法(ECDSA)是使用[椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准。它在1998年既已为ISO所接受,并且包含它的其他一些标准亦在ISO的考虑之中。与普通的离散对数问题(discrete logarithm problem DLP)和大数分解问题(integer factorization problem IFP)不同,椭圆曲线离散对数问题(elliptic curve discrete logarithm problem ECDLP)没有亚指数时间的解决方法。因此椭圆曲线密码的单位比特强度要高于其他公钥体制。椭圆曲线的图形如下图所示:

image0

Hyperchain区块链使用了secp256k1曲线对平台交易进行签名验签,保证交易的正确性以及完整性。同时平台支持利用secp256r1曲线对节点间消息进行签名验证,保证节点间消息通信的完整性以及正确性。节点消息签名可插拔,可以通过配置文件开启,配置文件在namespace.toml下:

  1. [encryption.check]
  2. sign = true #enable Signature

即当sign=true时,需要进行节点间消息的签名验证,反之则无需验证。