Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[輪講] Foundations of Cryptography 2.4章

Avatar for shiba4839 shiba4839
October 22, 2024

[輪講] Foundations of Cryptography 2.4章

大学院の情報セキュリティに関する授業で発表した資料です。輪講形式の授業でした。読んだ本のURLは以下です。https://www.researchgate.net/profile/Oded-Goldreich/publication/239066122_Foundations_of_cryptography_II_Basic_applications/links/0deec52e2614fe1409000000/Foundations-of-cryptography-II-Basic-applications.pdf

Avatar for shiba4839

shiba4839

October 22, 2024
Tweet

More Decks by shiba4839

Other Decks in Science

Transcript

  1. Contents 2.4.1. Universal One-Way Function 2.4.2. One-Way Functions as Collections

    2.4.3. Examples of One-Way Collections 担当範囲は以下 2.4.4. Trapdoor One-Way Permutations 2.4.5. Claw-Free Functions 2.4.6. On Proposing Candidates 2
  2. 2.4.4.(P.58) Trapdoor One-Way Permutations 2.4.4.1. Definitions 2.4.4.2. The RSA (and

    Factoring) Trapdoor 2.4.4.では トラップドア置換を定義し、 よく使われる候補(i.e., RSA) を説明する 3 hard easy given t easy 𝑥 𝑓 𝑥 𝐷 𝑅 𝑓: 𝐷 → 𝑅 𝑓, 𝑡 = 𝐺𝑒𝑛(1 )
  3. 2.4.4.1. Definitions 定義 2.4.4(トラップドア置換の集合) • 確率的アルゴリズム 𝐼: 1∗ → {0,1}∗

    × {0,1}∗ • 𝐼 (1 )は𝐼(1 )により出力されたペアの最初の要素 アルゴリズムの3つ組(𝐼 , 𝐷, 𝐹)は、次の二つの条件が成り立つとき、 強い(または弱い)トラップドア置換の集合と呼ばれる 1. アルゴリズムが一方向置換の集合を導くこと 2. トラップドアで逆計算が容易なこと 以降二つの条件を説明→ 5 {0,1}∗ × {0,1}∗ (00,010) (111,10) (1101, 0) ⋮
  4. 2.4.4.1. Definitions アルゴリズムの3つ組(𝐼 , 𝐷, 𝐹)は、次の二つの条件が成り立つとき、 強い(弱い)トラップドア置換の集合と呼ばれる 1. アルゴリズムが一方向置換の集合を導くこと :三つ組(𝐼

    , 𝐷, 𝐹)は強い(または弱い)一方向置換の集合を構成 すること。特に𝐹 𝑖, 𝑥 = 𝑓 (𝑥)であること 6 定義 2.4.4(トラップドア置換の集合)
  5. 2.4.4.1. Definitions アルゴリズムの3つ組(𝐼 , 𝐷, 𝐹)は、次の二つの条件が成り立つとき、 強い(弱い)トラップドア置換の集合と呼ばれる 2. トラップドアで逆計算が容易なこと :ある(決定論的な)多項式時間アルゴリズム𝐹

    が存在し、𝐼 の範囲内のすべての(𝑖, 𝑡)に対して、およびすべての 𝑥 ∈ 𝐷 に 対して、 𝐹 𝑡, 𝑓 𝑥 = 𝑥であること。 7 𝑥 𝑓 𝑥 𝐷 𝑅 hard given t 𝐹 𝑡, 𝑓 𝑥 定義 2.4.4(トラップドア置換の集合)
  6. 2.4.4.1. Definitions 二つの条件を緩める →二つの条件が圧倒的に高い確率で満たされるということ 具体的には… インデックス生成アルゴリズム𝐼 が出力する(𝑖, 𝑡) のペアに対して、 1.

    𝑓 が置換ではない(つまり非単射等)、または 2. 𝐹 𝑡, 𝑓 𝑥 = 𝑥がすべての𝑥 ∈ 𝐷 に対して成り立たないもの が無視できる確率で存在することが許されるが、他方で、 ドメインサンプリングアルゴリズム(つまり、𝐷)が対応する ドメイン上でほぼ一様な分布を生成することが要求される 8 𝑡: インデックス𝑖 に対するトラップドア 𝐷: 定義域 (入力)を 抜き出すアルゴリズム 定義 2.4.4(トラップドア置換の集合)
  7. 2.4.4.1. Definitions つまり、二つの許容事と一つの要求事をまとめると、定義2.4.4とは異なる 次の定義2.4.5ができる 定義 2.4.5(トラップドア置換の集合, 改定) 𝐼̅ ⊆ {0,1}∗と𝐼̅

    ⊆ 𝐼̅ ∩ {0,1} とする。インデックスが𝐼̅に含まれる置換の 集合{𝑓 ∶ 𝐷 → 𝐷 } ∈ ̅ とは、各𝑓 がそれに対応する𝐷 上で1対1の置換で あるものである。このような集合がトラップドア置換の集合であるとは、次の 5つの条件を満たす4つの確率的多項式時間アルゴリズム𝐼, 𝐷, 𝐹, 𝐹 が存 在する場合を示す。 1. インデックスとトラップドアの選択 2. ドメイン内の選択 3. 効率的な計算 9 定義 2.4.4(トラップドア置換の集合)→定義 2.4.4(トラップドア置換の集合, 改定) 4. 効率的な評価 5. トラップドアを用いた逆計算
  8. 2.4.4.1. Definitions 2. ドメイン内の選択: すべての𝑛 ∈ ℕ および𝑖 ∈ 𝐼̅

    に対して、 a. Pr 𝐷 𝑖 ∈ 𝐷 > 1 − 2 b. 𝐷 𝑖 ∈ 𝐷 であることを条件として、出力は𝐷 内で均一に分布する。 すなわち、すべての𝑥 ∈ 𝐷 に対して、 したがって、 𝐷 ⊆ ⋃ {0,1} である。 一般性を失うことなく𝐷 ⊆ ⋃{0,1} (| |)。 11 定義 2.4.5(トラップドア置換の集合, 改定) 𝐼̅ ⊆ {0,1}∗ 𝐼̅ ⊆ 𝐼̅ ∩ {0,1} 𝐷 : インデックス𝑖によって定義される 可能な入力値の範囲 𝐷 𝑖 :確率的アルゴリズム𝐷により 𝐷 から確率的に選ばれた値 𝑥: 𝐷 の個々の要素
  9. 2.4.4.1. Definitions 3. 効率的な計算: すべての𝑛 ∈ ℕ, 𝑖 ∈ 𝐼̅

    および𝑥 ∈ 𝐷 に対して、 12 定義 2.4.5(トラップドア置換の集合, 改定) 𝐼̅ ⊆ {0,1}∗ 𝐼̅ ⊆ 𝐼̅ ∩ {0,1} 𝐷 : インデックス𝑖によって定義される 可能な入力値の範囲 𝐷 𝑖 :確率的アルゴリズム𝐷により 𝐷 から確率的に選ばれた値 𝑥: 𝐷 の個々の要素 つまり… インデックス𝑖と𝑥を入力とするアルゴリズム𝐹が、 𝑥を入力とする写像𝑓 と等しくなる 確率が非常に高いこと
  10. 2.4.4.1. Definitions 4. 逆計算の難しさ: 𝐼 = 𝐼(1 )の出力の最初の要素の分布を表す確率変数 とし、𝑋 ≝

    𝐷(𝐼 )と定義する。次の二つで説明される。 • 標準/一様複雑性バージョン:すべての確率的多項式時間アルゴリズム 𝐴′、 すべての正の多項式 𝑝( )、および十分に大きな 𝑛に対して • 非一様複雑性バージョン:すべての多項式サイズの回路族 {𝐶 } ∈ℕ 、 すべての正の多項式 𝑝( )、および十分に大きな 𝑛に対して 13 定義 2.4.5(トラップドア置換の集合, 改定)
  11. 2.4.4.1. Definitions 5. トラップドアを用いた逆計算: すべての𝑛 ∈ ℕ, 𝐼(1 )の範囲内で𝑖 ∈

    𝐼̅ の任 意のペア(𝑖, 𝑡)、およびすべての𝑥 ∈ 𝐷 に対して、 つまり、トラップドア𝑡と𝑥による写像𝑓 を入力とする 逆計算アルゴリズム𝐹 で𝑥が計算される確率は非常に高い 14 定義 2.4.5(トラップドア置換の集合, 改定) 𝑥 𝑓 𝑥 hard easy given t 𝐹 𝑡, 𝑓 𝑥 𝐼: 1∗ → {0,1}∗ × {0,1}∗ 𝐼̅ ⊆ {0,1}∗ 𝐼̅ ⊆ 𝐼̅ ∩ {0,1} 𝑡: インデックス𝑖 に対するトラップドア 𝐷
  12. 2.4.4.2. The RSA(and Factoring)Trapdoor 15 前述(2.4.3.1.)のRSAの集合はトラップドアの特性を持つ。 𝐼 はインデックス(𝑁, 𝑒)とトラップドア(𝑁, 𝑑)を出力するとする。

    逆計算アルゴリズム𝐹 は𝐹 と同様で、𝐹 ( 𝑁, 𝑑 , 𝑦) = 𝑦 (mod 𝑁)。これより、以下が分かる これは𝑥 ≡ 𝑥(mod 𝑁) より、𝑥と等しい。 素数𝑃, 𝑄で𝑁 = 𝑃𝑄 𝑒: (𝑃 − 1)(𝑄 − 1)と互いに素 𝑒𝑑 ≡ 1 (mod (𝑃 − 1)(𝑄 − 1))) 𝑥:平文
  13. 2.4.5.(P.60) Claw-Free Functions 2.4.5.1. The Definition 2.4.5.2. The DLP Claw-Free

    Collection 2.4.5.3 Claw-Free Collections Based Factoring 17 𝑥 𝑓 𝑥 𝐷 𝑅 𝑦 𝑧 𝑓 𝑦 𝑓 𝑥 = 𝑓 𝑦 = 𝑧 2.4.5.では クローフリー関数を定義し、 その集合を説明する。 claw 𝑥, 𝑦 を見つけるのが困難な関数
  14. 2.4.5.1. Definitions 定義 2.4.6(クローフリー関数) 関数のペアのある集合が、インデックスの無限集合𝐼̅、各𝑖 ∈ 𝐼̅に対する 有限集合𝐷 と𝐷 、および𝐷

    と𝐷 上で定義されたそれぞれの関数𝑓 と𝑓 から成る。このような集合が、クローフリーであるとは次の3つの条件 を満たす3つの確率的多項式時間アルゴリズム𝐼, 𝐷, 𝐹 が存在する場合を示す。 1. サンプリング及び計算が容易 2. 同一の(写像の)値域分布 3. クローを見つけるのが困難 以降三つの条件を説明→ 19
  15. 2.4.5.1. Definitions 1. サンプリング及び計算が容易 :確率変数𝐼(1 )は、𝐼̅ ∩ {0,1} に値を持つとする。このとき、 各𝑖

    ∈ 𝐼̅ およびσ ∈ {0,1} に対して、確率変数𝐷(𝜎, 𝑖)は𝐷 上で一様に 分布し、𝐹 𝜎, 𝑖, 𝑥 = 𝑓 (𝑥) は各𝑥 ∈ 𝐷 に対して成り立つ。 2.同一の(写像の)値域分布 :インデックス集合𝐼̅ の各𝑖に対して、確率変数𝑓 (𝐷 0, 𝑖 )と𝑓 (𝐷 1, 𝑖 ) は同一に分布する。 20 定義 2.4.6(クローフリー集合) 𝐼̅ ⊆ {0,1}∗
  16. 2.4.5.1. Definitions 3.クローを見つけるのが困難 : 𝑓 (𝑥) = 𝑓 (𝑦)をみたすペア(𝑥, 𝑦)を、インデックス𝑖のクローと呼ぶ。

    𝐶 をインデックス𝑖のクローの集合とし、すべての確率的多項式時間 アルゴリズム 𝐴′、すべての正の多項式𝑝( )、および十分に大きな 𝑛に対して ここで、 𝐼 は入力1 に対するアルゴリズム𝐼の出力分布を表す確率変数である。 21 定義 2.4.6(クローフリー集合)
  17. 2.4.5.1. Definitions 1. サンプリング及び計算が容易 2. 同一の(写像の)値域分布 3. クローを見つけるのが困難 定義2.4.6の条件1と定義2.4.3の条件1は類似している。なお、 クローフリー関数の集合は強い一方向性関数の集合を生じる。

    • クローフリーペアの置換の集合 𝐷 ≝ 𝐷 = 𝐷 の場合、確率変数𝐷(𝜎, 𝑖)は𝐷 上で一様に分布し、 𝑓 と𝑓 は 𝐷 上の置換となる。 22 定義 2.4.6(クローフリー集合) 定義 2.4.3(一方向性関数の集合) 1.サンプリング及び計算が容易 2.逆計算が困難
  18. 2.4.5.2. The DLP Claw-Free Collection 23 クローフリーの集合が、特定の計算困難性仮定の下で存在することを示す →素数の有限体に対する離散対数問題(DLP)が扱いにくいという仮定の 下で、示してみる インデックス集合は(P,

    G, Z)から成る • 𝑃は素数 • 𝐺は有限体内の元Pの原始元 • 𝑍は有限体(Pの剰余類)の元 例 𝑃 = 17とすると 有限体𝔽 = {0,1, … , 16} G: 𝐺, 𝐺 , … , 𝐺 を𝑝で割った余りがすべて 異なり、その余りは1から𝑝 − 1を一巡する ここでいうG=3 Z: 0~16の任意
  19. 2.4.5.2. The DLP Claw-Free Collection 24 インデックス(𝑃, 𝐺, 𝑍) をもつ二つの関数は同じドメインをもち

    {1, … , 𝑃 − 1}の集合に等しい。ドメインサンプリングアルゴリズムは この集合から均等に要素を選ぶ。関数としては以下で表せる。 二つの関数は{1, … , 𝑃 − 1}であることが容易に分かる。実際、関数𝑓 , , は、セクション2.4.3.で示された𝐷𝐿𝑃 , と一致する。 さらに、インデックス(𝑃, 𝐺, 𝑍) のクローを形成する性能は、基数𝐺に 対して𝑍の𝑃に対する離散対数を見つける性能を導く。 (𝐺 ≡ 𝑍 𝐺 (mod 𝑃)が 𝐺 ≡ 𝑍 (mod 𝑃)を導出するため)
  20. 2.4.5.2. The DLP Claw-Free Collection 25 したがって、無視できない割合のインデックス集合に対してクローを形 成する能力は、セクション2.4.3に提示されたDLPコレクションの逆計算 能力に相当する。言い換えれば、DLPの集合が一方向である場合、式 (2.13)で定義された置換のペアの集合はクローフリーとなる。

    こういった集合は、容易に認識可能なインデックス集合をもたない、と いった追加の特性をもつ。というのも、素数に対する原始元を効率的に みつける方法が知られていないためである。 →以降は、DLPの困難性に関するわずかに強い仮定 を作り、素数に対する原始元を効率的にみつける 方法に関する説明
  21. 2.4.5.2. The DLP Claw-Free Collection 26 具体的には... DLPが乗法群のサイズの素因数分解(例: 𝑃 −

    1の素因数分解)が追加の入 力として与えられた場合に計算困難とする。この仮定により、インデッ クスの記述に𝑃 − 1の素因数分解を追加することが可能となる。これに より、インデックスが効率的に計算可能になる。(これは𝐺が𝑃におい ける原子元かどうか確かめる際、𝑄を𝑃 − 1の素因数として、𝐺( )/ で 確かめられるから。) 例 𝑃 = 23で𝑃 − 1 = 22 = 2 ∗ 11より、𝑄 = 2,11で、 = 2, 11 ・𝐺 = 5の場合:5 𝑚𝑜𝑑 23 ≡ 2, 5 𝑚𝑜𝑑 23 ≡ 1 →5は原始元でない どの 𝐺 が原始元の可能性が低いかを効率的に絞り込める。
  22. 2.4.5.2. The DLP Claw-Free Collection 27 もし、𝑃 = 2𝑄 +

    1(𝑄は素数)の場合、DLPの計算はさらに困難になるが、 𝐺が𝑃における原子元かどうか確かめるのは簡単になる。 (𝐺 mod 𝑃と𝐺( )/ mod 𝑃を計算し、どちらも1と異なるかを計算する)
  23. 2.4.5.3. Claw-Free Collections Based on Factoring 28 ここでは、クローフリーの関数集合が存在することを、整数因数分解が 困難であるという仮定の下で示す。 準備1.平方剰余

    以下の合同式が、解𝑥を持つとき整数𝑎は法𝑝の平方剰余という 𝑥 ≡ 𝑎 (𝑚𝑜𝑑 𝑝) 例:𝑝 = 11で、5 ≡ 3 (𝑚𝑜𝑑 11)より、3は法11の平方剰余 準備2. ルジャンドル記号 2つの整数𝑎, 𝑝を引数にとる関数で( )とかく ( )= 0 𝑖𝑓 𝑎が𝑝で割り切れる 1 𝑖𝑓 𝑎 ≥ 0 が奇素数𝑝を法として平方剰余 −1 𝑖𝑓𝑎 ≥ 0 が奇素数𝑝を法として非平方剰余
  24. 2.4.5.3. Claw-Free Collections Based on Factoring 29 ここでは、クローフリーの関数集合が存在することを、整数因数分解が 困難であるという仮定の下で示す。 準備3.

    ヤコビ記号 2つの整数𝑎, 𝑛を引数にとり、( )とかく。𝑎と𝑛が互いに素で、 𝑛 = 𝑝 𝑝 ⋯ 𝑝 と素因数分解できるとき、以下のようにかく。 ( )= ( )( )⋯ ( ) ただし、左辺はヤコビ記号で、右辺はルジャドル記号である。 例を次頁にしめす。
  25. 2.4.5.3. Claw-Free Collections Based on Factoring 30 準備4: ブラム数(3 𝑚𝑜𝑑

    4に合同な二つの素数の積)の構造的特性を用い る(詳しくはAppendix)。特に、ブラム数𝑁に対して以下が成り立つ。 • −1 mod 𝑁のヤコビ記号は+1 なお、𝐽 (resp., 𝐽 )を、𝑁を法とする乗法群内の剰余で、ヤコビ記号 が+1(resp.,-1)の集合とする。 例:𝑝 = 3, 𝑞 = 7, 𝑁 = 21とする。 ・ − 1 mod 21 ≡ 20のヤコビ記号 を計算 1. = となる。 2. を計算 →𝑥 ≡ 20 𝑚𝑜𝑑3を計算→解なしなので = −1 3. を計算→同様→解なしなので = −1 4. よって、 = = −1 −1 = +1 • 各平方剰余の解の半数は ヤコビ記号1をもつ 例:𝑝 = 3, 𝑞 = 7, 𝑁 = 21とする。 ・平方剰余である𝑎 = 1は、𝑥 = 1,8,13,20の解をもつ ・𝑁に対する𝑥のヤコビ記号を計算 1. = 1, = −1, = −1, = 1 2. 確かに半数がヤコビ記号1を持つ
  26. 2.4.5.3. Claw-Free Collections Based on Factoring 32 1. サンプリング及び計算が容易 •

    集合のインデックスは、同じ長さの二つの素数から成るすべての ブラム数で構成される • インデックス選択アルゴリズムは、入力に対して3 𝑚𝑜𝑑 4に合同 な二つの素数を選び、𝑁を出力 • インデックス𝑁の二つの関数𝑓 と𝑓 に対応するドメインは異なる • ドメインサンプリングアルゴリズム𝐷は、対応するドメインで平方剰余 に基づいて計算される
  27. 2.4.5.3. Claw-Free Collections Based on Factoring 33 2.同一の(写像の)値域分布 • 関数𝑓

    と𝑓 は、それぞれ異なるドメイン𝐷 0, 𝑁 と 𝐷 1, 𝑁 で定義 されているが、𝑁を法とした平方剰余の集合に均等に分布する • これにより、どちらの関数も値域内の要素を均等に扱うため、 同一の分布を持つ
  28. 2.4.5.3. Claw-Free Collections Based on Factoring 34 3.クローを見つけるのが困難 クローを見つける困難さは、2つの剰余が次の事実から生じる ・

    𝑥 ∈ 𝐽 かつ𝑦 ∈ 𝐽 に対して、それらの平方がmod 𝑁で等しい。 (つまり𝑥 ≡ 𝑦 (𝑚𝑜𝑑 𝑁)) → -1∈ 𝐽 (𝐽 は乗法群)であるので𝑦 ≢ ±𝑥 (𝑚𝑜𝑑 𝑁)であり、 𝑦 ± 𝑥と𝑁の最大公約数が𝑁の因数分解となる. →こういった(𝑥, 𝑦)を見つけるのが困難 参考: 𝐽 (resp., 𝐽 )を、𝑁を法とする乗法群内の剰余で、ヤコビ記号が +1(resp.,-1)の集合とする。
  29. 2.4.5.3. Claw-Free Collections Based on Factoring 35 →よってクローフリーであるための三つの条件が満たされた。 1. サンプリング及び計算が容易

    2. 同一の(写像の)値域分布 3. クローを見つけるのが困難 上述の集合は、2対1のペア(ただし、異なるドメイン上で定義)で構成 されているが、修正しクローフリーの置換の集合を得ることも可能
  30. 2.4.6.(P.63) 一方向性関数が存在すると信じられているが、その単なる存在は実際の 応用には十分ではない。 • 応用には、具体的な関数の仕様が必要 → 一方向性関数の合理的な候補を提案しなければならない 𝑄.合理的な候補とは? 𝐴. 関数を評価するための非常に効率的なアルゴリズムを持つ

    重要:一方向性関数として提示される場合、ドメインサンプラーと関数 評価アルゴリズムは非常に効率的であるべき。 参考 ドメインサンプラー:特定のアルゴリズムが操作する入力値の集合から効率的にランダム な要素を選択するプロセス 関数評価アルゴリズム: 入力に対して特定の関数を実行し、出力するプロセス (RSAでいう、平文を暗号化するプロセス) 37
  31. 2.4.6.(P.63) この分野の歴史の中で、結果として良くない提案がなされた例… グラフ同型問題の推測される困難さに基づいた、(悪い)提案例 39 A B C D E A

    B C D E 置換𝜋 𝜋 = 𝐴 𝐵 𝐵 𝐶 𝐶 𝐷 𝐸 𝐴 𝐸 𝐷 多項式時間で解けないとされているが、 頂点次数の統計を使って同型性を判定する方法等で逆計算が容易 →平均的な困難さを満たしていない 無向グラフ𝐺 無向グラフπ𝐺