(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210514553.3
(22)申请日 2022.05.11
(71)申请人 贵州大学
地址 550000 贵州省贵阳市花溪区
(72)发明人 彭长根 侯金秋 丁红发 蒋合领
田有亮
(74)专利代理 机构 北京和联顺知识产权代理有
限公司 1 1621
专利代理师 谢冰
(51)Int.Cl.
H04L 9/00(2022.01)
H04L 9/32(2006.01)
H04L 9/40(2022.01)
(54)发明名称
一种可验证的同态 代理重加密方法及系统
(57)摘要
本发明涉及一种可验证的同态代理重加密
方法及系统。 本发明引入代理重加密的思想, 各
参与方用各自的私钥加密, 然后将其转化为云服
务器的密文, 可以实现多方云计算, 解决了不同
公钥加密下的密文不能进行同态 运算的问题; 为
满足不同用户之间的共享需求, 计算结果可选择
发送给指定且合法的非数据提供者, 再次使用了
一次重加密技术, 并且计算结果除了指定接收者
外, 其他用户即使获得了数据提供者的原始密文
也无法对其进行解密。 给定一个重加密密钥和在
原始消息上的一个签名, 代理不仅可以转换密
文, 而且还 可以通过使用重加密密钥评估原始签
名来提供一个转换后的密文的签名, 可用来验证
云服务器是否执行正确的函数计算和函数结果
的正确性。
权利要求书3页 说明书7页 附图1页
CN 114915401 A
2022.08.16
CN 114915401 A
1.一种可验证的同态代理重加密系统, 其特征在于, 包括系统建立模块IB ‑
VHPRE.Setup(1λ,1L)、 私钥提取模块IB ‑VHPRE.Extract(pp,msk,id)、 加密模块IB ‑
VHPRE.Encrpty(pp,m,id)、 重加密密钥生成模块
重加密
模块
验证模块
解密模块 IB‑VHPRE.Decrypt(C,sk)、 同态计算模块Eval(C1,C2,f), 具体的:
系统建立模块 IB‑VHPRE.Setup(1λ,1L):
输入安全参数λ, 电路层数L, 选择一个二进制位表示为k位的模数q, 其中, k是关于λ和L
的多项式k=k( λ,L), 格维度n=n( λ,L), 误差分布χ=χ( λ,L), 参数m=m( λ,L)=O(nlogq),
采用陷门生成算法TrapGen(q,n)产生矩阵
及其格
上 的 一 个 陷 门 基
随 机 选 择 一 个 向 量
两 个 矩 阵
输出公共参数为pp=(n,q, χ,m,A0,A1,A2,u), 系统主私钥为
私
钥提取模块 IB‑VHPRE.Ext ract(pp,msk,id):
输入公共参数pp, 系统主私钥msk以及用户身份id, 设
运行左抽样算法输出向量
使得Pids=u; 令
有Bid·t=0; 输出公钥pkid=Bid, 私钥skid=t;
加密模块 IB‑VHPRE.Encrpty(p p,m,id):
输入公共参数pp, 一个消息位m ←{0,1}和用户身份id; 选取一个噪声向量e ←χ(1+2m)×1,
随机选取一个均匀向量r ←{‑1,1}n×1, 输出密文
其中, x1为(1,0,0,. ..,0);
重加密密钥生成模块
(1)、 输入第i个 参与方的私钥
和云服务器的公钥pko=Bo, 令
随机选择一个可逆矩阵
生成云服务器的代理重加密密钥rki→o=(Power2(ti)Z
XG);
(2)、 输入第i个参与 方的私钥
用户idj的公钥pkj=Bj, 随机选择两个误差向量
e1,e2←χn, 生成用户idj的代理重加密 密钥rki→j=(e1Bj e2‑Power2(ti));
(3)、 运行AFHS.KeyGen(MSK,f, τ )算法产生签名密钥
将rki→j的每一行用xi标记,
运行
算法产生签名 σi;
(4)、 将重加密 密钥与对应的签名(rki→j, σi)发送给云服 务器;权 利 要 求 书 1/3 页
2
CN 114915401 A
2重加密模块
(1)、 输入用户i的密文
重加密密钥rki→o及矩阵X的逆矩阵X‑1, 将用户i的密文转
化为云服务器的密文Co=G‑1(Ci)X‑1·rki→o;
(2)、 输入用户i的密文
及重加密密钥rki→j, 将用户i的密文转化为用户j的密文
(3)、 运行
算法生成签名
其中, 函数
定义为
(4)、 输出重加密 密文与签名;
验证模块
输入验证密钥
密文与签名组(Cid, σ*→j), 如果是原始密文
则签名σ*→j为
空; 若是经过转化后的密文
则签名为σi→j; 运行
算法, 输出验证结果;
解密模块 IB‑VHPRE.Decrypt(C,sk):
(1)、 对于各参与方的密文, 使用各自的私钥ski计算m'=[< C,sk>]q;
(2)、 对于转化后成为云服务器的密文Co, 云服务器使用自己的私钥 sko解密, 得到各参
与方的密文Cid'=[<C0,sk0>]q;
(3)、 对于经过代理重加密转化后的用户j密文
用户j使用自己的私钥skj解密, 得
到最终结果mi'=[<Cj,skj>]q;
同态计算模块Eval(C1,C2,f):
多方云计算, 云服 务器将各参与方 经过代理重加密后的密文执 行同态操作;
(1)Add(C1,C2): CAdd@C1+C2
(2)Mult(C1,C2): CMult@C1·G‑1(C2)
(3)NAND(C1,C2): CNAND@G‑C1·G‑1(C2)
云服务器将经过同态计算后的结果发送给各个参与 方, 各参与方通过自己的私钥解密
获得最终的计算结果, 实现了多方云计算, 解决了由于不同的公钥加密产生的密文无法进
行同态计算的问题。
2.一种可验证的同态 代理重加密方法, 其特 征在于, 包括 步骤如下:
步骤一、 私钥提取模块IB ‑VHPRE.Extract(pp,msk,id)根据系统建立模块IB ‑
VHPRE.Setup(1λ,1L)生成的公共参数与系统主私钥, 生成用户的公私钥对; 进入加密模块
IB‑VHPRE.Encrpty(p p,m,id), 用户使用各自的私钥加密, 生成密文上传至云服 务器;
步骤二、 通过重加密密钥生成模块
与重加密模块权 利 要 求 书 2/3 页
3
CN 114915401 A
3
专利 一种可验证的同态代理重加密方法及系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:13:47上传分享