コンテンツにスキップ

SAKKE鍵の概要

More...

Detailed Description

SAKKE(酒井-笠原鍵暗号化)は、RFC 6508(https://tools.ietf.org/html/rfc6508)で規定されています。

SAKKEは、アイデンティティベース暗号化を使用してピアに秘密を転送するために使用されます。

鍵管理サービス(KMS)は、受信者秘密鍵(RSK)の発行を担当します。 最大(2^hashlen)^hashlenバイトのデータを転送できます。

送信者は受信者のアイデンティティとKMS公開鍵を知っている必要があります。

受信者は、秘密を導出するために、KMSからアイデンティティの受信者秘密鍵(RSK)を取得している必要があります。

KMS:

  1. SAKKE鍵の初期化: wc_InitSakkeKey()
  2. SAKKE鍵の作成と保存またはロード:
  3. リクエストを待機:
  4. SAKKE鍵の解放: wc_FreeSakkeKey()

鍵交換、ピアA:

  1. SAKKE鍵の初期化: wc_InitSakkeKey()
  2. KMS公開鍵をロード: wc_ImportSakkePublicKey()
  3. ランダムなSSVを生成: wc_GenerateSakkeSSV()
  4. ピアBのアイデンティティを設定: wc_SetSakkeIdentity()
  5. カプセル化されたSSVと認証データを作成: wc_MakeSakkeEncapsulatedSSV()
  6. カプセル化されたデータをピアBに送信
  7. SAKKE鍵の解放: wc_FreeSakkeKey()

鍵交換、ピアB:

  1. カプセル化されたデータを受信
  2. SAKKE鍵の初期化: wc_InitSakkeKey()
  3. KMS公開鍵をロード: wc_ImportSakkePublicKey()
  4. KMSから転送されたまたはローカルに保存されたRSKをデコード: wc_DecodeSakkeRsk()
  5. [オプション]最初の使用前にRSKを検証: wc_ValidateSakkeRsk()
  6. アイデンティティを設定: wc_SetSakkeIdentity()
  7. RSKと、オプションで事前計算テーブルを設定: wc_SetSakkeRsk()
  8. 認証データでSSVを導出: wc_DeriveSakkeSSV()
  9. SAKKE鍵の解放: wc_FreeSakkeKey()

秘密の転送、ピアA:

  1. SAKKE鍵の初期化: wc_InitSakkeKey()
  2. KMS公開鍵をロード: wc_ImportSakkePublicKey()
  3. ピアBのアイデンティティを設定: wc_SetSakkeIdentity()
  4. SSVと認証データのカプセル化を作成: wc_MakeSakkeEncapsulatedSSV()
  5. カプセル化されたデータをピアBに送信
  6. SAKKE鍵の解放: wc_FreeSakkeKey()

秘密の転送、ピアB:

  1. SAKKE鍵の初期化: wc_InitSakkeKey()
  2. KMS公開鍵をロード: wc_ImportSakkePublicKey()
  3. KMSから転送されたまたはローカルに保存されたRSKをデコード: wc_DecodeSakkeRsk()
  4. [オプション]最初の使用前にRSKを検証: wc_ValidateSakkeRsk()
  5. カプセル化されたデータを受信
  6. アイデンティティを設定: wc_SetSakkeIdentity()
  7. RSKと、オプションで事前計算テーブルを設定: wc_SetSakkeRsk()
  8. SSVと認証データを導出: wc_DeriveSakkeSSV()
  9. SAKKE鍵の解放: wc_FreeSakkeKey()

Updated on 2025-12-12 at 03:08:17 +0000