利索能及
我要发布
收藏
专利号: 2021107112169
申请人: 南京师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,包括以下步骤:步骤A、根据安全参数,生成系统的全局参数集;

步骤B、根据系统的全局参数集,密文存储服务器生成自己的公私钥;

步骤C、根据系统的全局参数集,用户生成自己的公私钥,用户包括数据拥有者和被授权数据使用者;

步骤D、根据系统的全局参数集、数据拥有者的公钥、密文存储服务器的公钥和一个与数据密文相关联的关键词,数据拥有者生成索引密文,并将之附加在数据密文后;

步骤E、根据系统的全局参数集、数据拥有者的私钥和被授权数据使用者的私钥,数据拥有者和被授权数据使用者交互生成索引密文重加密密钥;

步骤F、根据系统的全局参数集、密文重加密密钥和数据拥有者的索引密文,密文存储服务器生成被授权数据使用者能够检索的共享索引密文;

步骤G、根据系统的全局参数集、用户的私钥、密文存储服务器的公钥和待搜索的关键词,用户生成搜索陷门;

步骤H、根据系统的全局参数集、密文存储服务器的私钥、索引密文和搜索陷门,密文存储服务器测试索引密文和搜索陷门是否匹配,即测试索引密文和搜索陷门所包含的关键词是否相同,其中索引密文是数据拥有者的索引密文,或者是给被授权数据使用者的共享索引密文;若索引密文和搜索陷门匹配成功,密文存储服务器将该索引密文对应的数据密文发送给用户;否则,密文存储服务器忽略该索引密文对应的数据密文;

步骤I、根据系统的全局参数集,数据拥有者当前使用的私钥和数据拥有者将启用的新私钥,数据拥有者生成索引密文更新密钥;

步骤J、根据系统的全局参数集、数据拥有者的索引密文更新密钥和数据拥有者的原始索引密文,密文存储服务器更新原始索引密文,生成新索引密文;

步骤A的具体过程如下:

+

步骤A1、系统参数生成中心根据安全参数λ∈Z生成一个λ比特的素数q,一个q阶乘法循+环群G和一个q阶乘法循环群GT,并定义一个双线性映射fbp:G×G→GT,其中Z 为正整数集合,fbp:G×G→GT是乘法循环群G和自身的笛卡尔积G×G到乘法循环群GT的映射,即双线性映射fbp:G×G→GT是指函数z=fbp(x,y),其中,x,y∈G为自变量,z∈GT为因变量;

步骤A2、从乘法循环群G中选择一个生成元g;

* l +

步骤A3、定义三个哈希函数H:G→G,H1:{0,1} →G,H2:GT→{0,1},其中,l∈Z,H是乘法*循环群G到乘法循环群G的哈希函数,H1是{0,1} 到乘法循环群G的哈希函数,H2是乘法循环*群GT到长度为l的二进制符号串的哈希函数,{0,1}是长度不固定的二进制符号串的集合,l{0,1}是长度为l的二进制符号串的集合;

步骤A4、生成系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2}。

2.根据权利要求1所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤B的具体过程如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},密文存储服务器在集合 中随a机选择自己的私钥SKS=a,并计算自己的公钥PKS=g,其中

3.根据权利要求2所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤C的具体过程如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},用户在集合 中随机选择自己的私钥SKU=xU,并计算自己的公钥 将数据拥有者当前使用的公私钥和将启用的新公私钥分别表示为(PKDO,SKDO)和 被授权数据使用者的公私钥表示为(PKAU,SKAU)。

4.根据权利要求3所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤D的具体过程如下:步骤D1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者根据自己的公钥PKDO、密文存储服务器的公钥PKS以及一个与待发送数据密文相关联的关键词w,随机r选择一个整数 生成一个双线性映射值t=fbp(PKS,H1(w)) ,其中,H1(w)为哈希函数H1输出的关键词w的哈希值;

r

步骤D2、计算索引密文的第一部分A=(PKDO) 和索引密文的第二部分B=H2(t);

步骤D3、发送者组合A,B生成索引密文CTw,DO,即索引密文CTw,DO=(A,B)然后将之附加在数据密文上发送给密文存储服务器。

5.根据权利要求4所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤E的具体过程如下:步骤E1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者随机选择一个整数 利用自己的私钥SKDO计算t1=nSKDOmodq作为自己与被授权数据使用者的交互值,然后将之发送给被授权数据使用者;

步骤E2、被授权数据使用者接收到t1后,利用自己的私钥SKAU计算t2=SKAU/t1作为自己与数据拥有者的交互值,然后将之发送给数据拥有者;

步骤E3、数据拥有者接收到t2后,利用随机整数n计算索引密文重加密密钥rkDO→AU=nt2,然后将之发送给密文存储服务器。

6.根据权利要求5所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤F的具体过程如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},密文存储服务器根据索引密文重加密密钥rkDO→AU和数据拥有者的索引密文CTw,DO=(A,B),重新计算索引密文的第一部分生成共享索引密文CTw,AU=(A',B)。

7.根据权利要求6所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤G的具体过程如下:步骤G1、根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},用户随机选择一个整r数 计算搜索陷门的第一部分T1=g ';

步骤G2、用户利用自己的私钥SKU、密文存储服务器的公钥PKS以及待搜索的关键词w′,计算搜索陷门的第二部分 其中,H1(w')为哈希函数H1输出的关键词w′的哈希值, 为哈希函数H输出的密文存储服务器公钥PKS的r′次方的哈希值;

步骤G3、用户组合T1和T2生成搜索陷门Tw',即搜索陷门Tw'=(T1,T2),然后发送给密文存储服务器。

8.根据权利要求7所述具有密钥更新与密文分享功能的可搜索公钥加密方法,其特征在于,步骤H的具体过程如下:根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},索引密文CTw,U和搜索陷门Tw'=(T1,T2),其中索引密文CTw,U是数据拥有者的索引密文CTw,DO=(A,B),或者是给被授权数据使用者的共享索引密文CTw,AU=(A',B),密文存储服务器使用自己的私钥SKS=a检查等式是否成立,如果等式成立,则表示索引密文和搜索陷门相匹配,将索引密文CTw,U对应的数据密文发送给搜索者;否则,匹配测试失败,忽略该索引密文CTw,U;

步骤I的具体过程如下:

根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者根据自己当前使用的私钥SKDO和将启用的新私钥 生成一个索引密文更新密钥 然后将之发送给密文存储服务器;

步骤J的具体过程如下:

根据系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2},数据拥有者的索引密文更新密钥UKDO和索引密文CTw,DO=(A,B),密文存储服务器重新计算索引密文的第一部分生成一个新索引密文

9.一种具有密钥更新与密文分享功能的可搜索公钥加密系统,其特征在于,包括:系统参数生成模块,用于根据输入的安全参数生成系统的全局参数集,具体为:+

步骤A1、系统参数生成中心根据安全参数λ∈Z生成一个λ比特的素数q,一个q阶乘法循+环群G和一个q阶乘法循环群GT,并定义一个双线性映射fbp:G×G→GT,其中Z 为正整数集合,fbp:G×G→GT是乘法循环群G和自身的笛卡尔积G×G到乘法循环群GT的映射,即双线性映射fbp:G×G→GT是指函数z=fbp(x,y),其中,x,y∈G为自变量,z∈GT为因变量;

步骤A2、从乘法循环群G中选择一个生成元g;

* l +

步骤A3、定义三个哈希函数H:G→G,H1:{0,1} →G,H2:GT→{0,1},其中,l∈Z,H是乘法*循环群G到乘法循环群G的哈希函数,H1是{0,1} 到乘法循环群G的哈希函数,H2是乘法循环*群GT到长度为l的二进制符号串的哈希函数,{0,1}是长度不固定的二进制符号串的集合,l{0,1}是长度为l的二进制符号串的集合;

步骤A4、生成系统的全局参数集prms={q,G,GT,fbp,g,H,H1,H2};

密文存储服务器公私钥生成模块,用于根据系统的全局参数集,生成密文存储服务器的公私钥;

用户公私钥生成模块,用于根据系统的全局参数集,生成用户的公私钥,用户包括数据拥有者和被授权数据使用者;

索引密文生成模块,根据系统的全局参数集、数据拥有者的公钥、密文存储服务器的公钥和一个与数据密文相关联的关键词,数据拥有者生成索引密文;

索引密文重加密密钥生成模块,用于根据系统的全局参数集、数据拥有者的私钥和被授权数据使用者的私钥,数据拥有者和被授权数据使用者交互生成索引密文重加密密钥;

共享索引密文生成模块,用于根据系统的全局参数集、索引密文重加密密钥和数据拥有者的索引密文,密文存储服务器生成被授权数据使用者能够检索的索引密文;

搜索陷门生成模块,用于根据所系统的全局参数集、用户的私钥、密文存储服务器的公钥和待搜索的关键词,用户生成搜索陷门;

密文检索模块,用于根据系统的全局参数集、密文存储服务器的私钥、索引密文和搜索陷门,密文存储服务器测试索引密文和搜索陷门是否匹配,即测试索引密文和搜索陷门所包含的关键词是否相同,其中索引密文是数据拥有者的索引密文,或者是给被授权数据使用者的共享索引密文;若索引密文和搜索陷门匹配成功,密文存储服务器将该索引密文对应的数据密文发送给用户;否则,密文存储服务器忽略该索引密文对应的数据密文;

索引密文更新密钥生成模块,用于根据系统的全局参数集、数据拥有者当前使用的私钥和将启用的新私钥,数据拥有者生成索引密文更新密钥;

索引密文更新模块,用于根据系统的全局参数集、数据拥有者的索引密文更新密钥和数据拥有者的原始索引密文,密文存储服务器对数据拥有者的原始索引密文更新,生成新索引密文。