IDベース暗号

鍵交換

概要

鍵交換は,自身の秘密鍵と他パーティの公開鍵を用いて共有鍵を生成するスキームである.

鍵交換スキームは,一般的に次の処理から構成される.

  1. 各パーティの鍵ペアを構成するためのシステムパラメータを決定する.
  2. 自身の秘密鍵をシステムパラメータを用いて生成する.
  3. 他パーティの IDベース公開鍵を取得する.
  4. 秘密鍵と公開鍵を用いて,暗号演算を実行し共有情報を生成する.
  5. 鍵導出関数とそのパラメータを用いて,共有情報より共有鍵を生成する.

基本アルゴリズム

ペアリング演算 $e_m$ を用いた共有情報(鍵)の生成は,次のように行える.

Wang Key Agreement

共有鍵列 $K_1$ ~ $K_t$ を以下の手順により生成する (W-KA-G).

(→ IEEE P1636.3/D1 Draft Standard for Identity-based Public-key Cryptography Using Pairings 参照)

  1. システムパラメータを取得する.
  2. IDベース秘密鍵 $U$ と鍵ペア $(u, V)$ を選択する (P-WKA-D1、P-WKA-D2プリミティブ).
  3. 他のパーティのIDベース公開鍵 $W'$ と公開鍵 $V'$ を取得する.
  4. $U$,$u$,$V$,$W'$,$V'$ より共有情報 $z$ を生成する (P-WKA-D3プリミティブ).
  5. $z$ を FE2OSP によりオクテット列 $Z$ に変換する.
  6. 鍵交換パラメータ $P_i$ を取得する.
  7. $Z$ と $P_i$ より,鍵導出関数(KDF1等) を用いて共有鍵 $K_i$ を生成する.

SCC Key Agreement

共有鍵列 $K_1$ ~ $K_t$ を以下の手順により生成する(SCC-KA-G).

(→ IEEE P1636.3/D1 Draft Standard for Identity-based Public-key Cryptography Using Pairings 参照)

  1. IDベース秘密鍵 $d$ と鍵ペア $(x, E = xP)$ を選択する.
  2. 他のパーティのIDベース公開鍵 $Q$ と公開鍵 $E'$ を取得する.
  3. $d$,$x$,$Q$ より共有情報 $z$ を生成する (P-SCK-D1プリミティブ).
  4. $z$ を FE2OSP によりオクテット列 $Z$ に変換する.
  5. 鍵交換パラメータ $P_i$ を取得する.
  6. $Z$ と $P_i$ より,鍵導出関数(KDF1等) を用いて共有鍵 $K_i$ を生成する.
inserted by FC2 system