Page 304 - 《软件学报》2021年第10期
P. 304
3276 Journal of Software 软件学报 Vol.32, No.10, October 2021
(1) 根据本方案可知:对不需要的搜索关键词,其搜索差分矩阵在该位置 1,一旦某文件在该关键词上的值
也为 1 时,该文件的索引和此次搜索陷门进行匹配计算的矩阵不为 0 矩阵,对于包含不需要关键词的
文件将不会被检索;
(2) 对于包含需要的关键词、不含不需检索关键词的文件,可由通配符描述要搜索文件时,根据独热编码
原理,将通配符代表位置的关键词均置 1,即搜索差分矩阵在这些关键词的值均为 0.即:若某文件索引
该位置值为 1,该文件的索引和此次搜索陷门计算的矩阵也为 0 矩阵,即该文件仍然会被搜索得到;
(3) 由于构建的文件索引和搜索陷门中包含文件的所有属性,只需将搜索向量中需要搜索的关键词置 1,
就能实现范围搜索.
4.7 密文解密
DU 收到匹配的密文 ct i 后,使用对称解密算法(E,D)和相应的解密密钥 key i 将 ct i 解密成所需要的 EHRs 文
件 f i .
5 方案正确性
为描述检索匹配算法的正确性,用一个实例来验证陷门匹配的正确性.假定 l=3,h=4,私钥中二进制矩阵:
10 0 1
P 00 11 .
10 1 0
对于某个需要搜索的文件 f k ,其关键词向量假定为 I [101001010011];
用户搜索向量为 S [101001010111];
那么,搜索差分向量 QS [010110101000];
可以得到, I (Q S ) 向量内积为 0,此用户可能成功检索到文件 f.
ˆ
根据本方案, I A *,I 建立的关键词矩阵为
0 0
1,1 1,3
I 0 2,1 0 2,4 ,
0 0
3,3 3,4
则以私钥 P 通过索引生成算法 Index SK (F)划分出的 、I a I 的索引矩阵为
b
a 1 0 1,3 a 4 1,1 a 1 0 1,3 a 4
I a 0 2,1 a 7 a 8 , I b 0 2,1 a 7 2,4 a 8 .
a 9 0 a 11 3,4 a 9 0 3,3 a 11 3,4
以{M 1 ,M 2 }生成加密的索引矩阵为 I ˆ {M 1 a , 2 b IM I }.
ˆ
用户 DU 使用搜索向量 S 请求搜索时,首先调用陷门生成算法 Trapdoor SK (S)划分出来搜索陷门 S ˆ a 、S 为
b
0 b 2 b 3 1,4 0 1,2 b 2 b 3 1,4
ˆ b b S 0, S ˆ b b 0 .
a 5 6 2,3 b 2,1 5 6 2,3
3,1 b 9 0 b 12 3,1 3,2 b 9 0 b 12
以密钥(M 1 ,M 2 )生成陷门 TD S ,并将 TD S 发送给云服务器 CS.
ˆ
1 ˆ
1 ˆ
云服务器以陷门 TD {M SM S 和搜索索引 I {M T ˆ , T ˆ IM I }, 通过匹配算法判断:
}
,
S 1 a 2 b 1 a 2 b
1 ˆ
1 ˆ
1 ˆ
ˆ
I ˆ *TD S {M IM I ˆ }*{M S a , 2 1 ˆ b } (M I ˆ M S )*(M S a ) (M I ˆ )*(M S b ) I ˆ a * S ˆ a I ˆ b * S ˆ b .
,
1
2
2 b
1 a
2 b
1
1 a
ˆ
ˆ
ˆ ˆ
,
对文件 f 的( II )以及用户搜索陷门的( S S )执行关键词搜索运算,算法输出结果如下:
,
b
a
b
a