暗号技術における鍵(Key)
暗号
技術において、
鍵とは暗号アルゴリズムの手順を制御するためのデータです。
鍵は、同じ暗号方式を使用しながらも、利用者ごとに暗号化の手順を異なるものにするために考案されました。暗号化だけでなく、
デジタル署名やメッセージ
認証コード(Keyed-hashなど)にも利用されます。また、擬似乱数で用いられるシード(種)も
鍵の一種と見なされます。
現代暗号ではアルゴリズムが公開されているため、
鍵が第三者に渡ると
暗号文の秘匿性が失われるという重要な役割を担います。
概要
暗号化において、
鍵は利用者ごとに異なる
暗号文を生成するために使用されます。同じ
平文と暗号方式でも、
鍵が異なれば全く異なる
暗号文が生成されます。
暗号文を復号する際も、暗号化に使用した
鍵に対応する
鍵が必要です。共通
鍵暗号では暗号化と同じ
鍵を、
公開[[鍵暗号]]では対応する別の
鍵を使用します。
鍵を失うと復号が不可能になるため、厳重な管理が必要です。
例えば、シーザー暗号ではアルファベットをずらす数が
鍵となり、ずらす数によって異なる
暗号文が生成されます。
デジタル署名においても、
鍵は利用者ごとに異なる署名を生成するために使用されます。利用者が秘密に保持している
鍵がなければ、同じ署名を生成できないことが、
デジタル署名の信頼性の根拠となります。
現実世界の
鍵を錠前、暗号
鍵を
鍵と見立てることができますが、実際の錠前が特定の
鍵しか受け付けないのに対し、暗号では無数の
鍵(
鍵空間)を受け入れる点が異なります。
鍵のデータ量は
鍵長と呼ばれ、一般的に2進数で表現したビット長で表されます。
鍵長が不十分な場合、総当たりで
鍵を割り出される可能性があるため、暗号強度に直結します。
コンピュータの性能向上に伴い、より長い
鍵長が求められるようになっています。
鍵長を長くすると安全性は高まりますが、計算量が増加し利便性が低下します。しかし、アルゴリズムによって必要な
鍵長は異なり、楕円曲線暗号などのアルゴリズムを利用することで
RSA暗号よりも短い
鍵長で同等の安全性を確保できます。
鍵の種類
共通鍵: 共通鍵暗号で使用され、暗号化と復号に同じ鍵を使用します。以前は単に秘密鍵と呼ばれていましたが、公開[[鍵暗号]]の登場により区別するために共通鍵と呼ばれるようになりました。通常、128〜256ビット程度のバイナリデータであり、ランダムに生成されます。
公開鍵/秘密鍵:
公開[[鍵暗号]]で使用される
鍵のペアです。公開
鍵は暗号化や署名検証に使用され、秘密
鍵は復号や署名生成に使用されます。秘密
鍵はプライベート
鍵または私有
鍵と呼ばれることもあります。
マスター鍵: 他の鍵を生成する際に使用される、最上位の鍵です。
個別鍵, 派生鍵: マスター
鍵から派生した
鍵で、特定の目的に利用されます。
共有鍵: 複数の当事者間で共有する鍵です。
セッション鍵: 特定の通信セッションでのみ使用される一時的な
鍵です。
*
シード鍵: 乱数生成の種となる
鍵です。
鍵は暗号
技術において非常に重要な役割を担っており、その適切な管理がシステムの安全性を維持する上で不可欠です。
鍵の種類や用途を理解し、適切に利用することが重要です。