1.一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述方法包括:
S1:量子中心制备抗联合噪声的初始逻辑GHZ态,并分别发送给数据库持有者、多用户和可信节点;所述联合噪声包括联合退相位噪声和联合旋转噪声;
S2:数据库持有者、多用户和可信节点将收到的粒子重排并返还给量子中心;
S3:量子中心从接收到的初始逻辑GHZ态中按照其对应的规则提取初始GHZ态;
S4:数据库持有者、多用户和可信节点执行安全检测,若安全检测通过,则进行步骤S5,否则返回步骤S1;
S5:量子中心按照数据库持有者的要求,将初始密钥编码到初始GHZ态上;
S6:量子中心按照数据库持有者的要求,对量子态进行贝尔测量,并返回测量结果;当多用户与可信节点的预共享密钥的值为1时,多用户和可信节点分别要求量子中心对相应粒子执行测量,并返回结果;
S7:数据库持有者公布所有粒子的测量结果,多用户和可信节点公布筛选后的粒子的测量结果,多用户根据公布的测量结果推断出编码信息,获得初始密钥;
S8:数据库持有者和多用户对初始密钥进行处理后得到加密密钥和解密密钥,数据库持有者加密整个数据库并发送给多个用户,多个用户对加密数据进行解密,完成数据查询。
2.根据权利要求1所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述量子中心制备初始逻辑量子态之前还包括:S11:数据库持有者、多用户和可信节点确定错误率t;
S12:数据库持有者和多用户确定安全参数λ和编码规则;
S13:数据库持有者随机生成λN比特的字符串作为初始密钥;
S14:多用户和可信节点之间预先共享一组λN比特的字符串作为预共享密钥。
3.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,步骤S1中量子中心制备初始逻辑GHZ态,并分别发送给数据库持有者、多用户和可信节点,包括量子中心制备4λN个初始逻辑GHZ态,提取出每个初始逻辑GHZ态中的粒子对,分别发送给数据库持有者、多用户、和可信节点;在传输过程中,丢失的粒子被忽略并且重新传输,直到数据库持有者、多用户和可信节点宣布接收到所有的粒子。
4.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述步骤S2包括数据库持有者、多用户和可信节点在收到粒子后,各自记录其对应的原始位置,使用量子延迟线圈将各自持有的粒子随机地重排;并分别将重排后的粒子发送给量子中心,量子中心使用量子寄存器按照接收顺序存储数据库持有者、多用户和可信节点发送的所有粒子。
5.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述步骤S3包括量子中心在确认接收到数据库持有者、多用户和可信节点反馈回来的所有的粒子对后,分别在粒子对上执行相应的酉操作,包括对于抗联合退相位噪声的初始逻辑GHZ态,执行一个CNOT门,提取出初始GHZ态,对于抗联合旋转噪声的初始逻辑GHZ态,先执行一个CNOT门,再执行一个受控Z门,提取出初始GHZ态。
6.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述步骤S4中的安全检测包括数据库持有者、多用户和可信节点分别随机生成一个长度为4λN的二元字符串并公布它,根据其他参与者公布的结果,按位异或得到一个新的长度为4λN字符串;当字符串中对应位置的值为1时,把量子中心持有的4λN粒子的原始位置上的粒子作为检测粒子,对于每个检测粒子,数据库持有者、多用户和可信节点随机选择X或Y基要求量子中心进行测量,并返回测量结果;数据库持有者、多用户和可信节点公布每个检测粒子的测量基,并计算每个位置上测量基Y基的数量,如果Y基的数量为偶数,则宣布相应位置上的测量结果;如果不存在窃听,那么数据库持有者、n个用户和可信节点这n+2个参与者之间有唯一确定的测量结果;通过比较其他参与者的测量结果,每个参与者计算错误率其中r代表验证正确的粒子的数量;如果错误率低于预先设定的阈值t,那么方案继续进行,则进入步骤S5,如果错误率高于预先设定的阈值t,那么方案重新开始,返回步骤S1。
7.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述步骤S5包括将初始密钥中对应位的值,数据库持有者按照编码规则,要求量子中心上的偶数位的初始GHZ态的第一个量子位进行酉操作。
8.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述步骤S7包括根据其他参与者公布的测量结果,多用户推断相应位置上数据库持有者进行的酉操作,从而获得数据库持有者的初始密钥。
9.根据权利要求2所述的一种抗联合噪声的半量子的多用户隐私查询方法,其特征在于,所述步骤S8包括数据库持有者和多用户将初始密钥分成λ组,每组包含N位密钥,按位异或分别得到加密密钥和解密密钥;若多用户获得解密密钥,则方案继续进行,若多用户未获得解密密钥,则方案重新开始,返回步骤S1;此时,数据库持有者获得全部的密钥,作为加密密钥,多用户得到其中一部分密钥,作为解密密钥,假设多用户获得第j位密钥,待检索的是第i位数据,此时,多用户发送移位s=j-i给数据库持有者,数据库持有者将加密密钥进行移位,并使用移位后的加密密钥对数据库进行加密并发送给多用户,多用户使用解密密钥得到第i个位置上的数据。