5个不稳定版本
0.5.0 | 2023年7月12日 |
---|---|
0.4.1 | 2023年3月10日 |
0.3.1 | 2023年3月10日 |
0.3.0 | 2022年9月25日 |
0.1.0 |
|
#1670 in 密码学
58 每月下载次数
520KB
12K SLoC
确定性PGP密钥
从12词种子短语生成PGP密钥。
安装
cargo install deterministic-pgp-keys
示例
示例:生成新的种子短语
$ deterministic-pgp-keys --name "Jeffrey Bolle" \
--email "[email protected]" \
--date "2022-09-21" \
--public-key public.asc \
--private-key private.asc \
--generate
Seed Phrase:
1: design 7: bubble
2: car 8: hospital
3: dutch 9: muffin
4: struggle 10: earn
5: hello 11: half
6: pluck 12: best
written: private.asc
written: public.asc
$ gpg --keyid-format long --show-key public.asc
pub rsa4096/507815B996600F36 2022-09-21 [C]
AE39CF95A4039CAEFD1C22A7507815B996600F36
uid Jeffrey Bolle <[email protected]>
sub rsa4096/D92839349498B4E1 2022-09-21 [S]
sub rsa4096/F29826BF06FF3C1C 2022-09-21 [E]
sub rsa4096/A8A8BD8D480C88FB 2022-09-21 [A]
$ sha256sum public.asc private.asc
074722130decd18b9a1eaf1219d5bb358745c517a8af9c3d6a81ead03e25ad50 public.asc
37cf6cc556e27c35a1e9325587079d651e5ca5fd77851676b4929560460c6626 private.asc
从现有的种子短语恢复密钥
$ deterministic-pgp-keys --name "Jeffrey Bolle" \
--email "[email protected]" \
--date "2022-09-21" \
--public-key public.asc \
--private-key private.asc
Seed Phrase: design car dutch struggle hello pluck bubble hospital muffin earn half best
written: private.asc
written: public.asc
$ gpg --keyid-format long --show-key public.asc
pub rsa4096/507815B996600F36 2022-09-21 [C]
AE39CF95A4039CAEFD1C22A7507815B996600F36
uid Jeffrey Bolle <[email protected]>
sub rsa4096/D92839349498B4E1 2022-09-21 [S]
sub rsa4096/F29826BF06FF3C1C 2022-09-21 [E]
sub rsa4096/A8A8BD8D480C88FB 2022-09-21 [A]
$ sha256sum public.asc private.asc
074722130decd18b9a1eaf1219d5bb358745c517a8af9c3d6a81ead03e25ad50 public.asc
37cf6cc556e27c35a1e9325587079d651e5ca5fd77851676b4929560460c6626 private.asc
密钥生成稳定性
密钥生成仅保证与相同的主要版本号(对于0.x版本为次要版本号)的稳定性。请注意您用于生成密钥的版本,以确保您可以在以后重新生成它们。具体来说,在0.3.x和0.4.x版本上生成的密钥不能在0.5.x版本上重新生成。
致谢
在pgp
模块下的大部分代码是从pgp crate复制并为此项目修改的。
许可
MIT或Apache 2.0
依赖
~13–25MB
~328K SLoC