5 个版本
0.0.5 | 2024年2月29日 |
---|---|
0.0.4 | 2023年8月23日 |
0.0.3 | 2023年7月23日 |
0.0.2 | 2023年3月27日 |
0.0.1 | 2023年3月22日 |
#1603 在 密码学
每月 下载 24 次
用于 2 crate
55KB
756 行
tlock_age:Rust 中的混合时间锁定加密/解密
tlock_age 是一个库,用于使用 tlock 方案加密和解密 age 文件密钥。它提供了由 drand 灯塔提供的 age 身份和接收者消耗阈值 BLS 签名。
参考可互操作的 Go 实现在 drand/tlock。
目录表
特性
- 在 age 格式中进行时间锁定加密和解密
- ASCII 护甲
- tlock 头部解密
- 在 G1 和 G2 上使用公钥加密
- 与 Go 和 JS 实现的互操作性
- wasm32 兼容库
安装
环境 | CLI 命令 |
---|---|
Cargo (Rust 1.74+) | cargo安装 tlock_age |
该库针对以下目标进行了测试:x86_64-unknown-linux-gnu
、armv7-unknown-linux-gnueabihf
、aarch64-unknown-linux-gnu
、wasm32-wasi
。
使用
代码示例提供在 tlock_age/examples。
tlock 系统依赖于 unchained drand 网络。
此 crate 不提供 drand 客户端。您可以使用 drand_core。
安全考虑
此软件尚未经过审计。请自行决定使用。考虑到这一点,deep 安全性依赖于以下
- tlock:基于阈值 BLS 的实用时间锁定加密 by Nicolas Gailly, Kelsey Melissaris, and Yolan Romailler,以及其在 drand/tlock 中的实现,
- 基于身份的加密 by Dan Boneh 和 Matthew Franklin,以及其在 thibmeu/tlock-rs 中的实现,
- 选择的 drand 灯塔保持诚实,
- age 加密协议,以及其在 str4d/rage 中的实现,
常见问题解答
实用时间锁定加密是如何工作的
简单解释,您可以参考挥挥手进行密码学。
如果您需要更详细的说明,应该花时间阅读Nicolas Gailly、Kelsey Melissaris和Yolan Romailler撰写的tlock:基于阈值BLS的实用时间锁定加密(tlock: Practical Timelock Encryption from Threshold BLS)。
我如何从命令行使用它
您需要一个客户端。使用tlock-rs的客户端有
许可证
本项目遵循MIT许可证。
贡献
除非您明确表示,否则您提交给本作品的所有有意贡献都应按上述MIT许可证许可,不附加任何额外条款或条件。
依赖项
~14–23MB
~288K SLoC