• 検索結果がありません。

[I486S] 暗号プロトコル理論

N/A
N/A
Protected

Academic year: 2021

シェア "[I486S] 暗号プロトコル理論"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

[I486S]

暗号プロトコル理論

藤 英一郎 北陸先端科学技術大学院大学 2018年5月1日 英一郎 (JAIST)

(2)

基本情報

: I486S

暗号プロトコル理論

I

URL:https://www.jaist.ac.jp/~fujisaki/i486S 開催日時 火曜日 (Tuesdays) 5 時限 17:10 – 18:50 予定 4/17, 4/24, 5/1, 5/15, 5/22, 5/29, 6/5, 6/19, 6/26, 7/3, 7/10, 7/17, 7/24, 7/31 教室:知識2棟2階遠隔教育ルーム 教科書:指定なし

(3)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

参考文献

R. Cramer, I. Damgaard, and J. Nielsen: Secure Multiparty Computation and Secret Sharing, Cambridge University Press (ISBN 9781107043053). R. Cramer, I. Damgaard, J. Nielsen: Multiparty computation, Introduction. Ben-Or, S. Goldwasser and A. Wigderson: Completeness Theorems for Non-Cyptographic Fault-Tolerant Distributed Computation, in STOC88, pp. 1–10.

R. Cramer, I. Damgaard and U. Maurer: General Secure Multi-party Computation from any Linear Secret-Sharing Scheme, in

EUROCRYPT2000, pp 316–334.

R. Cramer, I. Damgaard and Y. Ishai: Share Conversion, Pseudorandom Secret-Sharing and Applications to Secure Computation, in TCC2005, pp 342–362.

A. Yao: Protocols for secure computations, in FOCS82, pp 160–164. Y. Lindell and B. Pinkas: A Proof of Security of Yao’s Protocol for

Two-Party Computation, Journal of Cryptology, volume 22(2), pp.161–188, 2009.

(4)

本日の講義の内容

1 Shamir 秘密分散

2 Reed-Solomon 符号

3 Shamir SSの足し算と掛け算

(5)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Shamir

秘密分散

(Shamir SS)

Shamir秘密分散SS = (Share, Recon, Γt+1,n)

Share(s):

a0:= s の条件のもと K 係数のランダムな t 次多項式 f (X ) =∑ti =0aiXiを選ぶ。

f (X )←R K [X ] such that deg(f ) = t, and a0= s.

[s] = (f (α1), . . . , f (αn)) を出力する。αi ∈ K は予め定められた互異な る値。 Recon(SQ) (SQ ={f (αi)|i ∈ Q s.t. Q ∈ Γt+1,n}): sを出力。 s =i∈Q λi ,Qf (αi) where λi ,Q = ∏ j∈Q\{i} ( αj αj − αi ) . Reconstruction vector (λ1,Q, . . . , λ#Q,Q)は、SQのみで決定することに注意 (1, . . . , αn)はシステムのパラメータで予め決まっているとする)。 英一郎 (JAIST)

(6)

Shamir

秘密分散は線型

f , g ∈ K[X ] (deg(f ), deg(g) ≤ t)に対して次のことは明らか。 線型性 [αf (0) + βg (0)] = α[f (0)] + β[g (0)] where α, β∈ K. f (X ) = a0+ a1X + . . . atXt および g (X ) = b0+ b1X + . . . btXt とする。h(X )≜ αf (X ) + βg(X ) と定義すると、deg(h)≤ tで、 [h(0)] = (h(α1), . . . , h(αn)) = (αf (α1) + βg (α1), . . . , αf (αn) + βg (αn)) = α[f (0)] + β[g (0)]

(7)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

本日の講義の内容

1 Shamir 秘密分散 2 Reed-Solomon 符号 3 Shamir SSの足し算と掛け算 4 付録 英一郎 (JAIST)

(8)

Reed-Solomon

符号

(n, t + 1)-線型符号とは、n 次元ベクトル空間のt + 1 次元部分空間であ る。K =Fq(元の個数がq個の有限体)とする。α1, . . . , αn∈ K (αi ̸= αj for i ̸= j) とする。 Reed-Solomon (RS) 符号 f ∈ K[X ], deg(f ) ≤ t となる多項式から作られる次の符号語 (f (α1), . . . , f (αn)) の全体からなる集合を、(n, t + 1)-Reed-Solomon 符号と言う。 i.e., CRS ={(f (α1), . . . , f (αn))| f ∈ K[X ] s.t. deg(f ) ≤ t}. (n, t + 1)-RS 符号は(n, t + 1)-線型符号

(9)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

線型符号

線型符号のこと 線型符号Cは、ベクトル空間の部分ベクトル空間であるので、 c, c∈ C, a, b ∈ K = ac + bc∈ C. つまり、符号語の線形和は符号語。 任意の相異なる符号語c, c と(ハミング)重みτ以下の任意の(エラー)ベクト ルe, e に対して、必ず c + e̸= c+ e なら、τ個誤り訂正可能(τ -error correcting)という。 線型符号の最小距離dは、非零の最小の符号語のハミング重みに等しい 線型符号誤り訂正可能(最大)数は、τ < d 2 の最大値. v ∈ Knのハミング重み : wH(v )≜ # of {vi ̸= 0 for v = (v1, . . . , vn)}. vw間のハミング距離: dH(v , w )≜ wH(v− w). 符号の最小距離: 二つの符号間のハミング距離の最小値. d = min{dH(c, c)| ∀c, c∈ C s.t. c ̸= c} 英一郎 (JAIST)

(10)

RS-

符号

Theorem 1 (n, t + 1)-Reed-Solomon 符号の最小距離はn− t(=(n, t + 1)-線型符号 の最小距離の上界)。ここから誤り訂正可能最大数はτ < n−t2 なるτの最 大値。 Proof. RS 符号語が f = (f (α1), . . . , f (αn)) であることを頭に入れ、 非零の符号 f∈ CRS ⇐⇒ f (x) = 0 の零点が t 個以下 何故ならば、deg(f )≤ t より t + 1 点以上の零点があると f ≡ 0. よって、 f (x ) = 0 の零点が t 個以下 ⇐⇒ wH(f )≥ n − t これから、最小距離 d = n− t が導かれる。さらに、wH(e) < n− t なる e が、e ̸∈ CRSということは、 ∀c, c∈ CRS,∀e, e(w H(e), wH(e) < n− t) = c + e̸= c+ e.

(11)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RS-

符号の復号

符号語f = (f (α1), . . . , f (αn)) where deg(f )≤ t and n ≥ 3t + 1. エラー付きf = (yˆ 1, . . . , yn) = f + e where WH(e)≤ t

Goal: ˆf からf に復号する Welch/Berlekamp Algorithm

Q(X , Y )≜ f0(X )− f1(X )Y

Q(αi, yi) = 0 for i = 1, . . . , n

deg(f0)≤ 2t and deg(f1)≤ t

f1(0) = 1

となるf0(X ), f1(X )を求め、f (X ) = f0f1(X )(X )として出力。

WH(e)≤ tかつ、n≥ 3t + 1ならこのようなf0, f1は存在し、さらに

f (X ) = f0f1(X )(X )を満たす。

(12)

RS-

符号の復号(その

1.5

f

0

, f

1

の存在証明

yi = f (αi) + ei で、ei ̸= 0は高々t個なので、f0, f1は次のように存在す る。B ={i | ei ̸= 0}とおく。 定義より、#B≤ t. k(X ) =i∈B(X − αi) ∏ i∈B(−αi) とおく。 f0(X ) = k(X )f (X ), f1(X ) = k(X ) とおくと、f1(0) = 1, deg(f0)≤ 2t, deg(f1)≤ t. さらに、i = 1, . . . , n に 対して、 Q(αi, yi) = f0(αi)− f1(αi)yi = k(αi) ( f (αi)− yi ) = 0. よって、f0, f1は存在。

(13)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RS-

符号の復号(その2)

f0(X ) = a0+ a1X + . . . + a2tX2t f1(X ) = 1 + b1X + . . . + btXt Q(αi, yi) = f0(αi)− f1(αi)yi= 0 for i = 1, . . . , nから、以下の未知変数3t + 1の連立一 次方程式を解く。          0 .. . .. . .. . 0          =         

1 α1 · · · α2t1 −y1 −y1α1 · · · −y1αt1

.. . ... ... ... ... ... ... ... ... .. . ... ... ... ... ... ... ... ... .. . ... ... ... ... ... ... ... ... 1 αn · · · α2tn −y1 −ynαn · · · −ynαtn

                     a0 .. . a2t 1 b1 .. . bt             英一郎 (JAIST)

(14)

RS-

符号の復号(その3)

ˆ Q(X ) = Q(X , f (X ))と定義する。すると deg( ˆQ)≤ 2t. WH(e)≤ tより、yi = f (αi)となる点が少なくともn− t個ある。 よって、n− t 個の(αi)で、Q(αˆ i) = 0. n≥ 3t + 1より、deg( ˆQ)≤ 2t < n − t. よって、 deg( ˆQ)≡ 0. よって、 f0(X )− f1(X )f (X )≡ 0. よって、 f (X ) = f0(X ) f1(X ) .

(15)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

本日の講義の内容

1 Shamir 秘密分散 2 Reed-Solomon 符号 3 Shamir SSの足し算と掛け算 4 付録 英一郎 (JAIST)

(16)

Shamir SS

の足し算(復習)

[a], [b]: a, b ∈ KP1, . . . , Pn 間でシェアされた状態 addition [a] + [b] = [a + b] f , g をそれぞれa, bをシェアする時のt次多項式とする。f0 = a, g0 = b で、 f (X ) = f0+ f1X + . . . + ftXt, and g (X ) = g0+ g1X + . . . + gtXt. h(X ) = f (X ) + g (X )と置くと、h(0) = a + bdeg(h) = tより [a + b] = (h(α1), . . . , h(αn)) h(αi) = f (αi) + g (αi)であるから、各Piがローカルに自分のシェアを足 し算すれば、[a + b]と言う状態になる。

(17)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Shamir SS

の掛け算(試み)

[a]t, [b]t: a, b∈ KP1, . . . , Pn間で(t + 1, n)秘密分散でシェアされた状態 multiplication [a]t· [b]t= [ab]2t ただし、[a]· [b]は、各Pi がローカルに自分のシェアを掛け合わせた状態を意味する。 [a]t は、t + 1個のシェアからaが復元できることを意味する。 f , g をそれぞれa, bをシェアする時のt次多項式とする。f0= a, g0= bで、 f (X ) = f0+ f1X + . . . + ftXt, and g (X ) = g0+ g1X + . . . + gtXt. h(X ) = f (X )g (X )と置くと、h(0) = abdeg(h) = 2tより [ab]2t = (f (α1)g (α1), . . . , f (αn)g (αn)) よって、P1, . . . , Pn間でabをシェアした状態になるが、2t + 1個のシェアが集まらない とabが復元できない。 英一郎 (JAIST)

(18)

Shamir SS

の掛け算(アイデア)

multiplication Lagrangeと線型性により [ab] = [h(0)] = [ ni =1 λi ,nh(αi)] = ni =1 λi ,n[h(αi)] (λ1,n, . . . , λn,n)は1, . . . , αn}のみから決まる。 h(X ) = f (X )g (X )であるから、h(αi) = f (αi)g (αi).よって、[a], [b]の状態から、[ab] を作るには各Piがローカルにf (αi)g (αi)を計算した後、その値を(t + 1, n)-線型秘密分 散で[f (αi)g (αi)]という状態を作り出せば良い。後は線型性から[ab]の状態に持って いく。

(19)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Shamir SS

の掛け算(まとめ)

Input: [a], [b]. Output: [ab]. [a], [b]というa, bがそれぞれP1, . . . , , Pn間でシェアされる(初期 状態) 各Pici = aibi をローカルに計算 各PiciP1, . . . , Pn間で線型秘密分散。[c1], . . . , [cn]の状態にな る。Pi は、c1,i, . . . , ci ,i, . . . , cn,i を、[c1], . . . , [cn]の自分のシェアと して持つ。 i = 1, . . . , nに対して、λi ,n= ∏ j̸=i αjα−αi i を計算する。 各Pidi = ∑ j =1λj ,ncj ,iを計算する。 [ab] = (d1, . . . , dn)なので、[ab]の状態になる。 英一郎 (JAIST)

(20)

本日の講義の内容

1 Shamir 秘密分散

2 Reed-Solomon 符号

3 Shamir SSの足し算と掛け算

(21)

‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

秘密分散

(Secret Sharing)

SS = (Share, Recon, Γt+1,n)とは次のスペックを満たすもの。 Shareは秘密s∈ KKは体)を入力に取り、n個のshareからなるベクトル [s]≜ (s1, . . . , sn)を出力する確率的アルゴリズム Share : s∈ K 7→ [s] = (s1, . . . , sn)∈ Kn Γt+1,n≜ {Q ⊂ {1, . . . , n} | #Q ≥ t + 1}(閾値型アクセス構造) Reconは、[s]t個以上の要素を含む部分集合SQ ={si|i ∈ Q}Q∈ Γt+1,n)を 入力に取り、秘密sを復元する確定的アルゴリズム 上記SS = (Share, Recon, Γt+1,n)が秘密分散とは、次の条件を満たすものである。

(Perfect Reconstructability)全てのs∈ K, [s] ← Share(s), Q ∈ Γt+1,nとなるSQ

に対して、Recon(SQ) = s.

(Perfect Privacy)全てのs∈ K, [s] ← Share(s), T ̸∈ Γt+1,nとなるSTに対して、

H(s) = H(s|ST)。すなわち、確率変数sSTは独立。

(22)

線型秘密分散

(Linear Secret Sharing)

上記SS = (Share, Recon, Γt+1,n)が線型秘密分散とは、次の条件を満たす

ものである。

Linearlity

SSが秘密分散かつ、

(Linearlity) 全てのs, s′, a, b∈ K, [s] ← Share(s), [s′]← Share(s′)に

対して、 [as + bs′] = a[s] + b[s′] が成り立つ。ここで、a[s]≜ (a · s1, . . . , a· sn), [s] + [s′]≜ (s1+ s1′, . . . , sn+ sn′)と定義。 線型であるということは、P1, . . . , Pn間で秘密s, s′をシェア状態[s],[s′]であるとき、各 Pi がローカルに手元でasi+ bsi′を計算して(a, bは既知)新たにシェアされる (as1+ bs1′, . . . , asn+ bsn′)が秘密as + bs′をシェアした状態[a· s + b · s′]になることを意 味する。

参照

関連したドキュメント

An easy-to-use procedure is presented for improving the ε-constraint method for computing the efficient frontier of the portfolio selection problem endowed with additional cardinality

Comparing the Gauss-Jordan-based algorithm and the algorithm presented in [5], which is based on the LU factorization of the Laplacian matrix, we note that despite the fact that

How- ever, in view of the above-described Wecken property definition, and since the existence of a fixed point index or Lefschetz number requires certain additional assumptions on

This review is devoted to the optimal with respect to accuracy algorithms of the calculation of singular integrals with fixed singu- larity, Cauchy and Hilbert kernels, polysingular

This review is devoted to the optimal with respect to accuracy algorithms of the calculation of singular integrals with fixed singu- larity, Cauchy and Hilbert kernels, polysingular

This review is devoted to the optimal with respect to accuracy algorithms of the calculation of singular integrals with fixed singu- larity, Cauchy and Hilbert kernels, polysingular

[37] , Multiple solutions of nonlinear equations via Nielsen fixed-point theory: a survey, Non- linear Analysis in Geometry and Topology (T. G ´orniewicz, Topological Fixed Point

Finally, in Section 3, by using the rational classical orthogonal polynomials, we applied a direct approach to compute the inverse Laplace transforms explicitly and presented