2018年11月18上午,“2018比原链全球开发者大会”在杭州国际博览中心(G20会馆)召开,这是杭州第一次由开源组织举办的技术型峰会,也是杭州被誉为区块链之城以来规模最大的一场区块链开发者大赛。100+开发团队历经4个月激烈厮杀,最终16支团队展开最终角逐。
张成成是比原链核心开发者,负责比原链国密方面的开发,他在大会上分享了比原链在国密算法上的思考。
以下为张成成演讲,经整理。
国密算法:实现中国金融领域信息安全自主可控
国密算法是指国家密码管理局制定的自主可控的国产算法。国密算法包括一系列密码学算法,如SM1、SM2、SM3、SM4、SM7、SM9及祖冲之算法。而最常用的三种商用密码算法是SM2椭圆曲线公钥密码算法(非对称加密算法)、SM3密码杂凑算法,即哈希算法,以及SM4分组密码算法(对称加密算法)。而这三个算法也是目前比原链国密测试链正在使用的三个国密算法标准。
比原链为什么要支持国密算法呢?实际上,国务院发布国密算法时就曾指出,我国涉及到金融领域信息安全的产品和系统要自主可控,力争到2020年实现国产密码在金融领域中的全面应用。也就是说,在金融领域,国产公链要想更加符合政策要求,密码学方面一定要使用国密的密码学算法、方案。比原链主打的就是资源的可编程性,或者说资源上链。因此,如果要符合中国的国家标准,必须要使用国密。而当前比特币或以太坊等其它的公链中使用的都是美国的密码学算法。
SM2算法
SM2算法类似于比特币里的椭圆曲线加密算法,椭圆曲线加密算法的安全性比RSA公钥密码系统要高几个数量级。这种新型的公钥密码系统拥有加解密速度更快,使用的密钥更短的优点。SM2 算法密钥长度在192至256位长度时的安全性就能达到 RSA 算法2048至4096位密钥长度的安全要求。又因为椭圆曲线算法主要是利用了一些椭圆曲线的离散对数,是非常难解的数学问题,在数学上最优解相对于指数级别的时间复杂度。所以说,在密码学没有突破的基础上,使用SM2椭圆曲线算法是优于SRA公钥密码系统。
SM3算法
SM3 密码杂凑算法是哈希算法的一种,适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证,及生成随机数,它可以满足多种密码应用的安全需求。
在比原链中,在获取交易的摘要、区块头摘要等这些过程的时候,都需要这些信息摘要算法。在哈希算法里,SM3获取的信息摘要长度是256位,与以太坊和比特币相类似。比特币和以太坊当然也使用了其它密码学位数长度的哈希算法。而在比特币、以太坊这几个著名的公链里,它们使用了SA2或SA3这样的主要算法。在国密算法里则使用了SM算法,它的安全性与SA2和SA3两个的安全性是相同的。
SM4算法
SM4分组密码算法是一种对称加密算法,使用同一个密钥对信息进行加密和解密。对称加密算法,在公链中大家可能接触最直接的应用就是在钱包里,钱包要对私钥进行加密,这个加密过程就是需要SM4算法。为什么不使用类似于非对成加密算法呢?为什么不使用SM2或其它的一些算法呢?其实,钱包考虑到效率和安全性问题。因为SM4是一种分组加密的对证密码,它在安全性上是与国际标准A1S128对称加密算法相类似的一个算法,安全性是相同的。
在比原链主网中,对用户的钱包进行加解密使用的是 AES-128 算法,而在国密测试网中,则使用 SM4 算法替代。
目前,SM2遵从的是国密标准GB/T 32918.1-2016、GB/T 32918.2-2016、GB/T 32918.3-2016、GB/T 32918.4-2016、GB/T 32918.5-2017、GB/T 35275-2017、GB/T 35276-2017。SM3则遵从国密标准GB/T 32905-2016。SM4尊崇的是国密标准GB/T 32907-2016。
国密测试链:随时可转成符合国密标准的主网
国密测试链于今年10月17号上午10点挖出一个创世区块,它相对于主网做了一些相应的改变,比如说区块奖励,每个区块是1250个BTM,总币数是21亿个,所有21亿个国密测试网的币是没有预留的,全部都由矿工挖出,也就是说挖矿生成币占总币量的100%。其它公链地址前缀主网以bm开头,国密算法标准的地址是以gm开头。
目前来说,比原链的国密测试网已经在bytom主页上开源,它的体验流程和主网没有差别,唯一的不同在于底层对一些加密算法进行了底层的改造和替换,符合国家对金融信息安全的一些安全性要求。
你们在阿里云或腾讯云上租用密码加密机时,保存私钥的硬件设备肯定要符合国务院对于金融加密安全的要求,所以它也要符合SM2、SM3、SM4的加密标准要求。比原链作为一些原子资产的交互协议,我们在国密测试网也使用了SM2、SM3、SM4三个国标的加密算法。
从这个意义上来说,为了保证在资产上链的合规性要求,比原链做了这么一个国密测试网,将来如果政策允许,那么比原链的测试网随时可以转成一个符合国密标准的主网。也就是说,比原链的战略布局相对于其它的一些公链而言,要提前一些。