暗号通信 【encrypted communication】
概要
暗号通信(encrypted communication)とは、二者間の情報の伝達を暗号化し、第三者に盗聴されたり改竄されたりしないよう保護すること。送信者は情報を暗号化して送り、受信者はこれを復号して元の情報を取り出す。通信を秘匿する方法にはいくつかの類型があり、情報の記録された媒体の存在を隠すなど通信自体を秘匿する手法もあるが、暗号通信は暗号化技術により伝達内容を変換し、途中で盗み見られても内容が分からないようにする手法を指す。
歴史的には、暗号表などを事前に作成・共有し、単語やフレーズ単位で無関係な別の文字などに置き換える「コード」(code)と、文字単位で置き換えや位置の入れ替えを行う「サイファー」(cipher)に分類される。現代のコンピュータなどが利用する暗号は後者の一種とみなされる。
秘匿したい通信文を「平文」(plain text)、これを内容が不明な符号列に変換する操作を「暗号化」(encryption)、得られた符号列を「暗号文」(cipher text)という。現代の暗号化は一定の数学的な計算手順である「暗号アルゴリズム」(encryption algorithm)によってビット列を操作することによって行われる。
同じ平文を同じアルゴリズムで暗号化しても毎回異なる暗号文が得られるように、平文の他に毎回異なる「暗号鍵」(cipher key)を生成し、計算手順に加える。平文が同じでも暗号鍵が異なれば暗号文も異なり、アルゴリズムが分かっていても暗号鍵が分からなければ読み解くことはできない。
歴史的にはアルゴリズムを秘匿することで安全性を担保する暗号方式も使われたが、現代のコンピュータで計算する暗号ではアルゴリズムは公開されている(あるいは攻撃者の手に渡る)ことを前提として、暗号鍵によって秘匿性を確保する考え方が一般的となっている(ケルクホフスの原理)。
同じ暗号鍵で暗号化と復号を行う方式を「共通鍵暗号」(shared key encryption)、対になる2つの暗号鍵の片方で暗号化を、もう片方で復号する方式を「公開鍵暗号」(public key encryption)という。Web通信の暗号化でよく知られるSSL/TLSでは、データ本体の暗号化に用いる共通鍵暗号の暗号鍵を通信開始時に公開鍵暗号で交換する「ハイブリッド暗号」方式となっている。