利索能及
我要发布
收藏
专利号: 2022109898999
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-30
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种支持多用户的动态可搜索加密方法,其特征在于,包括如下步骤:步骤1:设定系统公开参数params和状态σ,所述系统公开参数params为σ为,p为大素数,p阶乘法循环群 和 双线性映*

射es: 从 中选择生成元g,h,选取四个抗碰撞的哈希函数H、H0、H1、H2;选取密l钥K、用于存储当前关键字搜索令牌索引CT和整数n,n=2,其中l是文件最大数;

步骤2:根据想要更新或搜索的信息建立文件索引bs;

步骤3:根据所述系统公开参数params和用户ID,生成用户的私钥步骤3.1:生成元h=h0+h1;

步骤3.2:身份权威机构计算 作为用户的私钥,身份权威机构颁发给用户的私钥为

步骤4:根据所述系统公开参数params,用户的私钥 和关键字搜索令牌索引CT,得到搜索令牌STc和计数器c;

步骤4.1:授权者的代理服务器计算 hu=h0(1‑u)+h1u发送hu给身份权威机构进行身份验证;

步骤4.2:身份权威机构接收后计算

步骤4.3:身份权威机构根据关键字搜索令牌索引CT,返回当前关键字搜索令牌STc和计数器c给用户;

步骤5:根据关键字密钥生成的一次性私钥skc+1,对文件索引bs进行加密得到ec+1;

步骤5.1:加密者通过具有密钥K的键控伪随机函数FK生成K′w;

步骤5.2:计算一次性私钥skc+1=H2(K′w,c+1);

步骤5.3:计算加密文件索引ec+1=skc+1+bsc+1modn,bsc+1为第c+1个文件索引;

步骤6:对于状态σ,根据加密数据库EDB、文件索引bs、更新关键字w,得到更新状态σ′和更新的加密数据库EDB′;

步骤7:对于状态σ,根据加密数据库EDB,搜索用户想要搜索的关键字w,搜索得到加密文件索引ei;

步骤7.1:授权者的代理服务器通过具有密钥K的键控伪随机函数FK生成Kw;

步骤7.2:根据当前关键字搜索令牌STc和计数器c判断是否为空,如果为空,返回 如果不为空,则继续执行以下步骤;

步骤7.3:发送(Kw,STc,c)到数据库服务器;

步骤7.4:数据库服务器从计数器位置c直到位置0往前循环执行以下步骤;

步骤7.5:计算UTi=H0(Kw,STi),检索与用户想要搜索关键字w对应的所有加密位字符串ei,即加密文件索引ei;

步骤8:根据步骤7搜索得到的加密文件索引ei,通过同态相加获得最终结果Sume;

步骤9:根据同态相加结果Sume和一次性私钥的总和Sumsk,解密后得到文件索引bs。

2.根据权利要求1所述的支持多用户的动态可搜索加密方法,其特征在于,所述哈希函* *数H、H0、H1、H2选用哈希函数MD‑5、SHA‑1、SHA‑2或SHA‑3,且H 只有代理服务器和身份权威机构可知。

3.根据权利要求1所述的支持多用户的动态可搜索加密方法,其特征在于,所述步骤6中包括:步骤6.1:授权者的代理服务器通过具有密钥K的键控伪随机函数FK生成Kw;

步骤6.2:根据步骤4中当前关键字搜索令牌STc和计数器c判断是否为空,如果为空,则cλ←‑1,STc←{0,1};如果不为空,则继续执行以下步骤;

λ

步骤6.3:代理服务器执行STc+1←{0,1},将(STc+1,c+1)存储到CT;

步骤6 .4:计算更新令牌UTc+1=H0(Kw,STc+1),屏蔽之前的搜索令牌步骤6.5:代理服务器将(UTc+1(ec+1,CSTc))发送到数据库服务器;

步骤6.6:数据库服务器根据代理服务器发送的信息更新状态和加密数据库。

4.根据权利要求1所述的支持多用户的动态可搜索加密方法,其特征在于,所述步骤8具体包括:数据库服务器根据所有加密位字符串ei,从计数器位置c直到位置0往前循环执行以下步骤:计算Sume=ei‑1+eimodn。

5.根据权利要求1至4任一所述的支持多用户的动态可搜索加密方法,其特征在于,所述步骤9包括:步骤9.1:解密者从计数器位置c直到位置0往前循环执行以下步骤;

步骤9.2:计算ski=H2(K′w,i),将计算得到的每个sk进行模加运算,得到一次性私钥的总和Sumsk,其中,K′w为加密者通过具有密钥K的键控伪随机函数FK生成的;

步骤9.3:结束循环后,用户计算bs=Sume‑Sumskmodn得到想要搜索的文件索引。

6.一种基于权利要求1至5任一所述的支持多用户的动态可搜索加密方法的支持多用户的动态可搜索加密系统,其特征在于,包括:系统参数设置模块:输入安全参数λ,返回系统公开参数params和状态σ;

索引建立模块:输入数据库DB,建立文件索引bs;

注册模块:根据系统公开参数params和用户ID,生成用户的私钥 其中k=1,

2,…,N,系统中共有N个授权者;

认证模块:根据系统公开参数params,输入用户的私钥 和当前关键字搜索令牌索引CT,返回搜索令牌STc和计数器c;

加密模块:加密者输入一次性私钥skc+1对文件索引bs进行加密,得到加密文件索引ec+1;

更新模块:数据库服务器根据状态σ和授权者需要更新的关键字w,对加密数据库EDB进行更新,得到更新的状态σ′和加密数据库EDB′;

搜索模块:数据库服务器根据状态σ和授权者想要查询的关键字w,对加密数据库EDB进行搜索,得到加密文件索引ei;

同态加法模块:数据库服务器应用同态加法算法,将与授权者想要查询的关键字w对应的所有加密文件索引ei进行同态相加,得到加密文件索引的总和Sume;

解密模块:解密者根据一次性私钥的总和Sumsk对加密文件索引的总和Sume进行解密,得到文件索引bs。