読者から良い質問がありました。今回はこれを題材に、ウォレットの安全性についておさらいをしておこうとおもいます。
【質問】
早速、質問ですが、TREZORの24語のシードフレーズについての質問です。世界のどこかで、攻撃者が、シードフレーズ(24単語)を全て当てようと考えたとして、このとき、考えられる組み合わせは、BIP39(2048word)の24桁分で、2048^24=「80桁通り亅という計算はあってますか?もし合ってた場合、これを破るためには、今現在の「総当たり攻撃」でどれくらいの時間がかかる物でしょうか?それと、TREZORタイプTという製品ですが、これは、シードフレーズが、TREZORONEの半分の、12語になっているみたいなんですが、これは、単純に半分の2048^12=「40桁通り」で合ってますか?24語に比べると、半分になります。単純に半分の時間でハッキング可能になりますか?素人なりに、セキュリティ的に心配になるんですが、この辺はどうなんでしょうか?最近、遠隔地からのシードフレーズが破られる可能性について、色々ネット上で調べますが、もやもやしてまして質問させてい頂きました。
24単語の組み合わせはどのくらいの数か?
さて、まず最初のところから考えていきましょう。BIP39の規格では、2048個の単語のなかから24個の単語を選んでシードフレーズにします。このとき、単語は重複しても構わないので、組み合わせの数は、2048の23乗になります。(最後の1単語はチェックサム=過ち検出のためのチェックワード)なので、実際は23単語の組み合わせになります。これは何桁の数になるでしょうか?Googleに式をいれると簡単に計算してくれます。log(2048^23) = 76(桁)ですね。