SCIS 2004 The 2004 Symposium on Cryptography and Information Security Sendai, Japan, Jan.27-30, 2004 The Institute of Electronics, Information and Communication Engineers ハイブリッド暗号の安全性について On the Security of Hybrid Public-Key Encryption 長尾 若∗ Waka Nagao 真鍋 義文 ∗ † Yoshifumi Manabe 岡本 龍明 ∗ ‡ Tatsuaki Okamoto あらまし 公開鍵暗号を用いて秘密鍵暗号のための鍵配送を行い,その秘密鍵を用いてデータの暗号化 を行なう方式は従来用いられていたが,Shoup はこの方式を鍵共有 (KEM) とデータの暗号化 (DEM) を 組み合わせたハイブリッド暗号というフレームワークで定式化を行ない,現在ではこれが広く認められ つつある.このような背景や暗号の重要性を踏まえ,ISO では暗号に関して理論的安全性を考慮しつつ標 準化を進めている.KEM における理論的安全性に関しては,今まで強秘匿 (IND) 性のみが研究され,頑 強 (NM) 性に関しては研究がされていない.そこで本稿では,公開鍵暗号において定義されている 3 つの NM 性に対応した形で,KEM において新たな NM 性を定義する.そして,新たに定義した 3 つの NM 性 が等価であることを証明し,KEM における IND-CCA2 と NM-CCA2 との等価性を証明する. キーワード KEM, DEM, ハイブリッド暗号, IND, NM 1 はじめに 現在の情報化社会においてハイブリッド暗号は広く使 われているが,公開鍵暗号を鍵配送に特化した鍵共有 (KEM) とデータの暗号化 (DEM) という 2 つのフレーム ワークからなるハイブリッド暗号系が Shoup によって定 式化され,新たに提案されている.そして,ISO を中心に このフレームワークでのハイブリッド暗号系の標準化が 進められており [1],欧州連合 (EU) の暗号評価プロジェ クト NESSIE においても KEM に基づく方式が採用され ている [2].ハイブリッド暗号の安全性は KEM と DEM の安全性により定義されるが,KEM は公開鍵暗号を鍵 配送に特化したものであるため,公開鍵暗号の安全性と 同様に定式化される.公開鍵暗号の安全性は一般に暗号 おいて定義されている 3 つの NM 性に対応した,KEM に おける 3 つの NM 性を新たに定義し,それらが等価であ ることを証明する.また,公開鍵暗号系と同じく,KEM においても IND-CCA2 と NM-CCA2 とが等価であるこ とを証明する. 2 ハイブリッド暗号 公開鍵暗号方式には,暗号化・復号化に非常に長い時 間がかかるというデメリットがある.これに対し共通鍵 暗号方式には高速に暗号化・復号化が行えるというメリッ トがある.これらを考慮して公開鍵暗号方式を鍵配送の みに利用し,共通鍵暗号方式をデータの送受信に利用す る仕組みが考えられた.これがハイブリッド暗号である. 系に対する攻撃の種類と暗号系が耐えうる安全性レベ ハイブリッド暗号は RSA 暗号などの各暗号系で独自に構 ルの組によってなされ,攻撃には受動的な攻撃法 (CPA) 築されてきたが,Shoup[1] により KEM と DEM による と能動的な攻撃法 (CCA1 および CCA2) などがあり,安 ハイブリッド暗号が新たに提案され,広く認められつつ 全性レベルには一方向 (OW) 性,強秘匿 (IND) 性,頑強 ある.KEM は鍵共有における初めての定式化であり,ハ (NM) 性 [3]∼[5] が定義されている.現在,KEM におい ては OW および IND のみが定義され,NM に該当するも イブリッド暗号のみならずハイブリッドメッセージ認証, ハイブリッド相手認証等への応用も含めた鍵共有の一般 のが定義されていない.そこで,本稿では公開鍵暗号に 的な定式化となっている.つまり,KEM は DEM と全く ∗ 独立な概念であり (DEM の存在可能性などに全く関係 † ‡ 京都大学大学院情報学研究科社会情報学専攻〒 606-8501 京都市左京 区吉田本町 Department of Social Informatics, Graduate School of Informatics, Kyoto University Yoshidahonmachi, Sakyo-ku, Kyoto-shi, Japan, [email protected] NTT サイバースペース研究所〒 239-0847 横須賀市光の丘 1-1 NTT Cyber Space Laboratories 1-1 Hikarinooka, Yokosukashi, Japan, [email protected] NTT 情報流通プラットフォーム研究所〒 239-0847 横須賀市光の丘 11 NTT Information Sharing Platform Laboratories 1-1 Hikarinooka, Yokosuka-shi, Japan, [email protected] なく),鍵共有の一般的な定式化となっている.KEM と DEM によるフレームワークは KEM および DEM の望ま しい安全性を満足すれば暗号系が異なってもそれらを組 み合わせて安全なハイブリッド暗号を構築可能であるこ とを意味する.以下では,ISO における KEM の定義と その安全性を紹介する. 2.1 KEM ば,攻撃者がネットワーク上に流れる暗号文を改ざんし, KEM とは二者 X,Y の間において鍵 K を共有するため に公開鍵暗号を鍵配送に特化させた手法である.ISO で 特定の関係を持つ暗号文を生成することが可能である. は KEM のスキーム ΠK を以下のように定義している. を暗号化して送信した時,攻撃者が No という内容の暗 例えば,送信者が重要な契約書に Yes という内容の返事 号文に改ざんして受信者に送ることができる.以上は 1. 鍵生成アルゴリズム KEM.KeyGen() により,公 開鍵 P K と秘密鍵 SK とのペア (P K, SK) を生成 する 2. 暗号化アルゴリズム KEM.Encrypt() は P K を入 力として,共有するための鍵 K とその暗号文 C0 のペア (K, C0 ) を出力する 3. 復号化アルゴリズム KEM.Decrypt() は SK と暗 号文 C0 を入力として鍵 K ,もしくは ⊥ を出力する (⊥ は正しい暗号文ではないことを表す) 鍵 K を共有する二者 X,Y の間で,X から Y へと鍵 K を配送するものとする.まず事前に Y は公開鍵と秘密鍵 のペア (P KY ,SKY ) を KEM.KeyGen() により生成し, P KY を公開しておく.Y に鍵配送をしたい場合には,X が公開されている P KY を入力とし,KEM.Encrypt() を用いて (K, C0 ) を出力する.X は K を所有し,C0 を Y へと配送する.Y は C0 と自身の秘密鍵 SKY を入力とす る KEM.Decrypt(SKY , C0 ) により鍵 K を得る.このよ うに二者 X,Y 間において鍵 K を共有することが出来る. KEM において定義されている IND-CCA2 の安全性は, 攻撃者 A に対して次のゲームを考えて定義される.まず, KEM.KeyGen() により公開鍵と秘密鍵のペア (P K ,SK) を生成する.この P K により攻撃者以外の第三者 (暗号 化オラクル) が KEM.Encrypt(P K) を用いて鍵 K ∗ とそ の暗号文 C0∗ のペア (K ∗ , C0∗ ) を作成する.暗号化オラク e も生成する.ここで, ルは鍵 K ∗ と同じ長さの偽の鍵 K 二つの鍵のどちらか一方を暗号化オラクルが選択し,暗 号文 C0∗ とのペアを A に与える.さらに A には P K が与 えられている.攻撃者 A は次に暗号文を復号化する復号 化オラクルに C0∗ ではない暗号文 C[i](i = 1, 2, …, n) を 送る.復号化オラクルはそれらを復号化し,平文 P [i] を A に返す.A はこの情報をもとに,暗号化オラクルがど ちらの鍵を選択したのかをあてる. 3 Non-Malleable Non-Malleable(NM) 性とは公開鍵暗号系において定 義された安全性の一つであり頑強性と呼ばれる.公開 鍵暗号系において NM 性を持つとは,二つの平文 x と x0 間で成り立つある非自明な関係 R(x, x0 ) があり,これに 対して x の暗号文 C から R(x, x0 ) を満足する x0 の暗号文 0 C を生成することが困難であることをいう (自明とは例 えば x と x’ の長さが等しいなどがある).関係 R にはビッ ト反転などがある.もし,この NM 性が満たされなけれ 公開鍵暗号についての危険性であるが,KEM において NM 性が満足されていない場合にも,鍵を書き換える事 が出来るので,特定の関係を持つ鍵に改ざんされる可能 性があり,何らかの危険性を生じる恐れがある.よって, KEM における NM 性を定義することは非常に重要なこ とである. 公開鍵暗号系では,Dolev,Dwork,Naor による NM 性 [3](以下,SNM-PKE と呼ぶ),Bellare,Desai,Point- cheval,Rogaway による NM 性 [5](以下,CNM-PKE と 呼ぶ),Bellare,Sahai による Parallel attack を用いた NM 性 [4](以下,PNM-PKE と呼ぶ) が定義され,それらの 間に等価性が成り立つことが証明されている. 本稿では,ハイブリッド暗号の KEM において新たな NM 性を公開鍵暗号の定義に対応した形で 3 つ定義し, それらにおいて等価性が成り立つことを証明する.各定 義は ISO における KEM のスキーム ΠK をもとに定義し ている.さらに攻撃の種類 atk は選択平文攻撃 (cpa),選 択暗号文攻撃 (cca1),適応的選択暗号文攻撃 (cca2) のい ずれかを示し,cpa,cca1,cca2 の各攻撃にパラレル攻撃 [4] を加えた時の攻撃をそれぞれ pa0,pa1,pa2 で表す.こ こでパラレル攻撃とは,復号化オラクルに対して一度だ け暗号文を送ることができる攻撃法である.定義では, 攻撃者やシミュレータの復号化オラクルを O1 , O2 で表 し,その復号化アルゴリズム KEM.Decrypt(SK, ·) は Dsk (·) で表す.また ε は復号化オラクルを参照しないこ とを表す.次に,セキュリティパラメータを z ,平文と 暗号文ベクトルにおける関係を R で表し,鍵空間を K, 状態情報を s とする. 以下で,SNM-PKE の考えに対応した KEM における NM 性 (以下,SNM-KEM と呼ぶ),CNM-PKE の考えに 対応した KEM における NM 性 (以下,CNM-KEM と呼 ぶ),PNM-PKE の考えに対応した KEM における NM 性 (以下,PNM-KEM と呼ぶ) の 3 つの定義を示す. 3.1 SNM-KEM 図 1に定義を示す.ΠK における攻撃者を A = (A1 , A2 ),シミュレータを S = (S1 , S2 ) とするとき,攻撃者 A における SNM-KEM の安全性は,アドバンテージ snm−atk AdvA,S,Π (R, z) で定義される.全ての多項式で表され K る攻撃アルゴリズムの実行時間 p(z) において,全ての snm−atk 関係 R と全ての攻撃者 A に対して AdvA,S,Π (R, z) が K 無視できるくらい小さくなる S が存在するとき,SNMsnm−atk KEM は安全であるという.AdvA,S,Π (R, z) は暗号文 K C0∗ を受け取る攻撃者のアルゴリズム Exptsnm−atk (R, z) A,ΠK cnm−atk 図 1: SNM-KEM Definition ¶ snm−atk AdvA,S,Π (R, z) ≡ K Pr[Exptsnm−atk (R, z) = 1] A,ΠK − Pr[Exptsnm−atk (R, z) = 1] S,ΠK g A,Π け取る攻撃者のアルゴリズム Expt (z) が成功す K ³る時の確率の差である.ただし,K は ⊥ を含まない. 図 2: CNM-KEM Definition ¶ cnm−atk (z) ≡ AdvA,Π K where snm−atk ExptA,Π (R, z) K − ← KEM.KeyGen(1z ) ← A1O1 (pk) ← KEM.Encrypt(pk) ∧ K ∗ ∈K (C , s2 ) ← A2O2 (s1 , C0∗ ) K ← KEM.Decrypt(sk, C ) (pk, sk) (K, s1 ) (K ∗ , C0∗ ) (pk, sk) ← (K, s) ← (K ∗ , C0∗ ) ← (R, C ) ← K snm−atk ExptS,Π (R, z) K (K, s1 ) ← K ∗ ← (C , s2 ) ← K ← Pr[Exptcnm−atk (z) = 1] A,ΠK cnm−atk g A,Π Pr[Expt K (z) = 1] where Exptcnm−atk (z) A,ΠK return 1 iff (C0∗ 6∈ C ) ∧ R(K ∗ , K, K, s2 ) (pk, sk) ← ³ KEM.KeyGen(1 ) cnm−atk g A,Π Expt K S1O1 (pk) K S2O2 (s1 ) KEM.Decrypt(sk, C ) のアルゴリズム Exptsnm−atk (R, z) が成功する時の確率 S,ΠK の差である.ただし,K は ⊥ を含まない.SNM-PKE と KEM.Encrypt(pk) ∧ K ∗ ∈K ∗ 2 AO 2 (s, C0 ) KEM.Decrypt(sk, C ) (z) (pk, sk) ← KEM.KeyGen(1z ) (K, s) ← 1 AO 1 (pk) K∗ ∗ が成功する時の確率とそれを受け取れないシミュレータ 1 AO 1 (pk) return 1 iff (C0∗ 6∈ C ) ∧ R(K ∗ , K) z return 1 iff R(K , K, K, s2 ) and If atk = cpa then O1 = ε and O2 = ε. If atk = cca1 then O1 = Dsk (·) and O2 = ε. If atk = cca2 then O1 = Dsk (·) and O2 = Dsk (·). µ ← KEM.KeyGen(1z ) ← K e C f0 ) (K, ← e KEM.Encrypt(pk) ∧ K∈K f ) (R, C ← 2 f AO 2 (s, C0 ) f K ← f ) KEM.Decrypt(sk, C f ) ∧ R(K ∗ , K) f f0 6∈ C return 1 iff (C and If atk = cpa then O1 = ε and O2 = ε. If atk = cca1 then O1 = Dsk (·) and O2 = ε. If atk = cca2 then O1 = Dsk (·) and O2 = Dsk (·). µ ´ ´ O2 2 の違いは,AO 2 と S2 の出力に状態情報を出力させる点 とシミュレータ S に復号化オラクルを利用できるように した点である. 3.2 CNM-KEM 3.3 PNM-KEM 図 3に定義を示す.ΠK における攻撃者を A = (A1 , 図 2に定義を示す.ΠK における攻撃者を A = (A1 , A2 ) とするとき,PNM-KEM の安全性はアドバンテージ pnm−atk AdvA,Π (z) で定義され,これが多項式で表される,A K A2 ) とするとき,CNM-KEM の安全性はアドバンテージ による攻撃アルゴリズムの実行時間 p(z) において無視で cnm−atk AdvA,Π (z) で定義される.全ての多項式で表される K cnm−atk 攻撃アルゴリズムの実行時間 p(z) において,AdvA,Π K (z) が無視できるくらい小さくなるとき,CNM-KEM は cnm−atk 安全であるという.AdvA,Π (z) は鍵 K ∗ の暗号文 C0∗ K きるくらい小さいとき,PNM-KEM は安全であるという. を受け取る攻撃者のアルゴリズム Exptcnm−atk (z) が成 A,ΠK e の暗号文 C f0 を受 功する時の確率と鍵 K ∗ ではない鍵 K 定義において攻撃者 A = (A1 , A2 ),A2 = (A2,q , A2,g ) を 考える.攻撃者 A1 は,鍵空間 K と状態情報 s1 を出力す る.s1 は A2,q へと渡す情報である. KEM.Encrypt(pk) は鍵 K ∗ とその暗号文 C0∗ のペア (K ∗ , C0∗ )(ただし,K ∗ は K の要素である) を出力する. 定理 3 PNM-KEM ⇒ CNM-KEM 図 3: PNM-KEM Definition ¶ pnm−atk AdvA,Π (z)≡Pr[Exptpnm−atk (z) = 1] − A,ΠK K ³ 1 2 それぞれの定理について,以下で証明を与える. 4.1 CNM-KEM ⇒SNM-KEM SNM-KEM が安全でないと仮定して CNM-KEM が安 全でないことを示す.SNM-KEM における攻撃者を A = where pnm−atk ExptA,Π (z) K (pk, sk) ← KEM.KeyGen(1z ) (A1 , A2 ),シミュレータを S = (S1 , S2 ),CNM-KEM に おける攻撃者を B = (B1 , B2 ) とする.まず Exptcnm−atk B,ΠK (R, z) をシミュレートすることができ (z) が Exptsnm−atk A,ΠK (K, s1 ) ← A1O1 (pk) g ることを示し,次に Exptsnm−atk (R, z) と Expt B,ΠK S,ΠK (K ∗ , C0∗ ) ← KEM.Encrypt(pk) ∧ K ∗ ∈K e K b X cnm−atk (z) のアルゴリズムが等しくなることを証明する.図 4に B1O1 ,B2O2 ,S1O1 ,S2O2 の構成を示す.B1O1 , B2O2 がそれ ← K ← {0, 1} ½ ∗ ∗ (K , C0 ) if b = 0 ← e C ∗ ) if b = 1 (K, ← O2 A2,q (s1 , X) K ← KEM.Decrypt(sk, C ) g ← O2 (K, s2 ) A2,g return 1 iff and If atk = pa0 If atk = pa1 If atk = pa2 µ 1 (K, s1 )←AO 1 (pk) return (K, (K, s1 )) AlgorithmB2O2 ((K, s1 ), C0∗ ) (C0∗ 6∈ C ) ∧ (g = b) ∗ 2 (C , s2 ) ← AO 2 (s1 , C0 ) then O1 = ε and O2 = ε. then O1 = Dsk (·) and O2 = ε. then O1 = Dsk (·) and O2 = Dsk (·). Define R0 by R0 (a, b) = 1 であるとき,この攻撃者は攻撃に成功すると定義する. リズム Exptpnm−atk (z) が成功する確率と 12 との差が無 A,ΠK iff R(a, b, K, s2 ) = 1 ´ e を生成する.そ 次に,K の要素であるもう一つの鍵 K して,ランダムに b = {0, 1} の値を選び,b = 0 のとき e C ∗ ) のペアを X と (K ∗ , C0∗ ) のペアを,b = 1 のとき (K, 0 して出力する.A2,q は s1 と X を受け取り,状態情報 s2 と暗号文ベクトル C を出力する.A2,g は s2 と復号化オ ラクル KEM.Decrypt(sk, C ) により出力される復号文 ベクトル K を受け取り,g の値を出力する.ここで,暗 号文ベクトル C の中に C0∗ が含まれず,なおかつ g = b 攻撃者が以上のような振舞いで攻撃を行う時にアルゴ return (R0 , C ) AlgorithmS1O1 (pk) (K, s1 ) ← 1 AO 1 (pk) return (K, s1 ) AlgorithmS2O2 (s1 ) e C f0 ) (K, e ← KEM.Encrypt(pk) ∧ K∈K f , s2 ) (C 2 f ← AO 2 (s1 , C0 ) という. f , s2 ) return (C µ 4 O2 cnm−atk 1 ぞれ AO (z) が 1 , A2 を用いることにより,ExptB,ΠK 視できるくらい小さいとき,PNM-KEM は安全である 各定義の等価性証明 前章では KEM における 3 つの新たな NM 性を定義し たが,ここではそれらの間で成り立つ以下の定理につい て述べる. 定理 1 CNM-KEM ⇒ SNM-KEM 定理 2 SNM-KEM ⇒ PNM-KEM ³ AlgorithmB1O1 (pk) 0 (C , s2 ) 図 4: CNM-KEM ⇒SNM-KEM ¶ ´ Exptsnm−atk (R, z) をシミュレートすることができる.次 A,ΠK に,S1O1 , S2O2 を図 4のように構成した時,Exptsnm−atk S,ΠK cnm−atk g B,Π (R, z) と Expt K (z) が等しくなる. よって, cnm−atk snm−atk AdvB,Π (z) ≥ AdvA,S,Π (R, z) K K が成り立つ. 4.2 1 1 + p1 × ) 2 2 1 ≤ (p0 + p1 ) × 2 1 ≤ 2 SNM-KEM ⇒PNM-KEM ≤ (p0 × PNM-KEM が安全でないと仮定して SNM-KEM が安 全でないことを示す.SNM-KEM における攻撃者を A = (A1 , A2 ),PNM-KEM における攻撃者を B = (B1 , B2 ), B2 = (B2,q , B2,g ) とする.まず Exptsnm−atk (R, z) が A,ΠK pnm−atk ExptB,ΠK (z) をシミュレートすることができることを 示し,次に Exptsnm−atk (R, z) が成功する時の確率が最 S,ΠK O2 1 大でも 12 となることを証明する.図 5に AO 1 ,A2 ,R の O2 1 構成を示す.図 5から AO 1 , A2 ,R は B を用いて表すこ ¶ 図 5: SNM-KEM ⇒ PNM-KEM となる. pnm−atk snm−atk よって,AdvA,S,Π (R, z) と AdvB,Π (z) との間の K K 関係は以下のようになる. pnm−atk AdvB,Π (z) = K Pr[Exptpnm−atk (z) = 1] − B,ΠK ≤ Pr[Exptsnm−atk (R, z) = 1] A,ΠK 1 − + ²(z) 2 Pr[Exptsnm−atk (R, z) = 1] A,ΠK ³ 1 AlgorithmAO 1 (pk) ≤ B1O1 (pk) (K, t1 ) ← K1 ← K K 0 ; K2 ← K = {K1 , K2 } −Pr[Exptsnm−atk (R, z) = 1] S,ΠK +²(z) ≤ Let s1 = (K0 , t1 , pk). return (K0 , s1 ) pnm−atk snm−atk AdvA,S,Π (R, z) ≥ AdvB,Π (z) K K が成り立つ. where s1 = (K0 , t1 , pk) 4.3 O2 B2,q (t1 , X) Choose random coins σ for B2,g . ← (t2 , σ) return (C , s2 ) RelationR(K ∗ , K, K, s2 ) where s2 = (t2 , σ) Let b ∈ 0, 1 . If K ∗ = K1 , then b = 0. Otherwise, b = 1. O2 return 1 iff B2,g (K, t2 ; σ) = b µ とができ,Exptsnm−atk (R, z) が Exptpnm−atk (z) をシミ A,ΠK B,ΠK B,ΠK ムになる.ゆえに,図 6のように構成することにより, cnm−atk g B,Π Exptpnm−atk (z) は Exptcnm−atk (z) と Expt (z) の A,ΠK B,ΠK K ´ 両方をシミュレートすることができる.よって,Pr[Expt ュレートすることができる.次に,Exptsnm−atk (R, z) が S,ΠK 成功する確率が最大でも 21 となることを証明する.Expt pnm−atk (z) の第三者が選択する b の値に対して,Expt B,ΠK snm−atk (R, z) が b を出力する確率を pb とする.pb は Expt S,ΠK snm−atk (R, z) と Exptpnm−atk (z) が独立であるので,p0 + S,ΠK B,ΠK snm−atk p1 ≤ 1 である.ExptS,ΠK (R, z) が成功する確率は, Pr[Exptsnm−atk (R, z) = 1] S,ΠK = (p0 × Pr[b = 0] + p1 × Pr[b = 1]) PNM-KEM ⇒CNM-KEM CNM-KEM が安全でないと仮定して PNM-KEM が安 全でないことを示す.PNM-KEM における攻撃者を A = (A1 , A2 ), A2 = (A2,q , A2,g ),CNM-KEM における攻撃 O2 O2 1 者を B = (B1 , B2 ) とする.図 6に AO 1 ,A2,q ,A2,g の構 pnm−atk 成を示す.ExptA,ΠK (z) における X において,第 3 者 ∗ が b=0 を選択すると,X は鍵 K ∗ とその暗号文 CO のペア cnm−atk ∗ ∗ (K , CO ) となる.このとき,CNM-KEM の ExptB,ΠK (z) のアルゴリズムと対応する.また,b=1 のとき,X e と暗号文 C ∗ のペア (K, e C ∗ ) となり, は K ∗ ではない鍵 K O O e C ∗ ) のように鍵と暗号文のペアが CNM-KEM では (K, O cnm−atk g 対応していない Expt (z) に相当するアルゴリズ (K1 , C0∗ ) ← (C , t2 ) ← s2 snm−atk AdvA,S,Π (R, z) + ²(z) K ²(z) は無視できる程小さいので, ∗ 2 AlgorithmAO 2 (s1 , C0 ) X 1 2 pnm−atk (z) A,ΠK = 1] は, Pr[Exptpnm−atk (z) = 1] A,ΠK = Pr[b = 0]×Pr[b = 0∧g = 0] = +Pr[b = 1]×Pr[b = 1∧g = 1] 1 ×{Pr[Exptcnm−atk (z) = 1]×1 B,ΠK 2 1 +(1 − Pr[Exptcnm−atk (z) = 1])× } B,ΠK 2 cnm−atk 1 g + ×{Pr[ExptB,ΠK (z) = 1]×0 2 図 6: PNM-KEM ⇒CNM-KEM ¶ 価性により NM-CCA2-KEM と IND-CCA2-KEM は等し ³くなる. 1 AlgorithmAO 1 (pk) 5 (K, t) ← B1O1 (pk) s1 ← (K, t) ISO を中心として新たにハイブリッド暗号に関する標 準化案が議論されている.現在,KEM に対しては IND 性のみが定義されていたが,本稿では NM 性について 3 つの定義を新たに定義した.そして,それらの間に等価 性が成り立つことを証明し,IND-CCA2-KEM と NMCCA2-KEM が等しいことを述べた.今後はハイブリッ ド暗号におけるもう一つのフレームワークである DEM に関する NM 性に関しても検討を行う. return (K, s1 ) 2 AlgorithmAO 2,q (s1 , X) where s1 = (K, t) (R, C ) ← B2O2 (t, C0∗ ) s2 ← (R, X, C ) 参考文献 return (C , s2 ) [1] V.Shoup, “A Proposal for an ISO Standard for Public Key Encryption (version 2.1), ”manuscript, December 20, 2001. 2 AlgorithmAO 2,g (K, s2 ) where s2 = (R, X, C ) [2] NESSIE, http://cryptonessie.org. If (C0∗ 6∈ C ) ∧ R(K ∗ , K) then g ← 0 else g ← {0, 1} return g µ cnm−atk g B,Π +(1 − Pr[Expt K = [3] D.Dolev, C.Dwork, and M.Naor, “Non-Malleable Cryptography, ”Proceedings of the 23rd Annual Symposium on Theory of Computing, ACM, 1991. Also Technical Report CS95-27, Weizmann Institute of Science, 1995. ´ 1 (z) = 1])× } 2 1 (Pr[Exptcnm−atk (z) = 1] B,ΠK 4 cnm−atk 1 g B,Π −Pr[Expt (z) = 1]) + K 2 となる.よって, Pr[Exptpnm−atk (z) = 1] − A,ΠK = おわりに 1 2 1 (Pr[Exptcnm−atk (z) = 1] B,ΠK 4 cnm−atk g B,Π −Pr[Expt (z) = 1]) K と変形し, pnm−atk AdvA,Π (z) = K 1 cnm−atk AdvB,Π (z) K 4 が成り立つ. 以上のように,定理 1∼3 が証明される.よって,SNM- KEM,CNM-KEM,PNM-KEM は互いに等価であるこ とが証明される.また,公開鍵暗号においては IND-CCA2PKE と NM-CCA2-PKE は等しいことが証明されている が,KEM においても以下の定理が成り立つ. 定理 4 IND-CCA2-KEM ⇔ NM-CCA2-KEM これは,まず PNM-CCA2-KEM と IND-CCA2-KEM が各定義から等しくなり,次に 4 章で証明した各定義の等 [4] M.Bellare and A.Sahai, “Non-Malleable Encryption: Equivalence between Two Notions, and an Indistinguishability-Based Characterization, ”Advances in Cryptology-Crypt’99 Proceedings, Lecture notes in computer science Vol.1666, M.Winer ed., Springer-verlag, 1999. [5] M.Bellare, A.Desai, D.Pointcheval, and P.Rogaway, “Relations Among Notions of Security for PublicKey Encryption Schemes,”Advances in CryptologyCrypt’98 Proceedings, Lecture notes in computer science Vol. 1462, H.Krawczyk ed., Springer-verlag, 1998.
© Copyright 2024 Paperzz