SAKKE鍵の概要
Detailed Description
SAKKE(酒井-笠原鍵暗号化)は、RFC 6508(https://tools.ietf.org/html/rfc6508)で規定されています。
SAKKEは、アイデンティティベース暗号化を使用してピアに秘密を転送するために使用されます。
鍵管理サービス(KMS)は、受信者秘密鍵(RSK)の発行を担当します。 最大(2^hashlen)^hashlenバイトのデータを転送できます。
送信者は受信者のアイデンティティとKMS公開鍵を知っている必要があります。
受信者は、秘密を導出するために、KMSからアイデンティティの受信者秘密鍵(RSK)を取得している必要があります。
KMS:
- SAKKE鍵の初期化: wc_InitSakkeKey()
- SAKKE鍵の作成と保存またはロード:
- リクエストを待機:
- クライアントのIDに基づいてRSKを作成: wc_MakeSakkeRsk()
- クライアントへの転送のためにRSKをエンコード: wc_EncodeSakkeRsk()
- SAKKE鍵の解放: wc_FreeSakkeKey()
鍵交換、ピアA:
- SAKKE鍵の初期化: wc_InitSakkeKey()
- KMS公開鍵をロード: wc_ImportSakkePublicKey()
- ランダムなSSVを生成: wc_GenerateSakkeSSV()
- ピアBのアイデンティティを設定: wc_SetSakkeIdentity()
- カプセル化されたSSVと認証データを作成: wc_MakeSakkeEncapsulatedSSV()
- カプセル化されたデータをピアBに送信
- SAKKE鍵の解放: wc_FreeSakkeKey()
鍵交換、ピアB:
- カプセル化されたデータを受信
- SAKKE鍵の初期化: wc_InitSakkeKey()
- KMS公開鍵をロード: wc_ImportSakkePublicKey()
- KMSから転送されたまたはローカルに保存されたRSKをデコード: wc_DecodeSakkeRsk()
- [オプション]最初の使用前にRSKを検証: wc_ValidateSakkeRsk()
- アイデンティティを設定: wc_SetSakkeIdentity()
- RSKと、オプションで事前計算テーブルを設定: wc_SetSakkeRsk()
- 認証データでSSVを導出: wc_DeriveSakkeSSV()
- SAKKE鍵の解放: wc_FreeSakkeKey()
秘密の転送、ピアA:
- SAKKE鍵の初期化: wc_InitSakkeKey()
- KMS公開鍵をロード: wc_ImportSakkePublicKey()
- ピアBのアイデンティティを設定: wc_SetSakkeIdentity()
- SSVと認証データのカプセル化を作成: wc_MakeSakkeEncapsulatedSSV()
- カプセル化されたデータをピアBに送信
- SAKKE鍵の解放: wc_FreeSakkeKey()
秘密の転送、ピアB:
- SAKKE鍵の初期化: wc_InitSakkeKey()
- KMS公開鍵をロード: wc_ImportSakkePublicKey()
- KMSから転送されたまたはローカルに保存されたRSKをデコード: wc_DecodeSakkeRsk()
- [オプション]最初の使用前にRSKを検証: wc_ValidateSakkeRsk()
- カプセル化されたデータを受信
- アイデンティティを設定: wc_SetSakkeIdentity()
- RSKと、オプションで事前計算テーブルを設定: wc_SetSakkeRsk()
- SSVと認証データを導出: wc_DeriveSakkeSSV()
- SAKKE鍵の解放: wc_FreeSakkeKey()
Updated on 2025-12-12 at 03:08:17 +0000