Talk is cheap, show me your code.
代码也看了,蛋也扯了,之后总该做点什么。响应国家政策,把我们的国密算法融合进去吧~~ 先附两张bccsp下国密算法的设计实现图。
一 国密算法软实现,将sm2内嵌到sw中
二 国密算法硬件实现,通过pkcs11的方式调用支持国密算法的加密机或者加密卡
这两种实现方式的具体设计可以去hyperledger的jira上查找,都是FAB-5496的子任务。
这两种方式各有优缺点,硬件实现上来说密钥可能更加安全可控,效率上也会高一点,但是比较笨重和昂贵,因为需要购买硬件加密设备;软件实现更加的灵活,但是密钥更容易被攻击者获取。
后面会分两节来具体介绍一下这两种实现。(这两种方式都是本人熟悉fabric/bccsp后进行设计和开发的,欢迎大家在jira上提出问题,代码已经进行了比较相近的单元测试,目前正在测试fabric跟bccsp相关的工具,后续会考虑开源)
------------------------------------------------------------------------------------
区块链离不开密码技术,密码技术离不开密码学(密码编码学),密码学离不开密码算法,而密码算法的安全性主要在于密钥的安全。