利索能及
我要发布
收藏
专利号: 2019105983793
申请人: 浙江理工大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于全同态加密的排序方法,具体包括以下步骤:(1)收集需要排序的工业数据A1,A2,...,An;

(2)分别用普通全同态加密方法及XCMP加密方法将步骤(1)中的工业数据加密,并将两组密文上传至云服务器;

其中[Ai]表示仅含常数项Ai的明文多项式所对应的密文;  表示仅含 项的明文多项式所对应的密文;

(3)使用XCMP方法对每个密文进行两两比较得到比较矩阵M;

具体步骤如下:

(3.1)每次取出步骤(2)所得到的密文数组 中的第i个元素与第j个密文 其中i,j满足1≤i,j≤n;

(3.2)将密文 进行自同构操作 得到多项式 其中函数定义如下:

m

其中mod为取余操作,多项式模数为X+1,m为多项式项数;

(3.3)分别设置系数 同时设置常数项为 的随机多项式RandomPloy,其中进行XCMP比较:

其中,系数模数为素数p,r1,r2,…,rm‑1均为随机常数,当Ai>Aj时,常数项为0,当Ai≤Aj时,常数项为1;

(3.4)重复执行步骤(3.1)‑(3.3)n×n次操作,得到比较矩阵M;

(4)将比较矩阵M每列密文相加求和,得到汉明权重ham(A1,A2,…,An)数组;

其中

(5)步骤(4)所得到汉明权重数组中每个密文所对应的明文多项式包括常数项和其他项,而其他项系数均为随机值;通过下面的常数项抽取技术仅保留明文多项式的常数项,其具体过程如下:

(5.1)假设t=1,取汉明权重数组中的第t个元素 其中ai为明文多项式第i项系数;

(5.2)将ham(At)记为 其中k的初值为0;对ham(At)进行自同构操作得到ham(At)′;其中,所述自同构操作为 它的定义如下:

然后将ham(At)、ham(At)′相加,得到新密文设置k=k+1,重写 为 再将 赋给ham(At);对于所有的k=1,2,...,log2m‑1重复步骤(5.2);最终得到明文多项式只含常数项的密文ham(At)=[a0·m];

‑1

(5.3)计算密文ham(At)=ham(At)·(m mod p)得到密文ham(At)=[a0],其明文多项式只有常数项a0;计算t=t+1,对汉明权重数组中的n个元素依次重复步骤(5.1);

(6)将步骤(5.3)得到的新汉明权重数组ham(A1,A2,…,An)排序,得到排好序的数组ans,其具体过程如下:

(6.1)定义比较函数 来判断a,b是否相等,a,b分别为需要比较的明文;

(6.2)将步骤(5.3)得到的新汉明权重数组ham(A1,A2,…,An)通过调用步骤(6.1)所定义的比较函数,进行如下计算:得到排好序的数组ans;其中,[Ak]为步骤(2)中经过普通全同态加密的数组;

(7)云服务器将排好序的数组ans[1],ans[2],…,ans[n]密文数组返回给用户,用户对其解密得到最终排序结果。