利索能及
我要发布
收藏
专利号: 2023108925705
申请人: 曲阜师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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]=[],对其第一步解密得到[v'],然后,将([v],[v'])发送至CSP;

(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的密文形式,并使用安全向量内积运算计算其内积[],之后使用安全激活函数Sigmoid运算对内积运算结果求解Sigmoid值;然后,基于DT‑PKC算法的同态性计算预测标签与真实标签的差值,以此来计算损失函数的损失值;最后,按照预测标签与真实标签的差值的方向来调整更新模型参数w。