性能提升 47 倍,Safeheron TSS-RSA 算法正式开源

Safeheron2022-06-25 11:50


Safeheron 作为一支多年处于密码学与区块链安全最前沿的团队,一直致力于提高与丰富区块链的原生特性 ,构建区块链场景中的最佳密码学实践。


近期,我们团队根据 Practical Threshold Signatures 论文,实现且开源了 TSS-RSA (Threshold Signature Scheme of RSA) 算法库,并与 Arweave 生态项目方展开了深入合作。

算法详情请见 Safeheron TSS-RSA GitHub
https://github.com/Safeheron/tss-rsa-cpp


算法介绍


门限签名是一种分布式多方签名协议,包含分布式密钥生成,签名和验签算法。例如一个 ( 2,3 ) 门限方案,门限值为 3,即三个用户共同管理一个私钥。每个人都只持有部分私钥分片,其余分片不会公开。为了进行交易签名,需要将至少两个用户的签名数据整合在一起才能构建有效签名。


TSS-RSA 是使用 C++ 开发的基于 RSA 的门限签名算法,与传统的门限签名相比,其优势是:

  • 基于 RSA 困难问题;

  • 签名共享生成和验证是完全非交互的;

  • 单个私钥分片签名的内容体积会更小。


此外,相较于传统多重签名来说,TSS-RSA 生成的签名数据不会多于多重签名生成的签名数据。交易时使用 TSS-RSA 只会伴随一个签名数据,所以交易处理费(有时称为交易费或燃料费)可以被控制在最低水平且将密钥的生成和密钥管理的责任分给多方,安全消除单私钥的风险负担。


功能使用


该库依赖于 OpenSSL, Protocol Buffers 以及 crypto-suites-cpp 开源库,使用 Cmake 实现自动化编译,目前可在 macOS 和 Linux 上运行。其中 crypto-suites-cpp 为 Safeheron 开发的一个密码学套件库,里面包含常见的加密算法、哈希算法,以及秘密共享方案和零知识证明协议等。


功能可分为四个功能模块,分别是生成私钥分片、生成签名分片、签名分片的合并、签名验证。


生成私钥分片

生成私钥分片前,需要先指定初始化参数,随后调用 GenerateKey 接口生成私钥分片。


生成签名分片

使用 EncodeEMSA_PSS 接口对消息进行预处理,随后使用生成的私钥分片对预处理后的消息进行签名,生成签名分片,同时生成该签名分片的正确性证明。


签名分片的合并

调用 CombineSignatures 接口对生成的签名分片进行合并。


签名验证

调用 VerifyEMSA_PSS 接口验证签名的完整性,随后调用 VerifySignature 接口验证签名的正确性。验证流程跟标准的 RSA 算法是一致的。

运行结果前往 Safeheron TSS-RSA GitHub 查看
https://github.com/Safeheron/tss-rsa-cpp


性能展示


以 Golang 开发的开源项目 TCRSA 也是对 Practical Threshold Signatures 论文的一种实现,但在效率方面不尽如人意。


我们团队为明确 TSS-RSA 库和 TCRSA 库的效率差异,分别进行了 Benchmark 测试,并对以上四个功能模块进行对比分析,测试结果如下所示:

对比以上两表可知,在运行环境和参数取值相同的情况下,TSS-RSA 和 TCRSA 两种算法实现的效率差异主要体现在私钥分片生成的过程。其中 TSS-RSA 执行一次私钥分片生成仅需要 35.3s,而 TCRSA 执行一次私钥分片生成需要 1673.92s,约是前者的 47.4 倍。进一步地,TSS-RSA 的签名分片生成过程也比 TCRSA 的快约 2.5 倍。


总体来看,TSS-RSA 执行一轮完整的签名生成和验证需要 35.55s,而 TCRSA 执行完一轮完整的签名生成和验证需要 1674.79s,后者所需时间约是前者的 47 倍。


未来计划


Safeheron 与 Arweave 生态的金融基础设施的 everPay(everFinance)达成战略合作,并在不久后会推出可信 RSA 密钥分片服务 (TEE Based RSA Key Shard Service),持续为其项目及整个 Arweave 生态提供坚实有力的安全基础设施支持。


可信 RSA 密钥分片服务采用了基于 Intel CPU 硬件提供的 SGX 机密计算技术,通过将 TSS-RSA (Threshold Signature Scheme of RSA) 算法中生成密钥和分片的整个过程放入可信执行环境中执行,保障 RSA 密钥可用且仅对硬件加密芯片可见,解决了中心化生成 RSA 密钥存在的潜在安全问题。与此同时,基于 Safeheron 提供的独有企业级安全解决方案,配合 Intel 的远程认证技术,保证密钥分片生成的整个流程是可信的,且这种可信是从技术上可证明的。


届时,Safeheron 也会将整个可信 RSA 密钥分片服务开源,通过完全透明化的方式来保证系统的安全可信,为区块链安全贡献力量。



官网:https://www.safeheron.com/

Twitter:https://twitter.com/Safeheron



【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

来源链接

相关Wiki

相关标签