第7章纠错码与通信系统的保密课件.ppt
《第7章纠错码与通信系统的保密课件.ppt》由会员分享,可在线阅读,更多相关《第7章纠错码与通信系统的保密课件.ppt(116页珍藏版)》请在三一办公上搜索。
1、第7章 纠错码与通信系统的保密,7.1 基于纠错码的公钥密码体制 7.2 基于纠错码的私钥密码体制 7.3 基于纠错码的身份认证 7.4 基于纠错码的数字签名,第7章 纠错码与通信系统的保密 7.1 基于纠错码的公钥,7.1 基于纠错码的公钥密码体制,7.1.1 M公钥密码体制 M公钥密码体制是1978年McEliece利用一般线性码的译码问题是一个难解的数学问题和Goppa码有快速译码算法的特点,最早提出的一个基于纠错码的公钥密码体制,简称为M公钥体制。该体制的公钥是随机产生的一个线性分组码的生成阵,公钥隐藏了线性分组码的快速译码算法,它是一种局部随机的密码体制。下面介绍M公钥密码体制的加、
2、解密原理。,7.1 基于纠错码的公钥密码体制 7.1.1 M公钥密,设G是二元(n,k,d)Goppa码的生成矩阵,其中n2m,d2t1,kn-mt。随机地选取两个二元矩阵S和P,则公钥G为 GSGP(71)式中:Skk阶可逆矩阵;Gkn阶Goppa码生成矩阵;Pnn阶置换矩阵。,设G是二元(n,k,d)Gopp,私钥:S,G,P。加密过程:对于任意一个明文mGF(2)k,密文加密算法如下:cmGe(72)式中:eGF(2n)上重量为t随机矢量。,私钥:S,G,P。加密过程:,解密过程:收方收到一个密文c以后,计算 cP1mSGPP1ePlmSGe,因为P是置换距阵,所以W(z)W(z)t,然
3、后利用Goppa的快速译码算法将其译成mmS,密文c对应的明文为mmS-1。则用户收到密文c后,用自己的秘密钥进行解密的步骤为(1)计算cP-1mGP-1+eP-1(mS)GeP-1;(2)对cP-1用有效的Goppa码译码算法进行译码译得mS;(3)计算(mS)S-1得明文m。,解密过程:,McEliece系统的缺点是密钥长度较大,数据扩展率太大,优点是对同一公钥,一个明文可以对应许多个密文,从而增加了从密文破译的困难。对McEliece系统的破译一方面是求出密钥S-1,P-1,G;另一方面是由具体密文c来求对应的明文m。由现有的系统安全性分析可知,这两种破译方法都未发现有有效的算法。此系统
4、还可纠正密文在传送中发生的错误,这种系统称为既加密又纠错的系统。,McEliece系统的缺点是密钥长,7.1.2 N公钥密码体制 N公钥密码体制是1986年Niederreiter提出的另一个基于纠错码的公钥密码体制,该体制是一个背包型公钥密码体制,简称N公钥密码体制。N公钥密码体制的公钥为随机产生的线性分组码的监督阵,与M公钥不同的是N公钥隐藏了具有快速译码算法的线性分组码的监督阵。下面介绍这个公钥密码体制的加、解密原理。,7.1.2 N公钥密码体制,设C是有q元线性(n,k,2t1)Goppa码,取两个q元矩阵 M、P,则公钥H为 HMHP(73)式中:H码C的(nk)n监督矩阵;Mq元(
5、nk)(nk)非奇异矩阵;Pq元nn阶置换矩阵。私钥:H,M,P。,设C是有q元线性(n,k,2t1,加密算法:zy(H)T(74)式中:znk维密文;(H)TH的转置矩阵;y重量为t的q元n维明文。解密运算:由zy(MHP)T知:z(MT)1y(PT)HT,由码的快速译码算法得到yPT,因此可以求出y。,加密算法:,7.1.3 M公钥密码体制与N公钥密码体制的关系 李元兴、王新梅等于1994年在IEEE信息论汇刊上发表论文,证明了M公钥和N公钥密码体制是等价的。假定M公钥密码体制和N公钥密码体制采用的是相同的(n,2t+1)线性码C,则M密码体制的公钥为 GS1GP(75)式中:S1价可逆矩
6、阵;Pnn阶置换矩阵;G码C的生成矩阵。,7.1.3 M公钥密码体制与N公钥密码体制的关系,M公钥密码体制的私钥:S1,G,P。N密码体制的公钥为 S2HP(76)式中:S(n-)(n-)阶可逆矩阵;Pnn阶可逆矩阵;码C监督矩阵。N公钥密码体制的私钥:S2,H,P。M公钥密码体制中的加密方程:cmGe(77)将方程(77)两端乘(H)T得:zc(H)TmG(H)T e(H)Te(H)T,M公钥密码体制的私钥:S1,G,P,给定z和,若e能被发现,也就是说若N体制被打破,则M体制被打破,即密文m可以在多项式时间内被获得。因此,破译M体制不会比破译N体制难。N密码体制中的加密方程:zy(H)T(
7、78)则在多项式时间里可以求得一个长为n的码字c,使得:zc(H)T(79)又因为c可以表示成为 cmGy(710)式中:m一个维明文。,给定z和,若e能被发现,也就是说,7.1.4 Ms公钥密码体制 在M公钥密码体制中,密文通过信道时不能有干扰。若密文通过信道时有干扰,则收端收到的密文为 ccz(711)式中:mGe;z信道产生的错误图样。,7.1.4 Ms公钥密码体制,这时,在解密过程中错误图样ze的汉明重量很可能大于码的纠错能力,若进行译码,就得到错误的码字,这样势必得到与原明文不同的错误明文。事实上没有纠错能力的所有密码体制都存在这个问题。接收端得到错误明文后,由于看不懂明文,知道在传
8、输过程中产生了错误,可以要求对方重发,这样就降低了通信效率,而重发又增加了通信的不安全性。王新梅给出克服上述缺点的另一个方法,对M公钥进行了修正,使其具有一定的纠错能力或检错能力。下面介绍这种修正的M公钥体制,即Ms公钥体制。设明文为m,则对应的密文为 csmGses(712),这时,在解密过程中错误图样ze的,式中:GsSGP;es是一个长为n的二进制随机序列,且它的重量为 W(es)=tst 显然,当tst时,Ms公钥就是M公钥,因此M公钥可以看成Ms公钥的特殊情况,Ms公钥体制可以看成是M公钥的推广。,式中:GsSGP;es是一个长为,Ms公钥体制解密算法与M公钥密码体制的基本相同。所不
9、同的是,当密文在有扰信道中传输时,若信道产生的错误图样e的重量(e)t-ts,则Ms公钥体制能保证解密后所得明文的正确性,而M公钥体制不具有这个性能。攻击M公钥的有关算法都可用来攻击Ms公钥体制,由于tst,所以Ms公钥体制的安全性要比M公钥体制弱,但也有足够的强度。表71列出用(2048,1388,121)Goppa码,取ts55时构造的Ms公钥体制复杂度与错误个数的关系,采用的攻击是LeeBrickell攻击。,Ms公钥体制解密算法与M公钥密码体制,表71 复杂度与错误的关系,表71 复杂度与错误的关系,7.1.5 M公钥的安全性 M密码体制使用的是二元既约Goppa码,Goppa码的数量
10、随参数的增加而快速增加。对M公钥密码体制的攻击可以归结为下列问题:对于一个加密矩阵G,若存在一个kk阶可逆矩阵S,nn阶可逆矩阵P,密码分析者知道其快速译码算法的C的生成阵G,且 GSGP。若这种情况发生,M公钥密码体制就可被攻破。但这种情况发生的概率是很小的。下面给出M公钥的几种攻击方法。,7.1.5 M公钥的安全性,1.已知码字的攻击 密码分析者随机地选n比特密文中的k比特,k比特没有错误的概率为 与kn阶矩阵G相对应的kk阶矩阵可逆的概率为qk,因此,任意取密文c的k比特,它既没有错误且对应的kk阶子矩阵可逆的概率为qkpk,求一个kk阶可逆矩阵逆的时间复杂度为(k3),因此,这种攻击的
11、工作因子为(k3qkpk)。这是1978年McEliece给出的一种攻击方法。,1.已知码字的攻击,2.错误图样攻击 随机地选取kn阶矩阵G的k列j1,j2,jk,且使其构成kk阶可逆矩阵Gk,令yk,zk分别表示由n维矢量y和z的第j1,j2,jk个分量构成的k维矢量,因此ykzkmGk,(ykzk)(Gk)-1mG。取k比特码字zk,zk的汉明重量小于等于j(jc),若y(yk+zk)(Gk)-1 G的重量为t,则zk=zk,因此密文m(ykzk)(Gk)-1,否则选另一个k维矢量zk重复上面的步骤。若重量小于等于j的k比特矢量被用完,但消息还未恢复出来,取kn阶矩阵G的另一个kk阶子矩阵
12、,重复上面的步骤,直到明文m被发现为至。,2.错误图样攻击,3.最小汉明重量的码字攻击 设yxGz是一个接收码字,这里G是(n,k,d)线性码的生成矩阵,z是重量为t的错误矢量;(k1)n阶矩阵G/z是(n,k1,t)线性码的生成阵。因此,发现一个码的最小重量的码字对应于发现错误矢量z。若有算法能发现一个码的最小重量的码字,就可被用来攻击M体制。但发现一个码的最小重量的码字是一个NP完全问题,因此,通过这种方法攻击,似乎也是很困难的。,3.最小汉明重量的码字攻击,4.消息重发攻击 1997年,Berson提出两种对McEliece体制的攻击方法,即消息重发攻击(messaGeresendatt
13、ack)和相关消息攻击(relatedmessaGeattack)。考查具有如下参数的McEliece体制,n1024,k524,t50,下面先介绍消息重发攻击。,4.消息重发攻击,5.相关消息攻击 若两个消息m1,m2被加密,假定密码分析者知道m1m2,那么密码分析者知道:c1m1e1,c2m2Ge2 这里m1m2,e2e1。因此,c1c2m1e1m2Ge2(m1m2)e1+e2由于预先知道m1m2,可计算(m1m2)G,因此,c1c2(m1m2)e1e2,5.相关消息攻击,类似于消息重发攻击,仅需要次数比较少的猜测就能攻击成功。消息重发攻击可看成相关消息攻击的特例。虽说Berson的分析不
14、够严密,但他给出的攻击方法从一定程度上也指出了M公钥存在的弱点。,类似于消息重发攻击,仅需要次数比较,7.1.6 M公钥的变型 下面给出为了抗击Berson的两种攻击,HunGMinSun提出的如下变型的M公钥方案。1.变型1 1)加密 c(m+h(e)Ge(713)式中:e重量为t的n比特随机矢量;h输入为n比特、输出为k比特的单向Hash函数。,7.1.6 M公钥的变型,2)解密 由M公钥的解密算法可得mh(e),然后计算m(m+h(e)h(e)。3)安全性 设m1和m2是两个消息。假定m1m2,则c1c2(h(e1)h(e2)Ge1e2,(h(e1)h(e2)G。由于不知道h(e1),h
15、(e2),因此也不知道(h(e1)h(e2)G,密码分析者很难确定出错误位置,消息重发攻击不会成功。,2)解密,假定密码分析者知道m1m2的值,那么 c1c2(m1m2h(e1)+h(e2)Ge1e2 虽然密码分析者知道m1m2的值,但不知道h(e1),h(e2),因此也不知道(m1m2h(e1)h(e2)G,密码分析者很难确定出错误位置,相关消息攻击也不能成功。对M公钥进行以下变型,也能够防止erson的两种攻击方法。,假定密码分析者知道m1m2的值,那么,2.变型2 1)加密 cf(m,e)Ge(714)式中:e重量为t的n比特随机矢量;f单向函数。单向函数f满足给定f(m,e)而确定m,
16、e在计算上是不可行的,但在知道f(m,e),e时,很容易计算m。2)解密 首先利用M公钥的解密算法求得f(m,e),e,然后利用f(m,e),e求得m。,2.变型2,7.1.7 增加M公钥的传信率 M公钥的传信率比较低,大约为0.5,因此有些学者提出了改进M公钥传信率的方法。1)加密 设消息m(ma,mb)。密文cmaGe,这里eG(mb),G是一个将mb映射到重量为t的n比特错误矢量的可逆映射。2)解密 ma可以通过M公钥的解密算法得到,同时也就得到了G(mb),那么mbg1g(mb)。,7.1.7 增加M公钥的传信率,3)信息率 通过这种方法可以改变M公钥的信息率。例如若k524,n102
17、4,t50时,M公钥的信息率为0.51,变型后的M公钥的信息率为0.79;若k654,n1024,t37时,M公钥的信息率为0.63,变型后的M公钥的信息率为0.87。,3)信息率,4)安全性 变型后的M公钥体制的基本思想与原M公钥的基本相同,其主要差别是错误矢量的随机性问题。变型后的M公钥的错误矢量不是真正随机的,它由mb确定,这是一种确定性加密。,4)安全性,设m(m1a,m1b),m2(m2a,m2b)是两个要加密的消息,变型后的M公钥将消息分成两部分,因此它也暴露出如下可能的弱点。(1)若知道m1a,那么,G(m1b)c1m1aG,m1bG1(G(mb)。(2)若知道m1b,那么m1a
18、GcG(m1b),通过解方程,能很快算出m1a。(3)若知道m1am2a,m1bm2b,那么e1e2,c1c2(m1am2a)Ge1e2,因此可以获得有关错误位置的一些信息。,设m(m1a,m1b),m2(,(4)若知道m1am2a,m1bm2b,那么(m1am2a)Gc1c2,因此通过解方程能很快地算出m1am2a。(5)若知道m1am2a的值和m1bm2b,那么c1c2(m1am2a)Ge1e2,e1e2c1c2(m1a G,因此可以获得有关错误位置的一些信息。,(4)若知道m1am2a,m1bm,7.2 基于纠错码的私钥密码体制,7.2.1 Rao私钥密码体制 Rao私钥密码体制是由T.
19、R.Rao于1984年提出的一个私钥密码体制,其基本思想是将McEliece公钥用于私钥密码体制。1)加密 令Zz|zGF(2)n,z的汉明重量为,m是k比特的明文,其对应的n比特密文c为 cmSGPz(715),7.2 基于纠错码的私钥密码体制 7.2.1 Rao,式中:G二进制线性Goppa码(n,k,2t1)的生成矩阵;Skk阶二元可逆矩阵;Pnn阶置换矩阵;z从Z中随机选取的n比特矢量。私钥:G,S,P,SGP。2)解密 计算cPT,通过译码得到mS,计算mSS1得明文m。,式中:G二进制线性Goppa码(,7.2.2 RaoNam私钥密码体制 从密码分析的角度看,当错误矢量的汉明重量
20、约等于n2时,大数表决攻击方法不能成功。在此情况下,码字的每个码元被正确猜测的概率为12,这是最佳的。因此,RaoNam提出使用预先定义取自码C不同剩余类,其汉明重量约等于n2错误码字。同时他们还提出利用简单的纠错码(汉明重量小于等于6,码长最多为250比特)来获得私钥密码系统。设G是(n,k)Goppa码的生成矩阵,z是一个特指的错误图样,它的平均汉明重量大约为n2。,7.2.2 RaoNam私钥密码体制,1)加密方法令m是k比特的明文,则密文c为 c(mGz)P(716)式中:Gn阶加密矩阵(GSG);S阶可逆矩阵;G汉明重量小于等于6的(n,)线性码的生成矩阵;Pnn阶置换矩阵;z随机选
21、取的一个错误矢量。密钥:S,P,G,H,伴随错误表。,1)加密方法,2)解密方法 由加密运算公式(716)得:c(mGz)PmSGPzPmGPzP(717)令ccPT,则 cmGz(718)由(718)得:cHTmGHTzHTzHT(719),2)解密方法,具体解密步骤如下:(1)利用公式(718)计算c;(2)根据公式(719)计算m;(3)通过伴随错误表,可以找到z,同时可以算出mS。(4)根据mSS-1计算明文m。由于这个私钥密码体制安全性在很大程度上依靠于z的选取,所以,1989年RaoNam给出了下列选取z的方法:,具体解密步骤如下:,有限域GF(2)上的n维矢量空间GF(2)n关于
22、(n,)线性码C有2n个陪集,每一个陪集对应于惟一一个伴随式,在每一个陪集中选定一个重量大约等于n2的码字,这样就形成2n-个重量大约等于n2的n重矢量。,有限域GF(2)上的n维矢量空间GF,7.2.3 LW私钥密码体制 根据RaoNam方案,李元兴和王新梅提出了一个可用作加密和认证的私钥密码体制。这一方案被称为LW私钥密码体制。1.基本原理 假定码率R0.5,即kn-k,则L-W体制的加、解密方法如下所述。1)加密(1)将消息m分成k比特的组。(2)通信双方秘密地商定一种算法,从m中选定nk比特,构成nk比特的组m1。,7.2.3 LW私钥密码体制,(3)将m1作为伴随式,通过查伴随错误表
23、找出与其对应的n比特矢量z,zHTm1。(4)根据公式(716)计算密文c。2)解密(1)利用公式(718)计算。(2)根据公式(719)计算m1(m1zHT)。(3)利用伴随错误表,找出错误矢量z,并恢复mS。(4)根据mSS1恢复明文m。,(3)将m1作为伴随式,通过查伴随错误表找出与其对应的n比,(5)收方利用他与发方商定的选取方法,从m中选取n比特,并与第二步算出的m1进行比较。若传输中没有错误,选取的nk比特与m1相等,则消息m是明文,且m被认证。若传输中有错误,或密文被敌手篡扰过,这时收方收到的密文是:c*cze(720)即 c*mSGPzemSGP(zz*e)P(721)式中:z
24、*ezePT。,(5)收方利用他与发方商定的选取方法,从,2.一个等价方案 下面介绍的加密和解密算法等价于LW方案。先给出一个定义:令GB是(2k-n)n阶二元矩阵,其右逆为G-1B,HB为GB生成的线性码的监督矩阵。定义集合:H(xA,y)|yxGfA(x),xB0,xAGF(2)nk 为了便于叙述,令yH(xA),xA H1(sB)。,2.一个等价方案,1)加密 k比特明文x对应的n比特密文:yB(x)GBH(A(x)(722)2)解密 计算 sByHTB,xAH1(sB)xB(yH(xA)G-RB 则明文为 x1(xA)1(xB)(723)密钥:GB,HB,H,H1,集合A,B。,1)加
25、密,3.安全性分析 LW私钥密码体制与RaoNam密码体制的基本思想相同,其惟一的差别是此私钥密码体制的错误矢量被用作认证和加密两个目的。为了便于密码分析,1994年J.vanTilberG给出下述一个与LW方案等价的定义。设nkk,A是在集合1,2,k中随机的选取一个子集a1,a2,,ank,这里a1a2an-k,k比特矢量x的一个子矢量定义为(724),3.安全性分析,定义函数fA:fA(x)z,zZ,zHTA(x)(725)式中:xk比特明文;Z错误矢量集;fA(x)错误选择函数。设C是一个二元(n,k)线性码,G是码C的生成阵,其右逆是GR。H是码C的监督阵。fA是错误选择函数,T是伴
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 纠错码 通信 系统 保密 课件
链接地址:https://www.31ppt.com/p-2109500.html