Caution
This is a joke software. Do not use SSH keys generated by this software. Use ssh-keygen instead.
GithubのcommitのVerifyに使えるVanityなSSH Key FingerprintをGPUで探索するプログラムです。
自分の環境ではCPUの40倍以上の速度になりますが、CPUとGPUによると思います。
config.hの値は私の環境向けに最適化してあるので他のGPUでは最適かどうかわかりません。
元ネタ: https://github.com/akiym/ed25519brute
- MSVC (ex. Visual Studio 2022)
- CUDA Toolkit
-
build.batを編集しtargetアーキテクチャをお使いの環境に合わせる
-
run
.\build.bathelpを見てね
./build/ed25519brute.exe
Options:
--fingerprint-prefix <string> Fingerprint prefix to search for
--fingerprint-suffix <string> Fingerprint suffix to search for
--blocks <number> Number of CUDA blocks (default: 256, max: 4096)
Note: At least one of prefix or suffix must be specified..\build\ed25519brute_cuda.exe --fingerprint-suffix AAAAAA
SSH Key Fingerprint CUDA Brute Force
=====================================
Searching for suffix: AAAAAA
Starting search...
Checked: 50 M keys | Speed: 44.34 MKeys/s | Time: 1.1s
============================================
Match found after checking ~100663296 keys!
============================================
Seed (32 bytes): f7af4ff16e93f102803737bbf7e2f3bbdba5a565c2caea22dba4d6080d597fc3
Private Key (64 bytes): f7af4ff16e93f102803737bbf7e2f3bbdba5a565c2caea22dba4d6080d597fc35c9e490bb65d7d07ba1a6ba5b76de8bbb29f0c122564c3be3b3710103680c2db
Public Key (32 bytes): 5c9e490bb65d7d07ba1a6ba5b76de8bbb29f0c122564c3be3b3710103680c2db
Fingerprint: SHA256:h3O4gFxOWWpulaLtSguubJDWv+5hT9xeagL/4AAAAAA
Key information written to found_key.txt
OpenSSH private key written to: id_ed25519
OpenSSH public key written to: id_ed25519.pub
安全のために同じbase_seedで複数の鍵を作ったらだめだよ!
コードを変更して複数の鍵を見つけるようにするときは、鍵が見つかったらbase_seedを作り直してね!