通信网络安全与加密

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于纠错码依赖多余度而造成数据扩展,而密码中 则不希望这样做,又由于其密钥量太大,致使这类 体制未能得到广泛研究。
当有扰信道的安全受到威胁时,保密和纠错的组合 可能会得到重视。
通信网络安全与加密
McEliece公钥密码
设G 是二元(n, k, d) Goppa码的生成矩阵; 其中n=2m, k=n-tm=2m-tm, d=2t+1
通信网络安全与加密
4个根中有一个是明文m。 如果把(modp)、(modq)值为mp、mq的根叫做m’,
则(modp)、(modq)值为p-mp、q-mq的根就是n-m’。 另外两个根的和也等于n。即如果把一个叫做m’’,
则另一个就是n-m’’。
那么, 4个不同的根怎样计算呢? 如果仅仅知道n,而不知道分解式n=pq,则无法 计算mp和mq,因而无法计算这4个不同的根。
通信网络安全与加密
离散对数问题—续
给定一个素数p,
z*p上的一个生成元g, 及一个元素y, 寻找整数x(0=<x=<p-2), 使得gx = ymod p。
通信网络安全与加密
Diffie-Hellman问题
给定一个素数p,z*p上的一个生成元g,及元
素y1= ga mod p , y2= gb mod p ,求: y =
(4个数的计算使用孙子定理(中国剩余定理)。)
通信网络安全与加密
于是,真正的明文m一定就是4个数 m1, m2, m3, m4 之中的一个。
观察4个数,排除那些没有意义的“乱码课文”。 哪个是有意义的课文,哪个就是真正的明文m。
解密完毕。
通信网络安全与加密
通信网络安全与加密
Rabin的解密正确性
计算:m1, m2, m3, m4, 满足:
0<m1<n;0<m3<n; 0<m2<n; 0<m4<n;
m1(modp)=mp; m1(modq)=mq; m2(modp)=mp; m2(modq)=q-mq; m3(modp)=p-mp; m3(modq)=mq; m4(modp)=p-mp; m4(modq)=q-mq 。
通信网络安全与加密
Βιβλιοθήκη Baidu
如果知道了n的分解式n=pq,则能够计算mp和mq。 再由mp和mq计算4个根,使用的是著名的孙子定 理(中国剩余定理)。
最后,要判断哪一个根是真正的明文。 一般,真正的明文都具有语言含义,而其它的根 则是没有语言含义的“乱码课文”。当然也有例 外,比如当明文是一副图象的编码时,明文也是 没有语言含义的“乱码课文”。
然而,因其公钥过于庞大,为10^19比特长,且密文扩展 过大,而不被接受。
它的贡献:开拓了基于纠错码的密码。
通信网络安全与加密
离散对数问题与 ElGamal算法
通信网络安全与加密
离散对数问题
离散对数问题是指: 给定一个素数p,z*p上的一个生成元g,及 一个元素y,寻找整数x(0=<x=<p-2),使 得gx = ymod p。
其中v’= mSG是码字。 3. 求满足v’=m’G 的m’,即m’= mS。 4. 计算m=m’S-1。
通信网络安全与加密
McEliece的实现
建议码长为1024,S为500*500方阵,P是1024*1024的置 换方阵。
尽管McEliece是最早的公钥算法之一,该方案比RSA快三 个数量级,至今未有攻击成功的结果。
G是k×n阶矩阵
随机选取GF(2)上的k阶可逆方阵S和n阶置换矩阵P 令G’ = SGP 则私钥为:S、G、P;
公钥为:G’。
通信网络安全与加密
McEliece公钥密码
加密:c = mG’+e,其中e是重量为t的向量。
解密: 1. 计算c’=cP-1=mSGPP-1 +e P-1 = mSG +e’ ; 2. 对c’进行纠错译码: c’=v’+e’ ,
通信网络安全与加密
Rabin的安全性原理
攻击者Eve截获了密文c。 Eve还知道Bob的公钥n, 也知道明文m满足方程 c=m2(modn)。
但是他不知道n的分解式n=pq,无法计算mp和mq, 进一步无法计算4个根。
求n的分解式n=pq是大数分解问题。
通信网络安全与加密
RSA与Rabin比较
Rabin与McEliece
2011-03-31
通信网络安全与加密
公钥密码Rabin(基于二次剩余)
Rabin密码系统,是由M. Rabin设计的,是RSA密 码系统的一种改进。
RSA是基于指数同余的;Rabin是基于二次同余。
Rabin密码系统可以认为是e和d为定值的RSA密码 系统:e = 2 ,d = 1/2。
即,加密是 c = m^2 mod n, 解密是 m = c^(1/2) mod n。
通信网络安全与加密
Rabin的密钥生成
选择两个大的素数p和q,要求p和q都是4的倍数加 3。
计算n=pq。 Bob的公钥是n,对外公布。 Bob的私钥是(p,q),自己私藏。
通信网络安全与加密
Rabin的加密过程
Alice欲发送明文m给Bob,其中 0<m<n 。
Alice用Bob的公钥n,计算: c=m2(modn)。
c为密文。
通信网络安全与加密
Rabin的解密过程
Bob 收到密文c后, 用自己的私钥(p,q)计算:
p 1
m p c 4 (mod p);
q 1
mq c 4 (mod q).
通信网络安全与加密
因为n=pq是两个不同的素数的乘积,所以,关于未 知数x的二次方程 x2= c (modn)
恰好有4个不同的根x,分别有以下形状: 一个根的(modp)、(modq)值是mp、mq; 一个根的(modp)、(modq)值是mp、q-mq; 一个根的(modp)、(modq)值是p-mp、mq; 一个根的(modp)、(modq)值是p-mp、q-mq 。
比较项目 公钥 私钥
加密算法 解密算法 安全基础
RSA (n, e)
d c=me(modn) m=cd(modn) 大数分解问题 的困难性
Rabin n
(p, q) c=m2(modn)
若干步 大数分解问题
的困难性
通信网络安全与加密
McEliece公钥密码(基于纠错码)
1978年McEliece提出利用纠错码构造公钥密码体制。
相关文档
最新文档