【技术实现步骤摘要】
一种隐私关键词查询方法、装置及电子设备
[0001]本申请涉及隐私计算
,尤其涉及一种隐私关键词查询方法、装置及电子设备。
技术介绍
[0002]隐私关键词查询(Private Keyword Search,PKS)是密码学中隐私计算
及多方安全计算
中近年来兴起的一个重要应用场景。高效地实现隐私关键词查询,可广泛应用于金融、工业等场景下的敏感隐私数据的查询,能够尽可能地保护客户端和服务端的数据隐私安全,使得服务端的数据仅透露单条数据查询结果的信息。
[0003]现有的隐私关键词查询方法,在仅有两方参与的情况下,有基于同态加密(Homomorphic Encryption,HE)的方法,和基于不经意传输(Oblivious Transfer,OT)的方法。基于OT的方法虽然计算效率很高,但是需要传输大量的数据,需要将服务端的数据库的数据进行加密,并传输一遍给作为查询方的客户端,占用大量的网络资源,并且查询得到的密文结果仅能直接解密为明文,无法像同态加密一样能在密文状态下对查询结果进行其他运算。 />[0004]基于本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种隐私关键词查询方法,其特征在于,应用于客户端设备,所述方法,包括:将待查询的多个关键词按照每组包含预设数量个关键词进行分组,得到v组关键词,且第v组关键词包含的关键词的数量小于等于所述预设数量;针对每组关键词,将所述预设数量的素数作为中国剩余定理的参数,使用中国剩余定理计算该组关键词包含的所述预设数量的关键词的同余数据,作为针对该组关键词打包编码的明文数据,得到针对所述v组关键词的共计v个明文数据;针对每个明文数据,使用公钥计算该明文数据的1至m次幂对M取模的密文数据,得到针对v个明文数据的共计v
×
m个密文数据,其中,M为所述预设数量的素数的乘积,m为取其平方最接近n的整数,n为服务端设备持有的被查询数据的数量,每条被查询数据包括关键词和对应的数据;向服务端设备发送所述v
×
m个密文数据,使得所述服务端设备针对每个明文数据,将该明文数据对应的m个密文数据作为a个第一种多项式函数的输入,使用公钥进行半同态加密计算,得到该明文数据对应的a个第一半同态密文数据,以及将该明文数据对应的m个密文数据作为a个第二种多项式函数的输入,使用公钥进行半同态加密计算,得到该明文数据对应的a个第二半同态密文数据,所述a为按照每份数据包括m条数据将n条被查询数据进行划分的份数,a个所述第一种多项式函数和a个所述第二种多项式函数为分别针对每份数据生成的,将一份数据中的关键词作为对应的第一种多项式函数的输入进行计算,结果为0,将一份数据中的关键词作为对应的第二种多项式函数的输入进行计算,结果为该份数据中的关键词对应的数据,还使得所述服务端设备针对每份数据和每个明文数据,使用公钥采用同态数乘和同态加法在密文上,计算该份数据和该明文数据对应的随机数乘以该明文数据和该份数据对应的第一半同态密文数据的乘积,与该明文数据和该份数据对应的第二半同态密文数据的和值,作为查询密文数据,共计得到a
×
v个查询密文数据,所述随机数是模M取随机得到的,并向所述客户端设备发送所述a
×
v个查询密文数据;使用私钥对所述a
×
v个查询密文数据进行解密,得到a
×
v个查询解密结果;针对每个所述查询解密结果,基于该查询解密结果对应的明文数据,使用中国剩余定理进行解码,得到各解码数据,所述各解码数据与该查询解密结果对应的明文数据对应的一组关键词所包含的各关键词一一对应;从所述各解码数据中,将数据位数与被查询数据的数据位数一致的解码数据,作为对应的关键词的查询结果。2.如权利要求1所述的方法,其特征在于,所述预设数量的素数的长度大于所述服务端设备持有的被查询数据的数据位数的指定位数。3.一种隐私关键词查询方法,其特征在于,应用于服务端设备,所述方法,包括:接收客户端设备发送的v
×
m个密文数据,所述v
×
m个密文数据为所述客户端设备采用如下步骤生成的:所述客户端设备将待查询的多个关键词按照每组包含预设数量个关键词进行分组,得到v组关键词,且第v组关键词包含的关键词的数量小于等于所述预设数量;所述客户端设备针对每组关键词,将所述预设数量的素数作为中国剩余定理的参数,使用中国剩余定理计算该组关键词包含的所述预设数量的关键词的同余数据,作为针对该组关键词打包编码的明文数据,得到针对所述v组关键词的共计v个明文数据;
所述客户端设备针对每个明文数据,使用公钥计算该明文数据的1至m次幂对M取模的密文数据,得到针对v个明文数据的共计v
×
m个密文数据,其中,M为所述预设数量的素数的乘积,m为取其平方最接近n的整数,n为服务端设备持有的被查询数据的数量,每条被查询数据包括关键词和对应的数据;所述服务端设备针对每个明文数据,将该明文数据对应的m个密文数据作为a个第一种多项式函数的输入,使用公钥进行半同态加密计算,得到该明文数据对应的a个第一半同态密文数据,以及将该明文数据对应的m个密文数据作为a个第二种多项式函数的输入,使用公钥进行半同态加密计算,得到该明文数据对应的a个第二半同态密文数据,所述a为按照每份数据包括m条数据将n条被查询数据进行划分的份数,a个所述第一种多项式函数和a个所述第二种多项式函数为分别针对每份数据生成的,将一份数据中的关键词作为对应的第一种多项式函数的输入进行计算,结果为0,将一份数据中的关键词作为对应的第二种多项式函数的输入进行计算,结果为该份数据中的关键词对应的数据;所述服务端设备针对每份数据和每个明文数据,使用公钥采用同态数乘和同态加法在密文上,计算该份数据和该明文数据对应的随机数乘以该明文数据和该份数据对应的第一半同态密文数据的乘积,与该明文数据和该份数据对应的第二半同态密文数据的和值,作为查询密文数据,共计得到a
×
v个查询密文数据,所述随机数是模M取随机得到的;向所述客户端设备发送所述a
×
v个查询密文数据,使得所述客户端设备使用私钥对所述a
×
v个查询密文数据进行解密,得到a
×
v个查询解密结果,并针对每个所述查询解密结果,基于该查询解密结果对应的明文数据,使用中国剩余定理进行解码,得到各解码数据,所述各解码数据与该查询解密结果对应的明文数据对应的一组关键词所包含的各关键词一一对应,以及从所述各解码数据中,将数据位数与被查询数据的数据位数一致的解码数据,作为对应的关键词的查询结果。4.如权利要求3所述的方法,其特征在于,所述预设数量的素数的长度大于所述服务端设备持有的被查询数据的数据位数的指定位数。5.如权利要求3所述的方法,其特征在于,在所述针对每个明文数据,将该明文数据对应的m个密文数据作为a个第一种多项式函数的输入,使用公钥进行半同态加密计算,得到该明文数据对应的a个第一半同态密文数据,以及将该明文数据对应的m个密文数据作为a个第二种多项式函数的输入,使用公钥进行半同态加密计算,得到该明文数据对应的a个第二半同态密文数据之前,还包括:针对每份数据,以M作为模数进行插值计算,得到该份数据对应的第一种多项式函数和第二种多项式函数的系数。6.一种隐私关键词查询装置,其特征在于,应用于客户端设备,所述装置,包括:关键词分组模块,用于将待查询的多...
【专利技术属性】
技术研发人员:黄熹之,李艺,
申请(专利权)人:华控清交信息科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。