一种多比特纠错编码解码方法。运行发明专利技术方法的发送方得到σ1∈Zq和公共参数params,将σ1∈Zq和params作为输入运行Con(σ1,params)得到k1∈Zk和v∈Zt,其中k和t为整数且其中之一大于2或小于‑2,保密存储k1,并公开传输v给运行发明专利技术方法的接收方。接收方得到σ2∈Zq,v∈Zt和公共参数params,其中σ2与σ1满足|σ2‑σ1|q≤d,将σ2,v和params作为输入运行Rec(σ2,v,params),得到k2∈Zk。若σ2与σ1的距离d满足一定的限制条件,则k2=k1,双方纠错成功。该技术在网络保密通讯领域具有重要应用。
【技术实现步骤摘要】
一种多比特纠错编码解码方法
本专利技术涉及纠错编码解码技术,在网络保密通讯领域具有重要应用。
技术介绍
纠错编码解码是技术是用于解决如下问题:两个用户Alice和Bob各自有一个秘密,发送方Alice得到一个秘密数据σ1∈Zq,接受方Bob得到一个秘密数据σ2∈Zq。这些秘密数据在保密通讯中是利用交换格上的带噪音学习问题实例进行相应计算得到的。但是,σ1∈Zq和σ2∈Zq并不相等,因此并不可以作为密钥进行保密通讯。但是它们的距离比较近,专利技术方法是解决如何从了两个距离比较近的秘密数据中计算出一个相同的密钥,用于保密通讯。
技术实现思路
运行专利技术方法的发送方Alice得到σ1∈Zq和公共参数params,将σ1∈Zq和params作为输入运行Con(σ1,params)得到k1∈Zk和v∈Zt,保密存储k1,并公开传输v给运行专利技术方法的接收方Bob。Bob得到σ2∈Zq,v∈Zt和公共参数params,其中σ2与σ1满足|σ2-σ1|q≤d,将σ2,v和params作为输入运行Rec(σ2,v,params),得到k2∈Zk。若σ2与σ1的距离d满足一定的限制条件,则正确性成立,即k2=k1,双方纠错成功,生成共同的密钥k2=k1。该技术在网络保密通讯领域具有重要应用。本专利技术给出一种高效的多比特纠错编码解码方法;其中,{…}表示一个信息或者数值的集合;这里公共参数params={q,k,g,aux},其中q,k,g均为整数;aux包含运行专利技术方法的可为空的其它辅助公共参数的集合;对于两个整数i,j,其中i≤j,[i,j]表示整数集{i,i+1,…,j};对于任意正整数a,定义Za为Z/aZ,Za表示为Za=[0,a-1]或者其中,对于任意实数b,表示小于或者等于b的最大整数;运行专利技术方法的发送方运行一个编码算法Con(·),算法输入包含σ1∈Zq和公共参数params,算法对σ1∈Zq基于params进行编码操作,输出包含(k1,v),其中k1∈Zk,v∈Zt,k和t为整数且其中之一大于2或小于-2;这意味着,k1和v其中之一必为多比特(即:无法用一个0-1比特来表示)。在实际的实现中,可以对σ1∈Zq做任何可求逆的变换,比如对其平移一定的量(即:加或减去一个数等),此时Rec对σ2∈Zq做相应的逆变换。运行专利技术方法的发送方运行Con(σ1,params)得到k1∈Zk和v∈Zt后,可另外使用一层纠错码加密算法Encode加密f(k1)得到Encode(f(k1)),其中,f是关于k1的函数,然后计算v'=f′(Encode(f(k1)),k1),其中,f′是关于f(k1),k1的函数,并公开传输v,v'给运行专利技术方法的接收方Bob。运行专利技术方法的接受者有一个保密输入σ2∈Zq,收到发送方发送过来的v∈Zt,检查v∈Zt,若v∈Zt则运行一个解码算法,算法输入包含σ2∈Zq,v∈Zt和公共参数params,其中|σ2-σ1|q≤d,对于任意整数a,|a|q定义为min{amodq,q-amodq},其中,对于任意整数a和正整数b,amodb表示在欧几里得除法中a除以b的唯一的落在[0,…,b-1]中的余数,min{·}定义为取最小值;d=fd(q,k,g),fd是关于q,k,g的函数;算法对σ2∈Zq,v∈Zt基于params进行解码,输出包含k2,其中k2∈Zk,满足k2=k1。运行专利技术方法的接收方Bob运行Rec(σ2,v,params),得到k2∈Zk。若σ2与σ1的距离d满足一定的限制条件,则正确性成立,即k2=k1,双方纠错成功,生成k2=k1。即便σ2与σ1的距离超出d或传输过程引入的噪音缘故,接收方仍可使用纠错码解密算法Decode解密f″(k2,v')得到Decode(f″(k2,v'))=f(k1),其中,f″是关于k2,v'的函数,双方纠错成功,生成共同的密钥f(k1)。具体实施方式本专利技术给出一种高效的纠错编码解码方法;其中,{…}表示一个信息或者数值的集合;这里公共参数params={q,k,g,aux},其中q,k,g均为整数;辅助参数aux是包含{q′,α,β}的集合的可为空的子集合,其中q′=f1(q,k,g),α=f2(q,k,g),β=f3(q,k,g),f1,f2,f3是关于q,k,g的函数;假定公共参数params是固定的并被运行专利技术方法的用户事先获知;或者,在专利技术方法运行之前交换和协商这些参数并达成一致。在基于LWE的密钥协商协议当中,这些参数主要是由LWE问题来决定。对于两个整数i,j,其中i≤j,[i,j]表示整数集{i,i+1,…,j};对于任意正整数a,定义Za为Z/aZ,在本专利技术所在的
,Za表示为Za=[0,a-1]或者其中,对于任意实数b,表示小于或者等于b的最大整数,「b」表示与b最接近的整数,且运行专利技术方法的发送方运行一个编码算法Con(·),算法输入包含σ1∈Zq和公共参数params,输出包含(k1,v),其中k1∈Zk,v∈Zt,t=f(β,g),f是关于β,g的函数;算法运行如下:⑴计算σA∈Zq′;⑵计算k1∈Zk以及⑶计算v∈Zt;运行专利技术方法的发送方运行Con(σ1,params)得到k1∈Zk和v∈Zt后,可另外使用一层纠错码加密算法Encode加密f(k1)得到Encode(f(k1)),其中,f是关于k1的函数,然后计算v'=f′(Encode(f(k1)),k1),其中,f′是关于f(k1),k1的函数,并公开传输v,v'给运行专利技术方法的接收方Bob。运行专利技术方法的接受者有一个保密输入σ2∈Zq,收到发送方发送过来的v∈Zt,检查v∈Zt,若v∈Zt则运行一个解码算法,算法输入包含σ2∈Zq,v∈Zt和公共参数params,其中|σ2-σ1|q≤d,对于任意整数a,|a|q定义为min{amodq,q-amodq},其中,对于任意整数a和正整数b,amodb表示在欧几里得除法中a除以b的唯一的落在[0,…,b-1]中的余数,min{·}定义为取最小值;d=fd(q,k,g),fd是关于q,k,g的函数;输出包含k2,其中k2∈Zk,满足k2=k1。运行专利技术方法的接收方Bob运行Rec(σ2,v,params),得到k2∈Zk。若σ2与σ1的距离d满足一定的限制条件,则正确性成立,即k2=k1,双方纠错成功,生成k2=k1。即便σ2与σ1的距离超出d或传输过程引入的噪音缘故,接收方仍可使用纠错码解密算法Decode解密f″(k2,v')得到Decode(f″(k2,v'))=f(k1),其中,f″是关于k2,v'的函数,双方纠错成功,生成共同的密钥f(k1)。如上所述的方法,其中,q,k,g为正整数,和/或,q′=lcm(q,k)是q和k的最小公倍数,和/或,α=q′/q,和/或,β=q′/k,和/或,β≥g均为正整数。当然,在专利技术方法的实际应用中,q’、α、β、t还可以是q、k、g的其它函数和变换,比如:q’是lcm(q,k)的一个函数或变换,α是q’/q的一个函数或变换,β是q’/k的一个函数或变换。如上所述的方法,其中,σA是Zq′上的随机分布或均匀分布,或者σA可以有效地转换为Zq′上的均匀分布。如上所述的方法本文档来自技高网...
【技术保护点】
1.一种多比特纠错编码解码方法;其中,{…}表示一个信息或者数值的集合;这里公共参数params={q,k,g,aux},其中q,k,g均为整数;aux是可为空的其它辅助公共参数的集合;对于两个整数i,j,其中i≤j,[i,j]表示整数集{i,i+1,…,j};对于任意正整数a,定义Za为Z/aZ,Za表示为Za=[0,a‑1]或者
【技术特征摘要】
1.一种多比特纠错编码解码方法;其中,{…}表示一个信息或者数值的集合;这里公共参数params={q,k,g,aux},其中q,k,g均为整数;aux是可为空的其它辅助公共参数的集合;对于两个整数i,j,其中i≤j,[i,j]表示整数集{i,i+1,…,j};对于任意正整数a,定义Za为Z/aZ,Za表示为Za=[0,a-1]或者其中,对于任意实数b,表示小于或者等于b的最大整数;发送方运行一个编码算法Con(·),算法输入包含σ1∈Zq和公共参数params,算法对σ1∈Zq基于params进行编码,输出包含(k1,v),其中k1∈Zk,v∈Zt,k和t为整数,其中k和t为整数且其中之一大于2或小于-2,这意味着,k1和v其中之一必为多比特;接收方运行一个解码算法Rec(·),算法输入包含σ2∈Zq,v∈Zt和公共参数params,其中|σ2-σ1|q≤d,d为一个整数,对于任意整数a,|a|q定义为min{amodq,q-amodq},其中,对于任意整数a和正整数b,amodb表示在欧几里得除法中a除以b的唯一的落在[0,…,b-1]中的余数,min{·}定义为取最小值;算法对σ2∈Zq,v∈Zt基于params进行解码,输出包含k2,其中k2∈Zk;若σ2与σ1的距离d满足一定的限制条件,则k2=k1,双方纠错成功。2.如权利要求1所述的方法,其中,aux是包含{q′,α,β}的集合的可为空的子集合,其中q’、α、β、t为整数;Con(·)算法运行如下:⑴计算σA∈Zq′;⑵计算k1∈Zk以及⑶计算v∈Zt,其中v可以公开发送。3.如权利要求1或2所述的方法,其中,q,k,g为正整数,和/或,q′=lcm(q,k)是q和k的最小公倍数,和/或,α=q′/q,和/或,β=q′/k,和/或,β≥g均为正整数。4.如权利要求1或2所述的方法,其中,σA是Zq′上的均匀分布。5.如权利要求4所述的方法,其中,σA的计算方法包括:从集合[0,α-1]或集合中均匀随机地选取元素e;计算σA=ασ1+e∈Zq′。6.如权利要求5所述的方法,其中,σA=ασ1+e∈Zq′的计算方法包括:⑴σA=ασ1+emodq′,或⑵σA=ασ1+...
【专利技术属性】
技术研发人员:赵运磊,程蕾晓,黄兴忠,
申请(专利权)人:上海扈民区块链科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。