中級者用語を調べる
エントロピーとは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 5 分
結論
エントロピーは、鍵の元になる乱数がどれだけ予測しにくいかを表す量です。仮想通貨のウォレットでは128ビット以上が標準で、この値が十分に大きければ総当たりは現実的に不可能です。逆に、人が考えた単語や日付を種にすると、資産は短時間で奪われます。
要点
- 鍵の予測しにくさをビット数で表した指標
- 12語で128ビット、24語で256ビット
- 人が考えた文字列はエントロピーが極端に低い
- 乱数生成の質が悪いと鍵の長さは無意味になる
定義
乱数がとりうる場合の数を対数で表した、予測困難さの尺度。ビット数が1増えるごとに候補が2倍になる。
128ビットのエントロピーは、候補が2の128乗、約3.4×10の38乗通りあるという意味です。世界中の計算資源を集めても総当たりは終わりません。BIP39では128ビットが12語、256ビットが24語に対応します。24語のほうが強いのは事実ですが、128ビットの時点で総当たりは非現実的なので、実務上の差は限定的です。
問題は乱数の質です。ウォレットは通常、OSが提供する暗号学的乱数生成器を使い、ハードウェアウォレットは専用の乱数源を持ちます。一方、サイコロや人の頭で作った「ランダムそうな」値はエントロピーが大幅に低くなります。有名な事例に「ブレインウォレット」があり、好きなフレーズをハッシュして鍵にする方式でしたが、辞書攻撃によって次々と資産が抜かれました。
自分でエントロピーを用意したい場合は、サイコロを使う方法が知られています。6面サイコロ1回で約2.58ビットなので、128ビットには50回程度必要です。ただし手順を誤ると偏りが生じるため、通常はハードウェアウォレットの生成機能に任せるほうが安全です。
注意点
- · 覚えやすいフレーズから鍵を作る方式は、総当たりで破られた実例がある
- · オンラインの乱数生成サイトは、生成値が記録されている可能性を排除できない
- · 中古や封が破られたハードウェアウォレットは、乱数が仕込まれている恐れがある