暗号鍵 【cipher key】 暗号化キー / encryption key / cryptographic key
概要
暗号鍵(cipher key)とは、データの暗号化や復号を行う際、計算手順に与える短い符号のこと。同じデータを同じ暗号方式で暗号化しても、異なる暗号鍵を用いて計算することで異なる暗号を得ることができる。古代の暗号では暗号化の手順自体を秘匿して伝達・共有することもあったが、コンピュータによる計算に基づく現代的な暗号アルゴリズムでは、手順の秘匿は期待できないことを前提としている。代わりに、毎回異なる短い符号を計算に加味することで暗号文を変化させ、解読を防止する。
暗号化を行う際には何らかの方法で暗号鍵を生成し、暗号化すべき平文と共に計算することにより暗号文を得る。同じ暗号方式で同じ平文を暗号化しても、異なる暗号鍵からは異なる暗号文が得られるようになっている。
共通鍵暗号の鍵
暗号方式の多くを占める共通鍵暗号(共有鍵暗号/秘密鍵暗号/対称鍵暗号)では暗号鍵を一つだけ用い、暗号化と復号の両方に用いる。この唯一の鍵が攻撃者に知られれば復号されてしまうため、送信者と受信者は何らかの安全な手段や経路によって暗号鍵を伝達・共有する必要がある。
公開鍵暗号の鍵
一方、公開鍵暗号(非対称鍵暗号)と呼ばれる方式では対になる二つの暗号鍵を生成し、一方で暗号化、もう一方で復号を行う。このうち、暗号化のための鍵は公開しても構わないため公開鍵(public key)と呼ばれ、復号のための鍵は共通鍵同様に秘匿しなければならないため秘密鍵(secret key)と呼ばれる。
公開鍵は誰でも入手できるが、数学的な原理を利用して対になる秘密鍵は容易に割り出すことができないようになっている。暗号文の送信者は受信者が公開している公開鍵を入手して暗号化を行う。復号には本人しか知らない秘密鍵が必要なため、攻撃者が暗号文と公開鍵を手に入れても内容を解読することはできない。
(2019.5.27更新)