1.云环境下一种基于隐私保护的逻辑回归方法,其特征在于,所述方法的参与者包括密钥生成中心(KGC)、数据提供者(DP)、云存储服务器(CSS)、加密服务提供者(CSP)、服务转发者(SF)和服务请求者(SR);所述方法使用DT‑PKC(Distributed Two TrapdoorsPublic‑Key Cryptosystem,分布式双陷门公钥密码体制),其中包含以下步骤:(1)系统初始化:KGC通过输入一个随机的安全参数κ,运行算法DT‑PKC.Setup(κ)以生成系统参数para;
(2)密钥生成:KGC执行算法DT‑PKC.KeyGen(para),为系统中的所有参与者生成一个公私钥对para=(N,g)和系统主密钥λ,然后,KGC为所有参与者执行算法DT‑PKC.KeySplit(para,λ)分别为CSS和CSP随机分配一个额外的部分解密密钥λ1,λ2,使CSS持有λ1,CSP持有λ2,完成该步骤后,KGC可处于离线状态;
(3)浮点数转换:
给定正整数E,表示浮点数的精度,输入浮点数,其主要转换方法为:如果待转换的浮点* E * E数x为正数,那么使用x =x×2 作为浮点数x转换后的整数;否则,将x=N‑x×2 作为浮点数x转换后的整数;
(4)安全的整数乘法运算:
用[x]k表示明文x在公钥k下加密的密文,输入密钥PK1和PK2加密的数据 和在不解密的情况下计算新密钥PK3下的密文 该运算过程由两个云服务器CSS和CSP协同完成,具体操作如下:(a)CSS首先从群ZN中选择四个随机数rx,ry,Rx,Ry,并分别使用公钥PK1和PK2对这4个随机数进行加密,得到对应的密文 然后利用同态性质计算密文
接下来,使用其部分解密密钥λ1对密文进行第一步解密,并得到中间结果 最后,将密文和部分解密密文
发送给CSP;
(b)CSP在接收到消息
后,使用其部分解密密钥λ2进行第二步解密,首先得到密文接下来,CSP可以得到明文
然后,计算h=x'×y',并使用系统要求的公钥PK3分别加密S,T,h,最后,CSP将结果发送给CSS;
(c)CSS在接收到密文 后,计算
以去除随机数rx,ry,Rx,Ry,最后计算并输出作为乘积的密文;
(5)安全的向量内积运算:
输入 使 用密 钥 P K1 和 PK 2 加密 的 两 个n 维 向量 和在不揭露明文的情况下,计算在新密钥PK3下加密后的密文“.”表示向量内积运算,由两个云服务器CSS和CSP协同完成,具体操作如下:
(a)CSS对每个i(1≤i≤n)执行以下步骤:首先从群ZN中选择四个随机数并分别使用公钥PK1和PK2对这4个随机数进行加密,得到对应的密文然后利用同态性质计算密文
接下来,
使用其部分解密密钥λ1对密文 第一步解密,得到中间结果 以上步骤执行n次之后将所有数据打包成消息发送至
CSP;
(b)CSP接收到消息
后,对每个i(1≤i≤n),将
作为输入,使用其部分解密密钥λ2进行第二步解密得到密文计算得出明文消息:
对所得明文进行乘法运算hi=xi′×yi′,然后使用公钥PK3分别加密hi,Si,Ti,得到消息最后将所有的密文结果 发送至CSS;
(c)CSS对每个i(1≤i≤n)执行以下步骤:计算以去除每个随机数,得到 之后,计算并输出(6)安全的激活函数Sigmoid运算:输入两个使用不同公钥加密的密文向量
在不揭露X、W的明文的条件
‑
下,计算在新密钥PK3下Sigmoid函数z(X,W)=1/(1+e )的密文由两个云服务器CSS和CSP协同完成,具体操作如下:(a)首先CSS与CSP执行安全向量内积运算,对输入的密文向量 和 计算内积,之后CSS得出结果[v]=[
(b)CSP接收到消息([v],[v'])后,对其进行第二步解密得到结果v;然后使用泰勒展开‑v 2 3 4 5式e ≈1‑v+1/2×v‑1/6×v+1/24×v‑1/120×v 进行近似计算,进而得到结果Z=1/(1+‑ve ),最后将结果Z使用公钥PK3加密得到 并发送至CSS;
(7)隐私保护逻辑回归模型训练:
在逻辑回归训练中,所有的运算在密文数据下进行,使用梯度下降算法来更新模型参数w,获得使损失函数最小的最优解:首先,将模型参数w向量初始化为1,输入模型参数w和训练样本x的密文形式,并使用安全向量内积运算计算其内积[