4个版本 (2个重大更改)
0.3.2 | 2022年6月7日 |
---|---|
0.3.0 | 2021年3月24日 |
0.2.0 | 2020年9月26日 |
0.1.0 | 2020年6月8日 |
#1667 in 命令行工具
每月24次下载
67KB
1.5K SLoC
VanityGPG (vanity_gpg)
用于生成和过滤虚荣GPG密钥的简单工具(即 OpenPGP 密钥指纹碰撞工具),c0nCurr3nt1Y。
安装
当前版本(v0.3),VanityGPG 提供了两套后端,Sequoia-OpenPGP
和 rPGP
。如果您的系统中已安装 libclang
,则建议使用默认的 sequoia 后端。
安装 sequoia 后端所需的依赖项(假设您正在使用 Ubuntu)
apt install git rustc cargo clang make pkg-config nettle-dev libssl-dev capnproto libsqlite3-dev
使用 cargo
安装 VanityGPG
cargo install vanity_gpg
如果您的系统没有提供 libclang
,还有一个纯 Rust 的 rPGP
后端可用
cargo install vanity_gpg --no-default-features --features rpgp
如果使用 rPGP 后端,不建议将其生成的密钥用作主密钥。它使用 PRNG 生成随机数,这被认为(有点)不安全。
性能
以下参数
./vanity_gpg -c Ed25519 -jX -u "Kay Lin <[email protected]>" -p "(8B){5,20}$|(B8){5,20}$|(EB){5,20}$|(BE){5,20}$|(EF){5,20}$|(FE){5,20}$|A{10,40}$|B{10,40}$|C{10,40}$|D{10,40}$|E{10,40}$|F{10,40}$|1{10,40}$|2{10,40}$|3{10,40}$|4{10,40}$|5{10,40}$|6{10,40}$|7{10,40}$|8{10,40}$|9{10,40}$|0{10,40}$|1145141919810$"
系统/后端 | Sequoia | 备注 |
---|---|---|
Tegra210 (X1) @ 1.9GHz (-j4) | ~6,300,000 哈希/秒 | Fedora AArch64,sequoia 后端,Jetson Nano |
Intel Xeon E3-1231 V3 @ 3.4GHz (-j8) | ~15,000,000 哈希/秒 | FreeBSD,sequoia 后端,未使用 jemalloc |
Intel Core i7-8569U @ 2.8GHz (-j8) | ~18,000,000 哈希/秒 | macOS,sequoia 后端,使用 Nix 构建 |
AMD Ryzen 5 3600 @ 3.9GHz (-j12) | ~80,000,000 哈希/秒 | NixOS,sequoia 后端 |
AMD Ryzen 7 3700x @ 4.1GHz (-j16) | ~120,000,000 哈希/秒 | AOSC OS,sequoia 后端 |
致谢
Sequoia-OpenPGP
和 rPGP
团队,感谢他们的出色工作。
@nwalfield,感谢他极其有用的建议,这极大地提高了 VanityGPG 的性能(#2)。
用法
vanity_gpg 0.3.0
A simple tool for generating and filtering vanity GPG keys, c0nCurr3nt1Y
USAGE:
vanity_gpg [FLAGS] [OPTIONS] --pattern <pattern>
FLAGS:
-d, --dry-run Dry run (does not save matched keys)
-h, --help Prints help information
-v, --verbose Verbose level
-V, --version Prints version information
OPTIONS:
-c, --cipher-suite <cipher-suite>
Cipher suite [default: Ed25519] [possible values: Ed25519, RSA2048, RSA3072, RSA4096,
NISTP256, NISTP384, NISTP521]
-j, --jobs <jobs> Number of threads [default: 8]
-p, --pattern <pattern> Regex pattern for matching fingerprints
-u, --user-id <user-id> OpenPGP compatible user ID
备注
- 将启动一个额外的线程以显示摘要。
- 建议使用正则表达式配合多个规则以实现最大效率。
勘误
在AArch64机器上,您可能需要在编译前禁用"asm"
功能,以便编译sha-1
。
依赖项
~13–31MB
~423K SLoC