暗号文(Ciphertext)
暗号文(Ciphertext) とは何ですか?
暗号文(Ciphertext)暗号化アルゴリズムの出力。正しい鍵がなければ誰にも内容が分からないことを目指したデータ。
暗号文とは、特定の鍵・モード・(該当する場合は)nonce や IV のもとで暗号アルゴリズムが平文から生成した、暗号化された形式です。適切に設計された暗号は、鍵なしでは暗号文をランダムなデータと計算量的に区別できないようにします。これは IND-CPA として、また認証付き方式については IND-CCA 安全性として形式化される性質です。
暗号文だけでは安全性は保証されず、それがどのように生成され、扱われるかが重要です。適切な鍵管理、改ざんを検知するための認証付き暗号(AES-GCM、ChaCha20-Poly1305)、そしてメッセージごとに一意な nonce と組み合わせなければなりません。GCM の nonce を再利用すると認証鍵が壊滅的に漏洩します。歴史には、基盤となる暗号そのものを破ることなく、暗号文の処理のされ方を悪用して平文を復元した攻撃が数多くあります。CBC に対するパディングオラクル攻撃、TLS 1.0 を狙った BEAST(CVE-2011-3389)、Lucky Thirteen のタイミング漏洩、そして POODLE(CVE-2014-3566、2014 年 10 月公表)は、SSL 3.0 の可鍛性のある CBC パディングへのダウングレードを強制し、セッションクッキーを 1 バイトずつ復号しました。
得られる防御上の教訓は一貫しています。AEAD モードを優先すること、MAC-then-encrypt ではなく encrypt-then-MAC を用いること、定数時間での検証を行うこと、そして認証タグの検証に失敗した暗号文は、他のいかなる処理を行う前に拒否することです。
flowchart LR
P[平文] --> E[暗号化<br/>暗号 + 鍵 + nonce/IV]
E --> C[暗号文 + 認証タグ]
C -->|保存 / 送信| V{タグを検証}
V -->|タグ有効| D[復号 → 平文]
V -->|タグ無効| R[拒否 — 処理しない]● 例
- 01
クライアントとサーバー間で AES-256-GCM の暗号文を運ぶ TLS レコード。
- 02
信頼できないオブジェクトストレージに保管しても安全な、暗号文形式の暗号化バックアップファイル。
● よくある質問
暗号文(Ciphertext) とは何ですか?
暗号化アルゴリズムの出力。正しい鍵がなければ誰にも内容が分からないことを目指したデータ。 サイバーセキュリティの 暗号 カテゴリに属します。
暗号文(Ciphertext) とはどういう意味ですか?
暗号化アルゴリズムの出力。正しい鍵がなければ誰にも内容が分からないことを目指したデータ。
暗号文(Ciphertext) からどのように防御しますか?
暗号文(Ciphertext) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。