線性迴歸模型
給定數據集: xi∈Rd,yi∈R,i∈[1,n] ,其中d也爲特徵數
迴歸:爲映射 f:Rd→R 找到 yi≈f(xi)
線性迴歸:找到 yi≈βTxi,x∈[n]≡{1,...,n},β∈Rd
歸一化:將x的區間變爲有限的區間,歸一化方法
嶺迴歸:最小化函數F(β)=∑i=1n(yi−βTxi)2+λ∥β∥22,嶺迴歸理解 ,訓練 λ 使得β更穩定
sklearn 中 linear_model.Ridge 使用的最小化函數:∣∣y−wX∣∣22+alpha∗∣∣w∣∣22, w 即爲求解後的coef或權重係數
∥β∥ab 爲 β的a次範式的b次方,範式的理解
最小化函數F(β) 即求Aβ=b,A=XTX+λI,b=XTy,y∈Rn×1,X∈Rn×d
因爲A是正定矩陣,可以使用Cholesky分解
對於一個用戶ui而言:Ai=xixiT,bi=yixi,A=∑i=1nAi+λI,b=∑i=1nbi
同態加密
Paillier 加密方案
術語 |
英語 |
描述 |
符號表示 |
同餘類 |
congruence class / residue class |
模 n 同餘的所有整數組成的集合 |
an/[a] |
餘數系統 |
residue system |
模 n 同餘類的代表數的集合 |
|
完整餘數系統 |
complete residue system |
模 n 的全部同餘類的代表數的集合 |
|
最小余數系統 |
least residue system |
由每個同餘類的最小非負整數所組成 |
|
簡約餘數系統 |
reduced residue system |
模 n 的結果與 n 互質的代表數所構成的集合,集合元素個數等於歐拉函數ϕ(n) |
|
歐拉定理 |
|
aφ(n)≡1(modn) |
|
卡邁克爾函數 |
|
aλ(n)≡1(modn) |
|
乘法羣 |
|
模 n 的互質同餘類,即爲簡約餘數系統,也稱爲整數模 n 乘法羣;在環理論中,一個抽象代數的分支,也稱這個羣爲整數模 n 的環的單位羣 |
Zn |
羣的階數 |
|
羣的階數由歐拉函數給出:∥Zn∗∥=ϕ(n) |
|
循環羣 |
|
設(G,)爲一個羣,若存在一G內的元素g,對屬於G的任意x,都存在整數k,使x = g^k ,稱(G,)爲循環羣,g爲羣的生成元。若存在最小正整數n,使得gn=e,稱n爲生成元的階(e爲幺元,即g^0)。參考資料:https://www.zhihu.com/question/23353412/answer/24329687 |
|
有時候 Zn與Zn∗相同,但有時Zn∗特指簡化剩餘類,即模n互質餘數的集合,Zn特指[0, n-1],也就是∥Zn∥=n,∥Zn∗∥=ϕ(n)
Garbled 電路
使用C語言實現Regev算法,然後通過軟件生成電路圖,再進行Garbled化,就可以獲得Garbled電路
輸入定義爲GI(x)
各方交互步驟
假設用戶ui與uj提供數據
- ci=Epk(Ai;bi),cj=Epk(Aj;bj),ui與uj將數據ci與cj傳給Evaluator
- Evaluator計算ci⨂cj=Epk(Ai;bi)⨂Epk(Aj;bj)=Epk(Ai+Aj;bi+bj)
第一種協議
準備階段:
Evaluator提供給CSP輸入數據集的特徵數d,數據集的數據範圍,代表數據整數部分和小數部分的比特數
CSP準備Garbled電路,生成同態加密使用的祕鑰(pk,sk),將GI(sk)嵌入Garbled電路
階段一:
每個ui計算Ai,bi,ci=Epk(Ai;bi),然後將ci發送給Evaluator,假設user與Evaluator之間存在一個安全的通道,比如TLS
Evaluator計算cλ=Epk(λI;0),然後可以計算c=(i=1⨂nci)⨂cλ=Epk(i=1∑nAi+λI;i=1∑nbi)=Epk(A;b)
階段二:
使用Garbled電路(輸入GI(c))解出c,可以獲取A和b,然後可以解出β
備註:
同態加密可以使用Regev,使用Garbled電路解c時比較簡單
第二種協議
準備階段:
Evaluator提供給CSP輸入數據集的特徵數d,數據集的數據範圍,代表數據整數部分和小數部分的比特數
CSP準備Garbled電路,生成同態加密使用的祕鑰(pk,sk)
Evaluator選擇一個隨機的mask (μA;μb)∈M,並通過不經意傳輸從CSP獲取 GI(μA;μb)
階段一:
Evaluator和第一種協議一樣獲取c,然後計算c^=c⨂Epk(μA;μb)
階段二:
Evaluator 發送 c^給CSP
CSP解密獲取(A^,b^),然後將GI(A^,b^)發送給Evaluator
Evaluator根據GI(A^,b^),GI(μA;μb)可以獲取A,b
Evaluator獲取β
備註:
此種協議解密算法沒有嵌入Garbled電路,因此可以使用多種同態加密算法,比如Paillier
參考資料:
- Paillier 加密方案
- 安全多方計算(阿里)