ビットコインの秘密鍵を探索する
こんにちは、@tanapro です。第2のドワンゴ Advent Calendar 2017の23日の記事です。社員じゃないですけど勝手に登録しました 😊
さて、ビットコインの話なのですが、世間では秘密鍵を紛失してしまう人が少なからずいます。最近ではこんなニュースもありました。
つらいですね。
ビットコインの秘密鍵のパターンは2256通りあり、目的のアドレスを総当りで探索することは不可能です。地球上に存在する原子の数よりも遥かに多いです。しかし、誰かが使いそうな秘密鍵だけに絞って探索することはできます。辞書攻撃みたいなやつです。
今回はいろいろな文字列をsha256にかけ、その結果を秘密鍵としてビットコインのブロックチェーンを参照したとき何が見えるのかを検証します。
test
"test"という文字列をsha256にかけ16進数にすると "9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08" となります。これを秘密鍵とした場合、公開アドレスは "19eA3hUfKRt7aZymavdQFXg5EZ6KCVKxr8" となります。
Address: 19eA3hUfKRt7aZymavdQFXg5EZ6KCVKxr8 | Blockchain Explorer
取引、ありましたね。残高はゼロですが、資金を入れて引き出した形跡はあります。やはりエンジニアの仕業でしょうか。
こんな感じでそれっぽい文字列をsha256にかけ、どんどん見ていきます。
satoshi
Address: 1xm4vFerV3pSgvBFkyzLgT1Ew3HQYrS1V | Blockchain Explorer
取引履歴が2件あります。
bitcoin
Address: 18VkRiDhFu2Z17AvtpU3vL2LbTXDzCvDVo | Blockchain Explorer
4件ありますね。
hello
Address: 1MmqjDhakEfJd9r5BoDhPApCpA75Em17GA | Blockchain Explorer
またありました。
1
Address: 1Dt8ty59tU9LkrXG2ocWeSzKFAY8fu6jga | Blockchain Explorer
ありますね。
php
Address: 1A8SghdcrWbpvynHYz8XERzeEDTDj3oyaZ | Blockchain Explorer
ありませんでした。
皆さんも探してみてください。 (くれぐれも、こんな弱い秘密鍵は使わないように!)