なぜパスワードは
破られるのか
——暗号の数学
量子コンピュータの脅威
私たちのパスワード、銀行の取引、メッセージ——現代のあらゆる「秘密」は、暗号という数学に守られています。では、なぜパスワードは破られてしまうのか? 暗号はどんな「数学的な難しさ」で情報を守っているのか? そして、その守りを根底から覆すかもしれない「量子コンピュータ」とは何なのか。情報を守る者と暴く者の、数千年にわたる知の攻防を解き明かします。
そもそもパスワードは、どう保管されているのか
「パスワードが破られる」と聞くと、誰かがあなたのパスワードの文字列を盗み見るイメージかもしれません。でも実際には、まともなサービスはパスワードそのものを保存していません。もし保存していたら、その会社のデータが漏れた瞬間、全員のパスワードがバレてしまうからです。
代わりに使われるのが「ハッシュ関数」という数学の仕組みです。ハッシュ関数は、入力(パスワード)を、まったく異なる固定長の文字列(ハッシュ値)に変換します。重要なのは、これが「一方通行」であること——パスワードからハッシュ値は簡単に計算できるのに、ハッシュ値から元のパスワードを逆算するのは事実上不可能なのです。サービスはハッシュ値だけを保存し、ログイン時に入力されたパスワードを同じ方法でハッシュ化して、保存された値と一致するか確認します。
たった1文字変えるだけで、ハッシュ値は全く別物になる(雪崩効果)。
なぜパスワードは破られるのか——攻撃の数学
ハッシュ値からは逆算できないはずなのに、なぜパスワードは破られるのでしょうか。攻撃者は「逆算」ではなく、「正解を片っ端から試して、ハッシュ値が一致するものを探す」という力技を使います。以下は、攻撃の代表的な考え方です(あくまで仕組みの理解のために、概念として説明します)。
情報を守る数学——2種類の暗号
パスワードのハッシュ化だけでなく、通信や保存データを守る「暗号化」にも数学が使われます。暗号には大きく2つの方式があります。
量子コンピュータという脅威——守りが崩れる日
現代暗号の安全性は「素因数分解は時間がかかりすぎて無理」という前提に立っています。ところが、その前提を根底から覆しかねない技術が現れました——量子コンピュータです。
自分の情報を守るために——実践的な防御
難しい数学の話をしてきましたが、私たち一人ひとりができる防御は、実はとてもシンプルです。そして、それが最も効果的です。
// Summary
- まともなサービスはパスワードそのものでなく「ハッシュ値」を保存する。ハッシュ関数は一方向(計算は簡単、逆算は不可能)——この非対称性が暗号の心臓部。1文字違うだけで結果が激変する(雪崩効果)
- パスワードが破られるのは「逆算」でなく「正解を片っ端から試す」力技から。総当たり・辞書攻撃(ありがちな語)・事前計算(ソルトで対抗)・漏洩したパスワードの使い回し。被害の多くは数学を破るより「人間の油断」を突く
- パスワードの強さは主に「長さ」で決まる——1文字増えるごとに組み合わせが指数関数的に爆発する。複雑な記号より「とにかく長いパスフレーズ」が数学的に強い
- 暗号には共通鍵(同じ鍵で施錠・解錠、速いが鍵の受け渡しが課題)と公開鍵(公開鍵で施錠・秘密鍵で解錠、HTTPSの根幹)がある。RSAの安全性は「掛け算は簡単、素因数分解は地獄」という非対称性に依存
- 量子コンピュータの脅威:量子ビットの重ね合わせで並行計算が可能。ショアのアルゴリズム(1994)は素因数分解を高速化しRSAを理論上破る。グローバーは総当たりを高速化(鍵を倍にすれば対抗可)。「今盗んで後で解読」の脅威も
- 守る側は「耐量子暗号(格子問題など量子でも解けない数学)」への移行を進行中。個人の防御は——長いパスフレーズ・使い回さない・パスワードマネージャー・二段階認証・フィッシング警戒。シンプルだが最も効果的
この攻防は、古代の暗号から量子コンピュータまで、
何千年も続いてきた、人類の知の競争です。
その最前線で、あなたの秘密を守っているのは——
巨大な素数や、一方通行の関数たち。
そして最後の砦は、いつだって、
私たち自身の、ほんの少しの注意深さなのです。