(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210800958.3
(22)申请日 2022.07.08
(71)申请人 暨南大学
地址 510632 广东省广州市天河区黄埔大
道西601号
(72)发明人 赖俊祚 张蓉 李燕玲 宋贝贝
吴鹏辉
(74)专利代理 机构 广州市华学知识产权代理有
限公司 4 4245
专利代理师 杜柱东
(51)Int.Cl.
H04L 9/00(2022.01)
H04L 9/08(2006.01)
H04L 9/14(2006.01)
(54)发明名称
一种支持双向代理重加密的同态加密方法
(57)摘要
本发明公开了一种支持双向代理重加密的
同态加密方法, 包括以下步骤: 密钥对生成, 输入
安全参数到密钥对生成算法, 生成公钥和私钥;
公钥加密消息, 将公钥和需要加密的消息输入加
密算法中, 进行消息加密, 得到密文; 代理密钥生
成, 根据授权方的公钥和私钥以及被授权方的公
钥和私钥, 生 成代理密钥; 代理重加密, 根据密文
和代理密钥, 对授权方的密文进行重加密; 解密
密文, 通过解密算法解密密文恢复消息。 本发明
方法具有同态 性质且支持双向代理重加密, 可用
于外包计算等场景中, 有效的保护了 隐私, 在一
定程度上解决了多密钥难计算的问题。
权利要求书3页 说明书8页 附图1页
CN 115361109 A
2022.11.18
CN 115361109 A
1.一种支持双向代理重加密的同态加密方法, 其特 征在于, 包括:
密钥对生成, 根据实 际的安全需求选择安全参数, 将安全参数输入到密钥对生成算法
中, 生成公钥和私钥以及其 他参数;
公钥加密消息, 将公钥和待加密消息输入加密算法中, 进行消息加密, 得到消息对应的
密文;
代理密钥生成, 根据授权方的公钥和私钥以及被授权方的公钥和私钥, 生成代理密钥;
代理重加密, 当协助方同时拥有授权方的密文和代理密钥时, 协助方对授权方的密文
进行代理重加密, 将授权方能解密的密文转 化成被授权方能解密的密文;
解密密文, 当需要对密文进行解密时, 输入密文和对应的私钥到解密算法中, 通过解密
算法对密文 进行解密得到该密文对应的消息 。
2.根据权利要求1所述的一种支持双向代理重加密的同态加密方法, 其特征在于, 支持
双向代理重加密的同态加密方法基于
上的DDH假设构造, 其明文空间
密文空
间为
其中,
表示模N2乘法群,
表示模N加法群。
3.根据权利要求1所述的一种支持双向代理重加密的同态加密方法, 其特征在于, 密钥
对生成具体为:
输入安全参数κ 到密钥对生成算法K eyGen( κ ), 输出公钥pk、 私钥sk、 素 数p以及素 数q;
密钥对生成算法K eyGen( κ )具体步骤为:
首先初始化生成公共参数, 再根据公共参数生成公私钥对, 具体如下: 从安全素数集
中选取两 个素数p和q, 令N =pq, 其中, 要求 N的比特长度为κ, 当不满足该要求时, 重新选
择素数p和q, 直到满足要求 为止;
计算
其中
为安全素数组成的集 合;
再选择一个随机数
令gα2mod N2, 若
则重复执
行
直到
其中,
表示从
中均匀随机地选取出一个元素α, mod表示求余, ord(g)表示
g的阶,
表示所有模N2的二次剩余组成的循环群,
表示群
的元素的个
数;
最后选择一个随机数
计算h=gamod N2, 输出公钥pk=(N,g,h), 私钥
sk=a, 素数p、 素数q。
4.根据权利要求3所述的一种支持双向代理重加密的同态加密方法, 其特征在于, 公钥
加密消息具体为:
输入公钥pk和消息m到加密算法Enc(pk,m)中, 加密算法输出密文c; 加密算法具体过程
如下:
对于明文消息m∈ZN, 选取随机数
使用公钥pk=(N,g,ga)进行加密, 计算密文
c=(c1,c2), c1=garmod N2,c2=gr(1+mN)mod N2;权 利 要 求 书 1/3 页
2
CN 115361109 A
2其中,
表示模N2的加法群。
5.根据权利要求4所述的一种支持双向代理重加密的同态加密方法, 其特征在于, 解密
密文具体为:
当私钥sk、 密文c已知时, 通过解密算法Dec1(sk,c)输出消息
解密算法具体过程如
下:
已知密文c=(c1,c2), c1=garmod N2, c2=gr(1+mN)mod N2, 私钥sk=a时, 计算出
6.根据权利要求1所述的一种支持双向代理重加密的同态加密方法, 其特征在于, 代 理
密钥生成具体为:
输入授权方的公钥pki和私钥ski以及被授权方的公钥pkj和私钥skj, 输出代理密钥
具体过程如下:
假设授权方的公钥 pki=(N,g,ga)和私钥ski=a, 以及被授权方的公钥 pkj=(N,g,gb)和
私钥skj=b, 则代理密钥
7.根据权利要求1所述的一种支持双向代理重加密的同态加密方法, 其特征在于, 代 理
重加密具体为:
对授权方的密文进行重新加密, 输入密文ci和代理密钥
输出被授权者能解密的
密文cj;
其中, ci表示授权者能解密的密文, cj表示被授权者能解密的密文; 具体过程如下:
假设代理密钥
授权者的密文
首 先 计 算
则被 授 权 者的 密 文
当 需 要 把
的 密 文 代理 重 加 密成 ci时 , 计 算
即完成授
权者和被授权者的密文之间的双向代理重加密。
8.根据权利要求1所述的一种支持双 向代理重加密的同态加密方法, 其特征在于, 当N
的素数分解p和q已知时, 存在另一种解密方法, 即第二解密算法Dec2(p,q,pk,c), 由拥有主
私钥, 即p和q的可信第三方进行解密恢复消息;
当素数p和q已知时, 通过第二 解密算法Dec2(p,q,pk,c)输出消息
具体过程如下:
输入素数p、 素数q、 公钥pk=(N,g,h=ga)和密文c=(c1,c2), c1=garmod N2,c2=gr(1+
mN)mod N2;
首先计算出素数
素数
然后计算t=hp′q′mod N2=g(p′q′)·amod N2权 利 要 求 书 2/3 页
3
CN 115361109 A
3
专利 一种支持双向代理重加密的同态加密方法
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 04:05:32上传分享