3 个版本
0.0.3 | 2020年6月15日 |
---|---|
0.0.2 | 2020年1月29日 |
0.0.1 | 2019年8月20日 |
#1663 in 加密学
每月 138 次下载
用于 slip39
90KB
2K SLoC
rust-sssmc39
"我认为 Shamir 秘密共享(以及许多其他东西,例如 RNGs),有一个属性,即它们足够复杂,以至于人们会因为很少的理由而兴奋地实现它们,并且它们足够复杂(或者有很少的理由投入大量时间),它们实现得不好。" -Gregory Maxwell
"拿着我的伏特加" -Yeastplume
这是目前非常开发中的 Rust 实现 SLIP-0039: Mnemonic 码的 Shamir 秘密共享。它正在开发中,最终将集成到 Grin 钱包中,但我希望它对任何想要实现主密钥共享方案的人来说都是有用的。该规范不仅操作于 BIP-39 码,还可以分割几乎任何大小的密钥,因此应该适用于各种需求。
再次强调,这是一个未经测试的开发中版本,所以请自行承担风险。
状态
- 域算术、底层加密和 RS1024 代码就绪。
- 份额分割、份额到 Mnemonic 的转换和反向转换就绪。
- 从份额 Mnemonic 中恢复密钥就绪
- 通过原始 Python 引用实现的测试向量(见下文)
- 主密钥到组 Mnemonic 的转换就绪(见
src/lib.rs
中的测试)
待解决
- 某些代码区域的调整(检查 TODOs)
- API 调整
- 文档
- 持续集成
- 社区审查和一定程度上的代码审计
- 发布
鸣谢
代码使用 SLIP-0039 Python 引用实现 作为参考编写
域算术代码借鉴自 Rusty Secrets,所有派生源文件中都有许可证详细信息。
Rusty Secrets 是从 sellibitze's secretshare 分支出来的。
依赖关系
~3.5–6.5MB
~153K SLoC