khai thác luật kết hợp bảo đảm tính riêng tư trên dữ liệu phân tán ngang (3)

10 128 0
khai thác luật kết hợp bảo đảm tính riêng tư trên dữ liệu phân tán ngang (3)

Đang tải... (xem toàn văn)

Thông tin tài liệu

28 Chương KIẾN THỨC NỀN TẢNG Trong chương trình bày kiến thức liên quan đến giao thức đề xuất (trình bày chương 4) itemset phổ biến tối đại mã hóa đồng hình Paillier Phần đầu trình bày khái niệm itemset tối đại, thuật tốn GenMax để khai thác itemset phổ biến tối ñại so sánh với thuật toán khác Tiếp theo trình bày mã hóa đồng hình, tính chất mã hóa Paillier, đồng thời chương trình bày mã hóa Paillier cải tiến áp dụng cho giao thức ñề xuất ñể tiết kiệm chi phí truyền thơng 3.1 Itemset tối ñại: Itemset phổ biến tập item có tần số xuất sup (%) CSDL, với sup ñộ hỗ trợ tối thiểu người dùng xác ñịnh [18] M tập phổ biến tối ñại M tập phổ biến không tồn tập phổ biến S khác M mà M ⊂ S Ta có: |MFI| x} if (Il + ∪ Pl + 1) có tập LMFIl return //các nhánh bị tỉa ! 6.* LMFIl + = ∅ Cl + = FI-combine (Il + 1, Pl + 1) if Cl + rỗng 10 11.* 12 13.* if Il + khơng có tập cha LMFIl LMFIl = LMFIl ∪ Il + else LMFIl + = {LMFIl: x ∈ M} LMFI-backtrack(Il + 1, Cl + 1, LMFIl + 1, l + 1) LMFIl = LMFIl ∪ LMFIl + 32 // Il + kết hợp với item khác Cl hay không ? FI-combine(Il + 1, Pl + 1) C = ∅ for each y ∈ Pl + y’ = y if level == then d(y’) = t(Il + 1) – t(y) else d(y’) = d(y) – d(Il + 1) if y’.sup ≥ SUP C = C ∪ {y’} // thêm y’ theo thứ tự tăng ñộ hỗ trợ return C Ban ñầu xếp item theo thứ tự tăng |F(x)| theo thứ tự tăng ñộ hỗ trợ Các level sau, xếp combine set có thứ tự tăng theo ñộ hỗ trợ Bảng 3.2 - CSDL tidset Item Tidset A 1345 C 123456 D 2456 T 1356 W 12345 So sánh với thuật toán khác (Mafia (Burdick 2001), MaxMiner (Bayardo, 1998), MAFIA-PP): Mafia có thời gian thực thi nhanh hơn, nhiên kết tập cha MFI, MaxMiner MafiaPP cho kết xác, GenMax có thời gian thực thi nhanh hai thuật tốn [18] 3.3 Mã hố cơng khai đồng hình Paillier: 3.3.1 Mã hố cơng khai đồng hình: Là dạng mã hố có phép tốn đại số cụ thể thực rõ phép tốn ñại số (có thể khác) ñược thực mã [22] 33 Một hệ thống mã hóa cơng khai ñược gọi ñồng hình thỏa mãn số ñiều kiện sau [4][22]: (1) Epk (m1 + m2): = Epk (m1) + h Epk (m2) (2) Epk (k m1): = k * h Epk (m1) (3) Epk (m1 * m2): = Epk (m1) *h Epk (m2) Trong +h *h phép toán dạng mã hố Một số hệ mã có tính chất đồng hình: RSA, ElGamal, Goldwasser-Micali, Benaloh (Xem chi tiết [22]) 3.3.2 Mã hoá Paillier: Mã hoá Paillier [19] Pascal Paillier ñề xuất năm 1999, ñây thuật toán mã hố cơng khai đồng hình tiêu biểu * Cho N = pq với p q số nguyên tố lớn, g phần tử Z N có bậc bội khác khơng N (có thể chọn g = n + 1), ta có ánh xạ:  Z N * Z N*  → Z N* Eg  → g x y N (mod N ) ( x, y )  song ánh Thặng cấp N (N-th residuosity) của số nguyên c ∈ Z N ñối * với g ký hiệu [c ]g số nguyên x ZN cho: c = gxyN (mod N2) (với y thuộc Z N* ) [c]g ñược tính sau: (c λ (mod N ) − 1) / N [c ]g = λ (mod N ) ( g (mod N ) − 1) / N Với λ = lcm (p - 1, q - 1) ( với lcm bội số chung nhỏ nhất) [c]g khơng thể tính khơng có p q (Xem [19] [20] chứng minh Eg song ánh khơng thể tính [c ]g khơng biết p q) 34 Dựa vào tính chất Paillier đề xuất hệ mã khố cơng khai sau: (1) Phát sinh khoá: chọn số nguyên tố lớn phân biệt p, q phần tử g ∈ Z N* có bậc bội khác khơng N = pq (một trường hợp g = n + 1), với public key (N, g) private key (p, q) (2) Mã hố: để mã hố thơng ñiệp m với m < N, chọn ngẫu nhiên r từ Z N* , sử dụng public key (N, g) tính: c = Eg (m) = gmrN (mod N2) với c mã m (3) Giải mã: ñể giải mã mã c sử dụng private key p q, tính m = [c ]g dựa vào cơng thức Vì r chọn ngẫu nhiên mã c thơng điệp m ngẫu nhiên, hệ thống mã hoá Paillier phép mã hoá theo xác xuất, hệ thống mã hoá Paillier có tính chất mã hố đồng hình: Phép cộng đồng hình: tích hai mã, sau giải mã tích tổng rõ tương ứng Eg (m1) * Eg (m2) = Eg (m1 + m2) D( E ( m1 , r1 ) * E (m2 , r2 ) mod Ν ) = m1 + m2 mod Ν Với m1, m2 ∈ ZN Chứng minh: E g ( m1 ) = g m1 * r1N E g ( m ) = g m * r2 N E g ( m1 ) * E g ( m ) ( mod N ) ( mod N ) , với r , r 2 chọn ngẫu nhiên = g m1 * r1N ( mod N ) * g m2 * r2 N ( mod N ) = g (m1 + m2 ) * ( r1 * r2 ) = g (m1 + m2 ) * ( r = Eg ( m1 + m2 ) N ( mod N ) ) ( mod N ) (Với r N = r1* r2 ngẫu nhiên) 35 Phép nhân đồng hình: văn bãn rõ sau mã hoá theo luỹ thừa văn rõ khác tích hai rõ E ( m1 ) = E ( m1 * m ) m2 D ( E ( m1 , r1 ) m2 mod Ν ) = m1m2 mod Ν Chứng minh: E ( m1 , r1 ) m2 mod N = ( g m1 * r1N ( mod N ) )m2 mod N2 = g m1 * m * ( r1m ) N ( mod N ) mod N 2 (Với r3 = r1m2 ngẫu nhiên) = E ( m1 * m ) mod N Một văn bãn rõ mã hố với số k, sau giải mã tích rõ số: E (m, r)k = E (k * m) D(E(m, r)k mod N2 ) = k*m mod N Chứng minh: E (m, r)k mod N2 = ( gm * rN (mod N2) )k mod N2 = ( gm*k * (rk)N (mod N2) ) mod N2 = ( gm*k * (rx)N (mod N2) ) mod N2 ( với rx = rk ngẫu nhiên) = E (k* m) mod N Cho trước phép mã hoá Paillier thơng điệp, ta khơng thể tính mã hố tích thơng điệp khơng biết private key Tính bảo mật Paillier khó phân tích N = pq với p q số nguyên tố lớn Bản rõ thuộc ZN, mã thuộc Z N* , với khố t (bits) kích thước mã hố phần tử 2*t Kích thước khố lớn tính bảo mật cao thời gian mã hố, giải mã tăng, đồng thời kích thước mã lớn Ví dụ: Cho p= 53, q=61, N= p*q = 53*61 = 3233 => λ = lcm (p-1,q-1) = lcm(52,60) = 780 36 Chọn g = 20, ta có: public key (N, g) = (3233, 20), private key (p, q) = (53, 61) Với rõ m = 13, số ngẫu nhiên r = 17: Mã hoá: c = (gm) * (rN) mod N2 = 2013 * 173233 mod 32332 = 10.287.327 (mod N²) Giải mã: [ c ]g = (10.287.327780 ) mod 32332 − 1) / 3233 = (mod 3233) (20780 mod 32332 − 1) / 3233 1382 -1 (mod 3233) = 1382 * (355) (mod 3233) = 1382 * 255 (mod 3233) = 13 355 ( với 355*255 = (mod N)) Với hai rõ m1 = 13, m2 = 12 c (13) = 10.287.327 (mod N²), c (12) = 9.398.812 (mod N²) c (13 + 12) = c(12) * c(13) mod N2 = 3.915.960 (mod N²) [c]g = 2409 * 255 (mod 3233) = 25 [c]g = 25 tổng hai rõ m1 + m2 3.3.3 Mã hoá Paillier cải tiến: Xun Xi Yanchun Zhang [11] ñề xuất sử dụng mã hoá Paillier cải tiến Do N lớn độ hỗ trợ tồn cục itemset ln ln nhỏ N, mã hố số nhỏ với modulo N lớn tốn nhiều chi phí tính tốn truyền thơng Ta cải tiến sau: với khoá mã hoá t (bit), N = 2t, DB = n ∑ | DB | i =1 i X = |DB| + 1, chọn λ số nguyên lớn cho: a0 + a1X + … + aλXλ < N Với ≤ < X λ ≈ log N log | DB | Với λ + số itemset cần tính tổng độ hỗ trợ với độ hỗ trợ cục tương ứng pi0, pi1, pi2, …, piλ) Mỗi site mã hoá E (pi0 + pi1X + … + piλXλ) gửi 37 liệu mã hoá cho site trung gian Site trung gian tính tích liệu nhận ñược, kết là: n n n i =1 i =1 i =1 E (∑ pi0 + ∑ pi1 ∗ X + +∑ piλ * X λ ) Sau giải mã nhận ñược: n n n i =1 i =1 i =1 ∑ pi0 + ∑ pi1 ∗ X + +∑ piλ * Xλ n n Thực modulo kết cho X với (λ + 1) lần ta ñược ∑p i =1 i0 , ∑p i =1 i1 , n …, ∑p i =1 iλ tổng ñộ hỗ trợ (λ + 1) itemset Trong trường hợp khoá mã hoá t = 1024 (bit), |DB| ≈ |10|6, λ ≈ 50, cần phép mã hố giải mã tìm ñộ hỗ trợ toàn cục 51 itemset Kết chương: chương tìm hiểu itemset tối đại, thuật tốn GenMax để phát sinh itemset tối đại, mã hóa cơng khai đồng hình, mã hóa Paillier tính chất, kiến thức áp dụng giao thức ñề xuất (chương 4) ñể nâng cao tính riêng hiệu giao thức ... itemset cần tính tổng ñộ hỗ trợ với ñộ hỗ trợ cục tư ng ứng pi0, pi1, pi2, …, piλ) Mỗi site mã hoá E (pi0 + pi1X + … + piλXλ) gửi 37 liệu mã hoá cho site trung gian Site trung gian tính tích liệu nhận... phát sinh itemset tối đại, mã hóa cơng khai đồng hình, mã hóa Paillier tính chất, kiến thức ñược áp dụng giao thức đề xuất (chương 4) để nâng cao tính riêng tư hiệu giao thức ... chứng minh Eg song ánh khơng thể tính [c ]g khơng biết p q) 34 Dựa vào tính chất Paillier đề xuất hệ mã khố cơng khai sau: (1) Phát sinh khoá: chọn số nguyên tố lớn phân biệt p, q phần tử g ∈ Z

Ngày đăng: 01/06/2018, 12:48

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan