论文《Privacy-Preserving Ridge Regression on Hundreds of Millions of Records》梳理

文章目录

    • 线性回归模型
    • 同态加密
    • Garbled 电路
    • 各方交互步骤
      • 第一种协议
        • 准备阶段:
        • 阶段一:
        • 阶段二:
        • 备注:
      • 第二种协议
        • 准备阶段:
        • 阶段一:
        • 阶段二:
        • 备注:
    • 参考资料:

线性回归模型

给定数据集: x i ∈ R d , y i ∈ R , i ∈ [ 1 , n ] x_i \in R^d, y_i \in R, i \in [1, n] xiRdyiRi[1,n] ,其中d也为特征数
回归:为映射 f : R d → R f:R^d \rightarrow R f:RdR 找到 y i ≈ f ( x i ) y_i \approx f(x_i) yif(xi)
线性回归:找到 y i ≈ β T x i , x ∈ [ n ] ≡ { 1 , . . . , n } , β ∈ R d y_i \approx \beta ^Tx_i, x \in [n] \equiv \{1, ..., n\}, \beta \in R^d yiβTxi,x[n]{1,...,n},βRd
归一化:将x的区间变为有限的区间,归一化方法
岭回归:最小化函数 F ( β ) = ∑ i = 1 n ( y i − β T x i ) 2 + λ ∥ β ∥ 2 2 F(\beta) = \sum_{i=1}^n(y_i-\beta^Tx_i)^2+\lambda\|\beta\|_2^2 F(β)=i=1n(yiβTxi)2+λβ22,岭回归理解 ,训练 λ \lambda λ 使得 β \beta β更稳定
sklearn 中 linear_model.Ridge 使用的最小化函数: ∣ ∣ y − w X ∣ ∣ 2 2 + a l p h a ∗ ∣ ∣ w ∣ ∣ 2 2 ||y-wX||_2^2+alpha*||w||_2^2 ywX22+alphaw22, w 即为求解后的coef或权重系数

∥ β ∥ a b \|\beta\|_a^b βab β \beta β的a次范式的b次方,范式的理解

最小化函数 F ( β ) F(\beta) F(β) 即求 A β = b , A = X T X + λ I , b = X T y , y ∈ R n × 1 , X ∈ R n × d A\beta = b, A = X^TX+\lambda I, b = X^Ty, y\in R^{n\times1}, X\in R^{n\times d} Aβ=b,A=XTX+λI,b=XTy,yRn×1,XRn×d
因为A是正定矩阵,可以使用Cholesky分解

对于一个用户 u i u_i ui而言: A i = x i x i T , b i = y i x i , A = ∑ i = 1 n A i + λ I , b = ∑ i = 1 n b i A_i=x_ix_i^T, b_i=y_ix_i, A=\sum_{i=1}^nA_i+\lambda I, b = \sum_{i=1}^nb_i Ai=xixiT,bi=yixi,A=i=1nAi+λI,b=i=1nbi

同态加密

Paillier 加密方案

术语 英语 描述 符号表示
同余类 congruence class / residue class 模 n 同余的所有整数组成的集合 a ‾ n / [ a ] {\displaystyle {\overline {a}}_{n}} / [a] an/[a]
余数系统 residue system 模 n 同余类的代表数的集合
完整余数系统 complete residue system 模 n 的全部同余类的代表数的集合
最小余数系统 least residue system 由每个同余类的最小非负整数所组成
简约余数系统 reduced residue system 模 n 的结果与 n 互质的代表数所构成的集合,集合元素个数等于欧拉函数 ϕ ( n ) \phi (n) ϕ(n)
欧拉定理 a φ ( n ) ≡ 1 ( m o d n ) a^{\varphi (n)}\equiv 1{\pmod {n}} aφ(n)1(modn)
卡迈克尔函数 a λ ( n ) ≡ 1 ( m o d n ) a^{\lambda (n)}\equiv 1{\pmod {n}} aλ(n)1(modn) 论文《Privacy-Preserving Ridge Regression on Hundreds of Millions of Records》梳理_第1张图片
乘法群 模 n 的互质同余类,即为简约余数系统,也称为整数模 n 乘法群;在环理论中,一个抽象代数的分支,也称这个群为整数模 n 的环的单位群 Z n Z_n Zn
群的阶数 群的阶数由欧拉函数给出: ∥ Z n ∗ ∥ = ϕ ( n ) \|Z_n^*\| = \phi(n) Zn=ϕ(n)
循环群 设(G,)为一个群,若存在一G内的元素g,对属于G的任意x,都存在整数k,使x = g^k ,称(G,)为循环群,g为群的生成元。若存在最小正整数n,使得 g n = e g^n=e gn=e,称n为生成元的阶(e为幺元,即g^0)。参考资料:https://www.zhihu.com/question/23353412/answer/24329687

有时候 Z n Z_n Zn Z n ∗ Z_n^* Zn相同,但有时 Z n ∗ Z_n^* Zn特指简化剩余类,即模n互质余数的集合, Z n Z_n Zn特指[0, n-1],也就是 ∥ Z n ∥ = n , ∥ Z n ∗ ∥ = ϕ ( n ) \|Z_n\|=n, \|Z_n^*\|=\phi(n) Zn=n,Zn=ϕ(n)

Garbled 电路

使用C语言实现Regev算法,然后通过软件生成电路图,再进行Garbled化,就可以获得Garbled电路
输入定义为 G I ( x ) GI(x) GI(x)

各方交互步骤

论文《Privacy-Preserving Ridge Regression on Hundreds of Millions of Records》梳理_第2张图片
假设用户 u i u_i ui u j u_j uj提供数据

  1. c i = E p k ( A i ; b i ) , c j = E p k ( A j ; b j ) c_i=E_{pk}(A_i;b_i), c_j=E_{pk}(A_j;b_j) ci=Epk(Ai;bi),cj=Epk(Aj;bj) u i u_i ui u j u_j uj将数据 c i c_i ci c j c_j cj传给Evaluator
  2. Evaluator计算 c i ⨂ c j = E p k ( A i ; b i ) ⨂ E p k ( A j ; b j ) = E p k ( A i + A j ; b i + b j ) c_i \bigotimes c_j =E_{pk}(A_i;b_i) \bigotimes E_{pk}(A_j;b_j)=E_{pk}(A_i+A_j;b_i+b_j) cicj=Epk(Ai;bi)Epk(Aj;bj)=Epk(Ai+Aj;bi+bj)

第一种协议

准备阶段:

Evaluator提供给CSP输入数据集的特征数d,数据集的数据范围,代表数据整数部分和小数部分的比特数
CSP准备Garbled电路,生成同态加密使用的秘钥(pk,sk),将 G I ( s k ) GI(sk) GI(sk)嵌入Garbled电路

阶段一:

每个 u i u_i ui计算 A i , b i , c i = E p k ( A i ; b i ) A_i, b_i, c_i=E_{pk}(A_i;b_i) Ai,bi,ci=Epk(Ai;bi),然后将 c i c_i ci发送给Evaluator,假设user与Evaluator之间存在一个安全的通道,比如TLS
Evaluator计算 c λ = E p k ( λ I ; 0 ) c_{\lambda}=E_{pk}(\lambda I;0) cλ=Epk(λI;0),然后可以计算 c = ( ⨂ i = 1 n c i ) ⨂ c λ = E p k ( ∑ i = 1 n A i + λ I ; ∑ i = 1 n b i ) = E p k ( A ; b ) c = (\bigotimes_{i=1}^nc_i)\bigotimes c_{\lambda} = E_{pk}(\sum_{i=1}^nA_i+\lambda I; \sum_{i=1}^n b_i)=E_{pk}(A;b) c=(i=1nci)cλ=Epk(i=1nAi+λI;i=1nbi)=Epk(A;b)

阶段二:

使用Garbled电路(输入 G I ( c ) GI(c) GI(c))解出c,可以获取A和b,然后可以解出 β \beta β

备注:

同态加密可以使用Regev,使用Garbled电路解c时比较简单

第二种协议

准备阶段:

Evaluator提供给CSP输入数据集的特征数d,数据集的数据范围,代表数据整数部分和小数部分的比特数
CSP准备Garbled电路,生成同态加密使用的秘钥(pk,sk)
Evaluator选择一个随机的mask ( μ A ; μ b ) ∈ M (\mu_A;\mu_b)\in M (μA;μb)M,并通过不经意传输从CSP获取 G I ( μ A ; μ b ) GI(\mu_A;\mu_b) GI(μA;μb)

阶段一:

Evaluator和第一种协议一样获取c,然后计算 c ^ = c ⨂ E p k ( μ A ; μ b ) \hat c=c\bigotimes E_{pk}(\mu_A;\mu_b) c^=cEpk(μA;μb)

阶段二:

Evaluator 发送 c ^ \hat c c^给CSP
CSP解密获取 ( A ^ , b ^ ) (\hat A, \hat b) (A^,b^),然后将 G I ( A ^ , b ^ ) GI(\hat A, \hat b) GI(A^,b^)发送给Evaluator
Evaluator根据 G I ( A ^ , b ^ ) , G I ( μ A ; μ b ) GI(\hat A, \hat b),GI(\mu_A;\mu_b) GI(A^,b^),GI(μA;μb)可以获取 A , b A, b A,b
Evaluator获取 β \beta β

备注:

此种协议解密算法没有嵌入Garbled电路,因此可以使用多种同态加密算法,比如Paillier

参考资料:

  1. Paillier 加密方案
  2. 安全多方计算(阿里)

你可能感兴趣的:(论文阅读)