定義鍵のカプセル化とは、ランダムな対称鍵とその鍵に対する非対称暗号文を生成するプロセスである。公開鍵を入力とし、秘密値をカプセル化(符号化)して共有秘密値を出力する技術である。同様に、Decapsulateと呼ばれるカプセル化解除アルゴリズムは、カプセル化と秘密鍵を入力として、共有された秘密鍵を出力する。
鍵のカプセル化について
鍵のカプセル化に必要なアルゴリズムは、整数分解のような難しい数学の問題から派生している。量子コンピュータは、通信の秘密を破ることでこれらの問題を効率的に解くことができる。しかし、量子コンピュータでも解くことが難しい問題がいくつかある。これらの問題は、量子コンピュータが存在しても安全な鍵交換アルゴリズムを構築するのに役立つ。
鍵カプセル化機構(KEM)では、2人のうち1人が秘密鍵を暗号化してもう1人に送り、もう1人だけが復号して使用できるようにすれば、2人は秘密鍵について合意できる。ある当事者の公開鍵にアクセスできる者は誰でも、鍵のカプセル化(暗号プリミティブ)を介して、その当事者に安全に鍵を伝えることができる。公開鍵暗号は、共通鍵暗号を使用して実際のメッセージを暗号化する際に使用する鍵の暗号化に役立つ。
KEMは以下の3つのアルゴリズムを使用する:
- 生成:公開鍵と秘密鍵(PK,SK)を作成する。
- Encapsulate(カプセル化):入力された公開鍵から開始し、この秘密値の「カプセル化」(暗号文)と共に共有秘密値を生成する(PK,C0)。
- カプセル化と秘密鍵から開始し、共有秘密値(SK, C0)を出力する。
公開鍵システムの場合、対称鍵を送信する従来の方法は、まずランダムな対称鍵を生成し、それを選択した公開鍵技術を用いて暗号化する。次に受信者は、公開鍵メッセージを対応する秘密鍵で復号することで 対称鍵を得る。共通鍵は通常短いので、包括的なセキュリティのためにパディングが加えられる。公開鍵システムの基礎となる有限群にランダムな要素を作成し、その要素をハッシュ化することで共通鍵を生成することで、KEM は手続きを効率化し、パディングの要件を満たす。
鍵のカプセル化の一形態としてのキーラップ
キーラップ構文」として知られる一群の共通鍵暗号化アルゴリズムは、暗号鍵の材料を封入(暗号化)するために作られている。キーラップ法は、(a)安全でないストレージに保管されている鍵の安全性を確保したり、(b)信頼できない通信ネットワークを通じて鍵を送信したりするために設計されている。ブロック暗号と 暗号ハッシュ関数が、この方式を構築するための一般的なプリミティブである。
よりよく知られた非対称(公開鍵)鍵カプセル化技術とは異なるが、キーラップは鍵カプセル化 アルゴリズム(PSEC-KEMなど)の一種とみなすことができる。