CN105099693B - 一种传输方法及传输装置 - Google Patents
一种传输方法及传输装置 Download PDFInfo
- Publication number
- CN105099693B CN105099693B CN201410223029.6A CN201410223029A CN105099693B CN 105099693 B CN105099693 B CN 105099693B CN 201410223029 A CN201410223029 A CN 201410223029A CN 105099693 B CN105099693 B CN 105099693B
- Authority
- CN
- China
- Prior art keywords
- information
- matrix
- public key
- function
- ciphertext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本申请提供一种传输方法及传输装置,该方法包括:第一电子设备获取不可逆函数簇L的函数描述和第一陷门,将L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);获取第二原像抵抗函数簇F的函数描述和第二陷门;将F的函数描述和第二陷门作为u‑1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个第一信息的编号,i为第i个第一信息的编号,L和F相互不可区分;将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku),并发送给第二电子设备,使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu加密得到u个密文R1,…,Ru;当第一电子设备接收到u个密文R1,…,Ru时;利用第一陷门的求逆算法L‑1对u个密文中的第i个密文解密得到第i个第二信息Qi。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种传输方法及传输装置。
背景技术
随着通信技术的发展,各种各样的通信需求涌现出来,例如:在现有技术中存在这样一种情况:用户Alice是机密出售者,Alice列举了很多问题,意欲出售各个问题的答案;而用户Bob只想购买其中一个问题的答案,但又不想让Alice知道自己买的是哪个问题的答案。也就是说,一方面,Alice的其他答案Bob不可见,另一方面,Alice不能获得Bob的选择问题的信息,即Alice不能区分Bob选择哪个问题。换言之,需要在双方各取所需时,又需要同时保证双方的隐私不被泄露。
而针对上述情况,现有技术中还没有有效的解决方法。
发明内容
本申请提供一种传输方法及传输装置,用以解决现有技术中存在的在通信过程中无法同时保证双方的隐私不被泄露的技术问题。
本申请第一方面提供了一种传输方法,包括:
第一电子设备获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);
所述第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个所述第一信息的编号,i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;所述L和所述F相互不可区分;
所述第一电子设备将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku)并将所述第一公钥序列发送给第二电子设备,以使得所述第二电子设备利用所述u个公钥按所述顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;所述u个第二信息Q1,…,Qu与u个所述第一信息一一对应;
当所述第一电子设备接收到所述u个密文R1,…,Ru时,所述第一电子设备利用所述第一陷门的求逆算法L-1对所述u个密文中的第i个密文解密得到第i个第二信息Qi。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一电子设备获取不可逆函数簇L的函数描述和第一陷门,具体包括:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(DT·x);
生成所述L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为所述第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述对Aq=(a1,q,…,an,q)T,q=1,…,m,调用加密算法进行加密,得到矩阵C=(C1,…,Cm),具体包括:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据所述Cq=(c1,q,…,cn,q),q=1,…,m,得到所述矩阵C。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,通过所述密钥生成算法生成所述公钥PK=(p,α1,α2,…,αn)和所述私钥SK,包括以下步骤:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一电子设备利用所述第一陷门的求逆算法L-1解密得到第i个第二信息,具体包括:
对所述第i个密文Ri,分解所述Ri为;分解为
对调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用所述第一陷门获得所述的第d1,d2,…,dn列;
通过纠删码译码算法和公式得到其中,所述
通过计算获得第i个第二信息Qi,其中,h为杂凑函数。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,对调用解密算法,生成向量y′∈{0,1}n,具体包括:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′2…y′n。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,所述第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门,具体包括:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成n-1阶矩阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成所述F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为所述u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述对Aq=(a1,q,…,an,q)T,q=1,…,m,调用加密算法进行加密,得到矩阵C=(C1,…,Cm),具体包括:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据所述Cq=(cq,1,…,cq,n),q=1,…,m,得到所述矩阵C。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,通过所述密钥生成算法生成所述公钥PK=(p,α1,α2,…,αn)和所述私钥SK,包括以下步骤:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
本申请第二方面还提供一种传输方法,包括:
第二电子设备接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,所述u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数;所述L和所述F相互不可区分;
所述第二电子设备利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;
所述第二电子设备将所述密文R1,…,Ru发送给第一电子设备。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二电子设备利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru,具体包括:
对第w个第二信息Qw,w=1,…,u,选取一个m长比特串xw;m为正整数;
取二元[m,n]纠错码的生成矩阵G,通过公式r计算得到密文其中,h为杂凑函数。
本申请第三方面提供一种传输装置,包括:
第一计算单元,用于获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);
第二计算单元,用于获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个所述第一信息的编号,i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u正整数,j不等于i;所述L和所述F相互不可区分;
发送单元,用于将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku),并将所述第一公钥序列发送给第二电子设备,以使得所述第二电子设备利用所述u个公钥按所述顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;所述u个第二信息Q1,…,Qu与u个所述第一信息一一对应;
第三计算单元,用于当接收到u个密文R1,…,Ru时,利用所述第一陷门的求逆算法L-1对所述u个密文中的第i个密文解密得到第i个第二信息Qi。
结合第三方面,在第三方面的第一种可能的实现方式中,所述第一计算单元具体用于:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=L(x)=C·x′=C·(GT·x);
生成所述L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为所述第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一计算单元具体用于:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据所述Cq=(c1,q,…,cn,q),q=1,…,m,得到所述矩阵C。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述传输装置还包括第四计算单元,用于:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第三计算单元具体用于:
对所述第i个密文Ri,分解所述Ri为分解为
对调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用所述第一陷门获得所述x的第d1,d2,…,dn列;
通过纠删码译码算法和公式得到其中,所述
通过计算获得第i个第二信息Qi,其中,h为杂凑函数。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述第三计算单元具体用于:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′2…y′n。
结合第三方面或第三方面的第一种可能的实现方式至第三方面的第五种可能的实现方式中的任意一种,在第三方面的第六种可能的实现方式中,所述第二计算单元具体用于:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成n-1阶矩阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成所述F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为所述u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第二计算单元具体用于:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据所述Cq=(cq,1,…,cq,n),q=1,…,m,得到所述矩阵C。
结合第三方面的第七种可能的实现方式,在第三方面的第八种可能的实现方式中,所述传输装置还包括第四计算单元,用于:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
本申请第四方面提供一种电子设备,包括:
处理器,用于获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);还用于获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个所述第一信息的编号,i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u正整数,j不等于i;所述L和所述F相互不可区分;发送器,用于将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku),并将所述第一公钥序列发送给第二电子设备,以使得所述第二电子设备利用所述u个公钥按所述顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;所述u个第二信息Q1,…,Qu与u个所述第一信息一一对应;处理器还用于当接收到u个密文R1,…,Ru时,利用所述第一陷门的求逆算法L-1对所述u个密文中的第i个密文解密得到第i个第二信息Qi。
结合第四方面,在第四方面的第一种可能的实现方式中,所述处理器具体用于:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=L(x)=C·x′=C·(GT·x);
生成所述L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为所述第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述处理器具体用于:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据所述Cq=(c1,q,…,cn,q),q=1,…,m,得到所述矩阵C。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述处理器还用于:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述处理器具体用于:
对所述第i个密文Ri,分解所述Ri为分解为
对(调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用所述第一陷门获得所述的第d1,d2,…,dn列;
通过纠删码译码算法和公式得到其中,所述
通过计算获得第i个第二信息Qi,其中,h为杂凑函数。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述处理器具体用于:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′2…y′n。
结合第四方面或第四方面的第一种可能的实现方式至第四方面的第五种可能的实现方式中的任意一种,在第四方面的第六种可能的实现方式中,所述处理单元具体用于:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成n-1阶矩阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成所述F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为所述u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
结合第四方面的第六种可能的实现方式,在第四方面的第七种可能的实现方式中,所述处理器具体用于:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据所述Cq=(cq,1,…,cq,n),q=1,…,m,得到所述矩阵C。
结合第四方面的第七种可能的实现方式,在第四方面的第八种可能的实现方式中,所述处理器还用于:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
本申请第五方面提供一种传输装置,包括:
接收单元,用于接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,所述u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数;所述L和所述F相互不可区分;
加密单元,用于利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;
发送单元,用于将所述密文R1,…,Ru发送给第一电子设备。
结合第五方面,在第五方面的第一种可能的实现方式中,所述加密单元具体用于:
对第w个第二信息Qw,w=1,…,u,随机选取一个m长比特串xw;m为正整数;
取二元[m,n]纠错码的生成矩阵G,通过公式
计算得到密文其中,h为杂凑函数。
本申请第六方面提供一种电子设备,包括:
接收器,用于接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,所述u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数;所述L和所述F相互不可区分;
处理器,用于利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;
发送器,用于将所述密文R1,…,Ru发送给第一电子设备。
结合第六方面,在第六方面的第一种可能的实现方式中,所述处理器具体用于:
对第w个第二信息Qw,w=1,…,u,随机选取一个m长比特串xw;m为正整数;
取二元[m,n]纠错码的生成矩阵G,通过公式
计算得到密文其中,h为杂凑函数。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,第一电子设备获取不可逆函数簇L的函数描述和第一陷门,并将L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门;并将F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个第一信息的编号,i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;L和F相互不可区分;第一电子设备将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku)并将第一公钥序列发送给第二电子设备,以使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;u个第二信息Q1,…,Qu与u个第一信息一一对应;当第一电子设备接收到u个密文R1,…,Ru时,第一电子设备利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。因此,通过本实施例中的方法,因为L的不可逆,即L的陷门单向性,第一电子设备可以利用手中的私钥正确解密第i个密文,获得第i个第二信息;因为F的第二原像抵抗性,第一电子设备无法获得其他第二信息;因为L和F的不可区分性,第二电子设备无法区分公钥,从而无法区分第一电子设备的选择。因此,在第一电子设备和第二电子设备的通信过程中,第一电子设备获得了自己需要的第二信息,同时又保证了双方的隐私。进一步,由于L和F的单向性,第三方也无法解密得到第二信息。
附图说明
图1为本申请一实施例中的第一电子设备侧的不经意传输的方法流程图;
图2为本申请一实施例中的第二电子设备侧的不经意传输的方法流程图;
图3为本申请实施例二中的传输装置的功能框图;
图4为本申请实施例三中的电子设备的硬件实现的实例概念图;
图5为本申请实施例四中的传输装置的功能框图;
图6为本申请实施例五中的电子设备的硬件实现的实例概念图。
具体实施方式
本申请实施例提供一种传输方法及传输装置,用以解决现有技术中存在的在通信过程中无法同时保证双方的隐私不被泄露的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
本申请实施例中,第一电子设备获取不可逆函数簇L的函数描述和第一陷门,并将L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门;并将F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个第一信息的编号,i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;L和F相互不可区分;第一电子设备将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku)并将第一公钥序列发送给第二电子设备,以使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;u个第二信息Q1,…,Qu与u个第一信息一一对应;当第一电子设备接收到u个密文R1,…,Ru时,第一电子设备利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。因此,通过本实施例中的方法,因为L的不可逆,即L的陷门单向性,第一电子设备可以利用手中的私钥正确解密第i个密文,获得第i个第二信息;因为F的第二原像抵抗性,第一电子设备无法获得其他第二信息;因为L和F的不可区分性,第二电子设备无法区分公钥,从而无法区分第一电子设备的选择。因此,在第一电子设备和第二电子设备的通信过程中,第一电子设备获得了自己需要的第二信息,同时又保证了双方的隐私。进一步,由于L和F的单向性,第三方也无法解密得到第二信息。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图对本申请优选的实施方式进行详细说明。
实施例一
本实施例提供一种传输方法,请参考图1所示,为本实施例中的传输方法的流程图,该方法包括:
步骤101:第一电子设备获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);
步骤102:第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数且u大于等于2,j为第j个第一信息的编号,i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;L和F相互不可区分;
步骤103:第一电子设备将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku)并将第一公钥序列发送给第二电子设备,以使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;u个第二信息Q1,…,Qu与u个第一信息一一对应;其中,u个公钥包括第i个公钥pki和u-1个公钥pkj。
步骤104:当第一电子设备接收到u个密文R1,…,Ru时,第一电子设备利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。
接下来将描述步骤101至步骤104的可能的实施方式。
在一种可能的实施方式中,步骤101具体为调用不可逆函数簇L的构造算法SL,生成L的函数描述和第一陷门作为第i个公钥私钥对(pki,ski),具体包括:选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数,其中,选取n个整数可以是随机选取的,也可以选择特定的整数。生成有限域GF(2)上n×m阶矩阵A,当然,也可以是随机生成,也可以不是随机生成;其中,第d1,d2,…,dn列组成n阶单位方阵,矩阵A的其余元素为零;矩阵A用列向量表示为A=(A1,…,Am)。对Aq=(a1,q,…,an,q)T,Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);矩阵其中,表达式中的Z表示整数环,p表示素数,公式表示矩阵C为Zp上的n×m阶矩阵。取二元[m,n]纠错码的生成矩阵G,对X∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x),其中,在该表达式中,T表示转置矩阵,x表示函数的输入;生成L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为第i个公钥私钥对(pki,ski)。其中,SK为利用密钥生成算法生成的私钥。另外在前述以及后续描述中,非斜体的x表示函数的输入,斜体的x表示多项式的变量。
其中,对Aq=(a1,q,…,an,q)T,q=1,…,m,分别调用加密算法进行加密,得到矩阵C
=(C1,…,Cm),具体来说,对Aq=(a1,q,…,an,q)T,q=1,…,m,分别调用加密算法进行加密,
得到密文然后由n得到
矩阵C。
进一步来讲,对Aq=(a1,q,…,an,q)T,q=1,…,m,分别调用加密算法进行加密,得到矩阵具体包括:分解Aq=(a1,q,…,an,q)T为a1,qa2,q…an,q;对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,PK=(p,α1,α2,…,αn)为利用密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);多项式Rb,q(x)来自于集合表示各项系数的绝对值均小于的次数至多为N-1次的多项式全体;N为系统安全参数,可以根据安全需求进行设置。中的R表示计算规则。另外,选取多项式Rb,q(x)可以是随机选取的,也可以不是随机的。
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数,且可以是随机选取的,也可以是选取特定的素数。
通过往复执行上述三个步骤,b取值遍历1至n,生成密文Cq=(cq,1,…,cq,n);根据Cq=(cq,1,…,cq,n),q=1,…,m,得到矩阵C=(C1,…,Cm)=(cq,b)1≤q≤m,1≤b≤n。
在上述实施例中加密的过程中,利用了公钥PK=(p,α1,α2,…,αn)和私钥SK,以下将介绍如何获取到该公钥PK=(p,α1,α2,…,αn)和私钥SK,具体包括:选取素数p。选择整数环Z上N次不可约多项式F(x),该步骤也可以是随机选择的多项式。对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);Sb(x)属于集合在该步骤中,Sb(x)可以是随机选取的。
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断p是否等于p1,若是,则输出Gb(x),否则回到步骤1)。然后在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;αb∈Fp;获得公钥PK=(p,α1,α2,…,αn)。
进一步,利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,Zb(x)∈Z[x];通过计算zb,0(mod2p)获得Bb;获得私钥SK=(p,B1,B2,…,Bn)。
其中,当resultant(f,g)=p时,多项式f,g在模p运算下有公共根,所以本实施例中的公钥和私钥的生成算法是正确的。
步骤101的另一种可能的实现方式为:在步骤101之前,利用上述过程预先获得并保存公钥私钥对(pki,ski)。然后在步骤101中从存储单元中获取到该公钥私钥对(pki,ski)。
接下来介绍步骤102的可能的实现方式,具体来说,步骤102具体可以是调用第二原像抵抗函数簇F的构造算法SF,生成F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);具体包括:随机或非随机选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;随机或非随机生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成n-1阶矩阵,矩阵A的其余元素为零;矩阵A用列向量表示为A=(A1,…,Am);对Aq=(a1,q,…,an,q)T,Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);生成F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
在实际运用中,l1,l2,…,ln和d1,d2,…,dn可以是相同的。
步骤102的另一种可能的实现方式为:在步骤102之前,利用上述过程预先获得并保存公钥私钥对(pkj,skj)。然后在步骤102中从存储单元中获取到该公钥私钥对(pkj,skj)。
关于调用加密算法进行加密的过程和前述描述步骤101时所介绍的加密过程相同,以及在加密过程中使用的公钥PK=(p,α1,α2,…,αn)和私钥SK的获取过程也与前述描述的方法相同,所以在此不再赘述。
前述描述的加密方案,在SPIP(Small Principal Ideal Problem;小主理想问题)困难假设下,给定公钥恢复私钥是困难的。在格上CVP(最近向量)困难假设下,给定密文恢复明文是困难的。在PCP(Polynonial Coset Problem;多项式陪集问题)困难假设下,是语义安全的,即密文不可区分。其中,PCP问题通过下述游戏定义:
挑战者随机选取σ←{0,1},通过如下步骤得到PK=(p,α):
首先,随机选取F(x)是整数环Z上的N次不可约多项式,重复执行以下三步,直到p是素数:
(1)其中,←表示S(x)属于后续描述中出现的类似情况与此相同。
(2)G(x)←1+2·S(x),
(3)p←resultant(G(x),F(x))。其中,(2)和(3)中的←表示由←右边的公式计算得到←左边的参数。后续描述中出现的类似情况与此相同。
其次,在环Fp[x]上计算D(x)=gcd(G(x),F(x)),设α∈Fp是D(x)的根;
若σ=0,挑战者计算r←R(α)mod p,
若σ=1,挑战者计算r←RFp。
敌手给定(r,PK),对σ进行猜测,给出猜测值σ'。
敌手的优势定义为
PCP困难问题即敌手的优势是可忽略的。
以下通过具体的例子进行证明,当n=1时,前述公钥实际上给出了一个次数为1的主理想的二元表示,私钥是该主理想的一个小生成元的逆元,所以,给定公钥恢复私钥是SPIP的一个示例。给定密文恢复明文的问题,等价于:给定p和α,c∈Fq,寻找xb,b=1,…,N,使得其中对某个整数k。令矩阵考虑由H的行向量生成的格,上式等价于(k,-x1,…,-xn)·H=(c-x0,-…x1,…,-xn),所以CVP问题相当于寻找与非格向量(c,0,…,0)最近的格向量(c-x0,-x1,…,-xn)的格上最近向量的问题。
对于PCP问题,当n=1时,假设存在算法A以ε的概率攻破上述加密方案的语义安全性,那么存在一个算法B,在和A相同的运行时间内,以ε/2的概率解决PCP问题。证明如下:对挑战目标(r,p,α),算法B为算法A创建一个挑战密文c=Mσ(α)+2·r(mod p),这里M0和M1是A的两个挑战消息,β←R{0,1}是算法B选择的挑战比特。算法A发送对β的挑战β′,算法B返回
PCP问题中,当σ=0时,显然挑战密文c有正确的分布,所述算法B的优势与算法A相同,等于ε。当σ=1时,r(mod p)是一致随机的,因为p是奇数,2r(mod p)也是一致随机的,因此算法A的优势为0,所以算法B解决PCP问题的整体优势为ε/2。
在PCP问题假设下,前述加密方案是语义安全的。即,在PCP问题假设下,给定单比特消息通过前述加密方案加密得到的密文,无法区分该消息是0或1。
当n大于1时,给定n长消息比特串和记β=0,1。构造一系列游戏H0,…,Hn,证明Hk-1和Hk是不可区分的,从而由n是多项式级的,得到H0和Hn是不可区分的。
在游戏H0中,对(r,p,α1,…,αn),定义c=c1…cn如下:
对b∈[n],令
在游戏Hn中,对(r,p,α1,…,αn),定义c=c1…cn如下:
对b∈[n],令
在游戏Hk(1≤k<n)中,对(r,p,α1,…αn),定义c=c1…cn为消息的密文。
对b∈[n],令
对任意的k∈[n],考虑模拟算法SΟ,这里预言O或回答或回
答
对1≤φ<k,令对令
那么,对k∈[n],当预言O回答时,算法SΟ的输出等同于Hk;当预言O回答M1(αk)+2·r(mod p)时,算法SΟ的输出等同于Hk+1。由于在PCP问题假设下,单比特密文是无法区分的,所以Hk+1和Hk无法区分。
通过前述的证明,首先在SPIP问题困难假设下,前述加密方案给定公钥恢复私钥是困难的,这个性质保证了陷门信息的私密性;在格上CVP问题困难假设下,给定密文恢复明文是困难的,这个性质保证了函数簇L和函数簇F的无陷门求逆难,所以函数簇L是不可逆的。
进一步,PCP问题困难假设下,加密方案是语义安全的,等价于密文不可区分性,从而无法区分C对应的矩阵A是选自函数簇L或函数簇F,从而保证函数簇L和函数簇F是不可区分的。
进一步,函数簇L中矩阵A是满秩的,实现了一对一映射;函数簇F中矩阵A的秩为n-1,实现了二对一映射,保证了第二原像的存在性;由函数簇L是不可逆的,以及函数簇L和函数簇F是不可区分的,可以得出函数簇F是第二原像抵抗的,否则如果函数簇F能够解出第二原像,由于函数簇L是一对一映射,第二原像是不存在的,那么就可以通过是否存在第二原像区分函数簇F和函数簇L,与函数簇L和函数簇F是不可区分的相矛盾。
因此,通过本实施例中的方法,因为L的不可逆,即L的陷门单向性,第一电子设备可以利用手中的私钥正确解密第i个密文,获得第i个第二信息;因为F的第二原像抵抗性,第一电子设备无法获得其他第二信息;因为L和F的不可区分性,第二电子设备无法区分公钥,从而无法区分第一电子设备的选择。因此,在第一电子设备和第二电子设备的通信过程中,第一电子设备获得了自己需要的第二信息,同时又保证了双方的隐私。进一步,由于L和F的单向性,第三方也无法解密得到第二信息。
接下来执行步骤103,即第一电子设备将在步骤101和步骤102中获得的u个公钥按顺序排列获得第一公钥序列(pk1,…,pkt),并将第一公钥序列发送给第二电子设备。
对应的,请再参考图2所示,为本实施例中的传输方法在第二电子设备侧的方法流程图,该方法包括:
步骤201:第二电子设备接收与u个第一信息一一对应的u个公钥(pk1,…,pku);
步骤202:第二电子设备利用u个公钥将与u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;
步骤203:第二电子设备将密文R1,…,Ru发送给第一电子设备。
其中,步骤202的一种可能的实现方式为:对第w个第二个信息Qw,w=1,…,u,随机
选取一个m长比特串xw;取二元[m,n]纠错码的生成矩阵G,通过公式计算得到密文其中,h为杂凑函数,即为
Hash(哈希)函数。进而得到u个密文R1,…,Ru。
当在步骤203中,将u个R1,…,Ru密文发送给第一电子设备后,对应的,第一电子设备接收u个密文R1,…,Ru。
接下来第一电子设备执行步骤104,利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。
步骤104的一种可能的实现方式为:对所述第i个密文Ri,分解Ri为分解为对调用解密算法,生成向量y′∈{0,1}n;在二元域上求解方程得到解向量利用第一陷门获得的第d1,d2,…,dn列;通过纠删码译码算法和公式得到其中,所述通过公式获得第i个第二信息Qi,其中,h为杂凑函数。
其中,杂凑函数具体可以是从第二电子设备处获得的。
其中,对调用解密算法,生成向量y′∈{0,1}n,具体包括:通过计算获得y′i,b=1,…,n;获得明文y′=y′1y′2…y′n。
进一步来说,假设ab,q的密文是cb,q(b=1,…,n,q=1,…,m),对任意的m维二元向量x′=(x1′,x′2,…,xm′)T∈{0,1}m,由加法运算,ab,1x′1+ab,2x′2+…+ab,mx′m的密文为cb,1x′1+cb,2x′2+…+cb,mx′m,从而有
的密文为
所以对y=C·x′=C·(GT·x)调用解密算法,所得的结果为y′=Ax′。
实施例二
本申请一实施例中还提供一种传输装置,请参考图3所示,其中,在图3中,传输装置的各元件之间的连接关系是按照在处理过程中的出场顺序及信号流向示意的,该传输装置包括:
第一计算单元301,用于获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);第二计算单元302,用于获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个第一信息的编号,i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;L和F相互不可区分;发送单元303,用于将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku),并将第一公钥序列发送给第二电子设备,以使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;u个第二信息Q1,…,Qu与u个第一信息一一对应;第三计算单元304,用于当接收到u个密文R1,…,Ru时,用于利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。
在一种可能的实现方式中,第一计算单元301具体用于:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,矩阵A的其余元素为零;矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
进一步,第一计算单元301具体用于:
分解Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,PK=(p,α1,α2,…,αn)为利用密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据Cq=(c1,q,…,cn,q),q=1,…,m,得到矩阵C。
更进一步,传输装置还包括第四计算单元,用于:
选取p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断p是否等于p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得公钥PK=(p,α1,α2,…,αn),私钥SK=(p,B1,B2,…,Bn)。
在一种可能的实现方式中,第三计算单元304具体用于:
对第i个密文Ri,分解Ri为分解ri1为
对调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用第一陷门获得的第d1,d2,…,dn列;
通过纠删码译码算法和公式得到其中,
通过公式获得第i个第二信息Qi,其中,h为杂凑函数。
进一步,第三计算单元304具体用于:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′2y′n。
在一种可能的实现方式中,第二计算单元302具体用于:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成n-1阶矩阵,矩阵A的其余元素为零;矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
进一步,第二计算单元302具体用于:
分解Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,PK=(p,α1,α2,…,αn)为利用密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据Cq=(cq,1,…,cq,n),q=1,…,m,得到矩阵C。
更进一步,传输装置还包括第四计算单元,用于:
选取p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断p是否等于p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得公钥PK=(p,α1,α2,…,αn),私钥SK=(p,B1,B2,…,Bn)。
前述图1实施例中的传输方法中的各种变化方式和具体实例同样适用于本实施例的传输装置,通过前述对传输方法的详细描述,本领域技术人员可以清楚的知道本实施例中传输装置的实施方法,所以为了说明书的简洁,在此不再
实施例三
本实施例提供一种电子设备,请参考图4所示,为电子设备的硬件实现示例的框图。该电子设备包括:
处理器401,用于获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);处理器401还用于获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个第一信息的编号,i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;L和F相互不可区分;发送器404,用于将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku),并将第一公钥序列发送给第二电子设备,以使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;其中,u个第二信息Q1,…,Qu与u个第一信息一一对应;处理器401还用于当接收到u个密文R1,…,Ru时,利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器401代表的一个或多个处理器和存储器402代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在总线400和接收器403、发送器404之间提供接口。接收器403和发送器404可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。取决于用户设备的性质,还可以提供用户接口406,例如小键盘、显示器、扬声器、麦克风、操纵杆。
处理器401负责管理总线400和通常的处理,而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
在一种可能的实现方式中,处理器401具体用于:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,矩阵A的其余元素为零;矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
进一步,处理器401具体用于:
分解Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,PK=(p,α1,α2,…,αn)为利用密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据Cq=(c1,q,…,cn,q),q=1,…,m,得到矩阵C。
更进一步,处理器401还用于:
选取p;
选择整数环Z上N次不可约多项式F(x)∈Z[x];
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断p是否等于p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得公钥PK=(p,α1,α2,…,αn),私钥SK=(p,B1,B2,…,Bn)。
在一种可能的实现方式中,处理器401具体用于:
对第i个密文Ri,分解Ri为分解为
对调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用第一陷门获得的第d1,d2,…,dn列;
通过纠删码译码算法得到和公式得到其中,
通过计算获得第i个第二信息Qi,其中,h为杂凑函数。
进一步,处理器401具体用于:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′…2y′n。
在一种可能的实现方式中,处理器401具体用于:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成n-1阶矩阵,矩阵A的其余元素为零;矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
进一步,处理器401具体用于:
分解Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,PK=(p,α1,α2,…,αn)为利用密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)mod p获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据Cq=(cq,1,…,cq,n),q=1,…,m,得到矩阵C。
更进一步,处理器401还用于:
选取p;
选择整数环Z上N次不可约多项式F(x)∈Z[x];
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断p是否等于p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得公钥PK=(p,α1,α2,…,αn),私钥SK=(p,B1,B2,…,Bn)。
前述图1实施例中的传输方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对传输方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。
实施例四:
本实施例提供一种传输装置,请参考图5所示,该传输装置包括:
接收单元501,用于接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数;L和F相互不可区分;加密单元502,用于利用u个公钥将与u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;发送单元503,用于将密文R1,…,Ru发送给第一电子设备。
可选的,加密单元502具体用于:
对第w个第二信息Qw,w=1,…,u,随机选取一个m长比特串xw;
取二元[m,n]纠错码的生成矩阵G,通过公式
得计算到密文其中,h为杂凑函数。
前述图2实施例中的传输方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对传输方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。
实施例五
本实施例提供一种电子设备,请参考图6所示,为电子设备的硬件实现示例的框图。该电子设备包括:
接收器601,用于接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数;L和F相互不可区分;处理器602,用于利用u个公钥将与u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;发送器603,用于将密文R1,…,Ru发送给第一电子设备。
可选的,处理器602具体用于:
对第w个第二信息Qw,w=1,…,u,随机选取一个m长比特串xw;
取二元[m,n]纠错码的生成矩阵G,通过公式计算得到密文R其中,h为杂凑函数。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在总线600和接收器601、发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。取决于用户设备的性质,还可以提供用户接口606,例如小键盘、显示器、扬声器、麦克风、操纵杆。
处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
前述图2实施例中的传输方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对传输方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,第一电子设备获取不可逆函数簇L的函数描述和第一陷门,并将L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门;并将F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个第一信息的编号,i为第i个第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;L和F相互不可区分;第一电子设备将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku)并将第一公钥序列发送给第二电子设备,以使得第二电子设备利用u个公钥按顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;u个第二信息Q1,…,Qu与u个第一信息一一对应;当第一电子设备接收到u个密文R1,…,Ru时,第一电子设备利用第一陷门的求逆算法L-1对u个密文中的第i个密文解密得到第i个第二信息Qi。因此,通过本实施例中的方法,因为L的不可逆,即L的陷门单向性,第一电子设备可以利用手中的私钥正确解密第i个密文,获得第i个第二信息;因为F的第二原像抵抗性,第一电子设备无法获得其他第二信息;因为L和F的不可区分性,第二电子设备无法区分公钥,从而无法区分第一电子设备的选择。因此,在第一电子设备和第二电子设备的通信过程中,第一电子设备获得了自己需要的第二信息,同时又保证了双方的隐私。进一步,由于L和F的单向性,第三方也无法解密得到第二信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (22)
1.一种传输方法,其特征在于,包括:
第一电子设备获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);
所述第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的数量,u为正整数且u大于等于2,j为第j个所述第一信息的编号,i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u的正整数,j不等于i;所述L和所述F相互不可区分;
所述第一电子设备将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku)并将所述第一公钥序列发送给第二电子设备,以使得所述第二电子设备利用所述u个公钥按所述顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;所述u个第二信息Q1,…,Qu与u个所述第一信息一一对应;
当所述第一电子设备接收到所述u个密文R1,…,Ru时,所述第一电子设备利用所述第一陷门的求逆算法L-1对所述u个密文中的第i个密文解密得到第i个第二信息Qi。
2.如权利要求1所述的方法,其特征在于,所述第一电子设备获取不可逆函数簇L的函数描述和第一陷门,具体包括:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=L(x)=C·x′=C·(GT·x);
生成所述L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为所述第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
3.如权利要求2所述的方法,其特征在于,所述对Aq=(a1,q,…,an,q)T,q=1,…,m,调用加密算法进行加密,得到矩阵C=(C1,…,Cm),具体包括:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)modp获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据所述Cq=(c1,q,…,cn,q),q=1,…,m,得到所述矩阵C。
4.如权利要求3所述的方法,其特征在于,通过所述密钥生成算法生成所述公钥PK=(p,α1,α2,…,αn)和所述私钥SK,包括以下步骤:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
5.如权利要求4所述的方法,其特征在于,所述第一电子设备利用所述第一陷门的求逆算法L-1解密得到第i个第二信息,具体包括:
对所述第i个密文Ri,分解所述Ri为分解为
对调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用所述第一陷门获得所述的第d1,d2,…,dn列;
通过纠删码译码算法和公式得到其中,所述
通过计算获得第i个第二信息Qi,其中,h为杂凑函数。
6.如权利要求5所述的方法,其特征在于,对调用解密算法,生成向量y′∈{0,1}n,具体包括:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′2…y′n。
7.如权利要求1至6任一项所述的方法,其特征在于,所述第一电子设备获取第二原像抵抗函数簇F的函数描述和第二陷门,具体包括:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成秩为n-1的矩阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成所述F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为所述u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
8.如权利要求7所述的方法,其特征在于,所述对Aq=(a1,q,…,an,q)T,q=1,…,m,调用加密算法进行加密,得到矩阵C=(C1,…,Cm),具体包括:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)modp获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据所述Cq=(cq,1,…,cq,n),q=1,…,m,得到所述矩阵C。
9.如权利要求8所述的方法,其特征在于,通过所述密钥生成算法生成所述公钥PK=(p,α1,α2,…,αn)和所述私钥SK,包括以下步骤:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
10.一种传输方法,其特征在于,包括:
第二电子设备接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,所述u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数;所述L和所述F相互不可区分;
所述第二电子设备利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;
所述第二电子设备将所述密文R1,…,Ru发送给第一电子设备。
11.如权利要求10所述的方法,其特征在于,所述第二电子设备利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru,具体包括:
对第w个第二信息Qw,w=1,…,u,选取一个m长比特串xw;m为正整数;
取二元[m,n]纠错码的生成矩阵G,通过公式计算得到密文其中,h为杂凑函数。
12.一种传输装置,其特征在于,包括:
第一计算单元,用于获取不可逆函数簇L的函数描述和第一陷门,并将所述L的函数描述和第一陷门作为一个公钥私钥对(pki,ski);
第二计算单元,用于获取第二原像抵抗函数簇F的函数描述和第二陷门;并将所述F的函数描述和第二陷门作为u-1个公钥私钥对(pkj,skj);其中,u为第一信息的个数,u为正整数,j为第j个所述第一信息的编号,i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数,j为大于等于1且小于等于u正整数,j不等于i;所述L和所述F相互不可区分;
发送单元,用于将u个公钥按顺序排列获得第一公钥序列(pk1,…,pku),并将所述第一公钥序列发送给第二电子设备,以使得所述第二电子设备利用所述u个公钥按所述顺序对u个第二信息Q1,…,Qu进行加密获得u个密文R1,…,Ru;所述u个第二信息Q1,…,Qu与u个所述第一信息一一对应;
第三计算单元,用于当接收到u个密文R1,…,Ru时,利用所述第一陷门的求逆算法L-1对所述u个密文中的第i个密文解密得到第i个第二信息Qi。
13.如权利要求12所述的传输装置,其特征在于,所述第一计算单元具体用于:
选取n个整数d1,d2,…,dn,其中,1≤d1<d2<…<dn≤m;m为正整数;
生成有限域GF(2)上n×m阶矩阵A,其中,第d1,d2,…,dn列组成n阶单位方阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=L(x)=C·x′=C·(GT·x);
生成所述L的函数描述C和第一陷门(SK,A,d1,d2,…,dn)作为所述第i个公钥私钥对(pki,ski);其中,SK为利用密钥生成算法生成的私钥。
14.如权利要求13所述的传输装置,其特征在于,所述第一计算单元具体用于:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)modp获得cb,q;其中,p为素数;
生成密文Cq=(c1,q,…,cn,q);
根据所述Cq=(c1,q,…,cn,q),q=1,…,m,得到所述矩阵C。
15.如权利要求14所述的传输装置,其特征在于,所述传输装置还包括第四计算单元,用于:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
16.如权利要求15所述的传输装置,其特征在于,所述第三计算单元具体用于:
对所述第i个密文Ri,分解所述Ri为分解为
对调用解密算法,生成向量y′∈{0,1}n;
在二元域上求解方程得到解向量
利用所述第一陷门获得所述的第d1,d2,…,dn列;
通过纠删码译码算法和公式得到其中,所述
通过计算获得第i个第二信息Qi,其中,h为杂凑函数。
17.如权利要求16所述的传输装置,其特征在于,所述第三计算单元具体用于:
通过计算获得y′i,b=1,…,n;
获得明文y′=y′1y′2…y′n。
18.如权利要求12至17任一项所述的传输装置,其特征在于,所述第二计算单元具体用于:
选取n个整数l1,l2,…,ln,其中,1≤l1<l2<…<ln≤m;
生成有限域GF(2)上n×m阶矩阵A,其中,第l1,l2,…,ln列组成秩为n-1阶的矩阵,所述矩阵A的其余元素为零;所述矩阵A用列向量表示为A=(A1,…,Am);
对Aq=(a1,q,…,an,q)T,所述Aq∈GF(2)n,q=1,…,m,分别调用加密算法进行加密,得到矩阵C=(C1,…,Cm);所述矩阵C属于
取二元[m,n]纠错码的生成矩阵G,对x∈{0,1}n,令x′=GT·x,定义y=F(x)=C·x′=C·(GT·x);
生成所述F的函数描述C和第二陷门(SK,A,l1,l2,…,ln)作为所述u-1个公钥私钥对(pkj,skj);其中,SK为利用密钥生成算法生成的私钥。
19.如权利要求18所述的传输装置,其特征在于,所述第二计算单元具体用于:
分解所述Aq为a1,q,…,an,q;
对ab,q,b=1,…,n,利用公钥PK=(p,α1,α2,…,αn),其中,所述PK=(p,α1,α2,…,αn)为利用所述密钥生成算法生成的公钥;分别执行如下步骤:
选取多项式Rb,q(x);所述Rb,q(x)来自于集合
通过计算ab,q+2Rb,q(x),获得Cb,q(x);
通过计算Cb,q(αb)modp获得cb,q;其中,p为素数;
生成密文Cq=(cq,1,…,cq,n);
根据所述Cq=(cq,1,…,cq,n),q=1,…,m,得到所述矩阵C。
20.如权利要求19所述的传输装置,其特征在于,所述传输装置还包括第四计算单元,用于:
选取所述p;
选择整数环Z上N次不可约多项式F(x);
对b=1,…,n,分别执行以下步骤:
1)选取Sb(x);所述Sb(x)属于集合
2)通过计算1+2Sb(x)获得Gb(x);
3)通过公式resultant(Gb(x),F(x))=p1获得p1;
4)判断所述p是否等于所述p1,若是,则输出Gb(x),否则回到步骤1);
在环Fp[x]上计算Db(x)=gcd(Gb(x),F(x)),获得Db(x)的根αb;所述αb∈Fp;
利用有理数域上的最大公因子XGCD算法计算获得满足公式Zb(x)·G(x)=p(modF(x));其中,所述Zb(x)∈Z[x];
通过计算zb,0(mod2p)获得Bb;
获得所述公钥PK=(p,α1,α2,…,αn),所述私钥SK=(p,B1,B2,…,Bn)。
21.一种传输装置,其特征在于,包括:
接收单元,用于接收与u个第一信息一一对应的u个公钥(pk1,…,pku);其中,u为正整数;其中,所述u个公钥中的第i个公钥具体为不可逆函数簇L的函数描述;其他u-1个公钥具体为第二原像抵抗函数簇F的函数描述;i为第i个所述第一信息的编号,i为大于等于1且小于等于u的正整数;所述L和所述F相互不可区分;
加密单元,用于利用所述u个公钥将与所述u个第一信息一一对应的u个第二信息Q1,…,Qu分别加密,得到u个密文R1,…,Ru;
发送单元,用于将所述密文R1,…,Ru发送给第一电子设备。
22.如权利要求21所述的传输装置,其特征在于,所述加密单元具体用于:
对第w个第二信息Qw,w=1,…,u,随机选取一个m长比特串xw;m为正整数;
取二元[m,n]纠错码的生成矩阵G,通过公式计算得到密文其中,h为杂凑函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410223029.6A CN105099693B (zh) | 2014-05-23 | 2014-05-23 | 一种传输方法及传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410223029.6A CN105099693B (zh) | 2014-05-23 | 2014-05-23 | 一种传输方法及传输装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099693A CN105099693A (zh) | 2015-11-25 |
CN105099693B true CN105099693B (zh) | 2018-10-19 |
Family
ID=54579330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410223029.6A Active CN105099693B (zh) | 2014-05-23 | 2014-05-23 | 一种传输方法及传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099693B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521326B (zh) * | 2018-04-10 | 2021-02-19 | 电子科技大学 | 一种基于向量同态加密的隐私保护的线性svm模型训练方法 |
CN113169862B (zh) * | 2018-09-13 | 2022-09-23 | 华为技术有限公司 | 信息处理方法、终端设备及网络系统 |
CN109525385B (zh) * | 2018-11-23 | 2022-04-08 | 全链通有限公司 | 一种共享密钥的封装方法、第一节点和第二节点 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1107506A2 (en) * | 1999-12-09 | 2001-06-13 | Pitney Bowes Inc. | Method and system for generating messages including a verifiable assertion that a variable is within predetermined limits |
CN101099329A (zh) * | 2004-11-11 | 2008-01-02 | 塞尔蒂卡姆公司 | 基于椭圆曲线的新陷门单向函数及其用于较短签名和非对称加密的应用 |
WO2009115824A1 (en) * | 2008-03-20 | 2009-09-24 | Ntnu Technology Transfer As | Encryption method |
CN101977109A (zh) * | 2010-10-21 | 2011-02-16 | 李晨 | 线性混淆高次方程公钥密码算法 |
CN102385627A (zh) * | 2011-11-08 | 2012-03-21 | 华中科技大学 | 公钥加密系统中析取范式的查询方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008021933B4 (de) * | 2008-05-02 | 2011-04-07 | Secutanta Gmbh | Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I |
-
2014
- 2014-05-23 CN CN201410223029.6A patent/CN105099693B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1107506A2 (en) * | 1999-12-09 | 2001-06-13 | Pitney Bowes Inc. | Method and system for generating messages including a verifiable assertion that a variable is within predetermined limits |
CN101099329A (zh) * | 2004-11-11 | 2008-01-02 | 塞尔蒂卡姆公司 | 基于椭圆曲线的新陷门单向函数及其用于较短签名和非对称加密的应用 |
WO2009115824A1 (en) * | 2008-03-20 | 2009-09-24 | Ntnu Technology Transfer As | Encryption method |
CN101977109A (zh) * | 2010-10-21 | 2011-02-16 | 李晨 | 线性混淆高次方程公钥密码算法 |
CN102385627A (zh) * | 2011-11-08 | 2012-03-21 | 华中科技大学 | 公钥加密系统中析取范式的查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105099693A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348231B (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
US8520854B2 (en) | Sharing a secret using polynomials over polynomials | |
CN104270247B (zh) | 适用于量子密码系统的高效泛Hash函数认证方法 | |
Aboytes-González et al. | Design of a strong S-box based on a matrix approach | |
GB2538022A (en) | Multiple secrets in quorum based data processing | |
CN105447361B (zh) | 加密和相似性度量的方法、终端及服务器 | |
JP2020508021A (ja) | キー交換デバイス及び方法 | |
WO2015053185A1 (ja) | 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム | |
CN103780382B (zh) | 一种基于超球面的多变量公钥加密/解密系统及方法 | |
US7995764B2 (en) | Sharing a secret using hyperplanes over GF(2m) | |
NO321409B1 (no) | Fremgangsmate for kryptografisk kommunikasjon | |
Sokouti et al. | Medical image encryption: an application for improved padding based GGH encryption algorithm | |
CN108933650A (zh) | 数据加解密的方法及装置 | |
CN103490883A (zh) | 一种多变量公钥加密/解密系统及加密/解密方法 | |
CN105099693B (zh) | 一种传输方法及传输装置 | |
JP6607257B2 (ja) | 秘密計算システム、秘密計算装置、および、秘密計算方法 | |
Reyad et al. | Image encryption using koblitz’s encoding and new mapping method based on elliptic curve random number generator | |
CN107070634B (zh) | 基于非交换单群的私钥无噪声全同态数据处理方法及装置 | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
CN111817853B (zh) | 一种后量子安全的签密算法 | |
CN102246456A (zh) | 用于对抗对基于循环群的加密的侧通道攻击的系统和方法 | |
Aïssa et al. | Image encryption using stream cipher algorithm with nonlinear filtering function | |
CN109639423A (zh) | 一种加密算法的构成装置及解密算法的构成装置 | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
CN106982113B (zh) | 基于非交换单群的公钥全同态数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210430 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |