计算机网络安全技 术第 3章

上传人:w****i 文档编号:91062918 上传时间:2019-06-21 格式:PPT 页数:70 大小:320KB
返回 下载 相关 举报
计算机网络安全技 术第 3章_第1页
第1页 / 共70页
计算机网络安全技 术第 3章_第2页
第2页 / 共70页
计算机网络安全技 术第 3章_第3页
第3页 / 共70页
计算机网络安全技 术第 3章_第4页
第4页 / 共70页
计算机网络安全技 术第 3章_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《计算机网络安全技 术第 3章》由会员分享,可在线阅读,更多相关《计算机网络安全技 术第 3章(70页珍藏版)》请在金锄头文库上搜索。

1、第三章 对称密码技术 31 密码学的基本概念 密码是一门古老的技术,它已有几千年的历史,自从人类社会有了战争就出现了密码,但1949年以前的密码只是一种艺术而不是科学,那时的密码专家常常凭直觉和经验来设计和分析密码,而不是靠严格的理论证明。1949年,Shannon发表了题为“保密系统的通信理论”一文,引起了密码学的一场革命。在这篇文章中,他把密码分析与密码设计建立在严格的理论推导基础之上,从而使密码学真正成为一门科学。,密码按目的来分,可分为密码编码学和密码分析学。密码分析学的基本任务是研究如何破译加密的消息或者伪造消息;密码编码学的基本目的就是要伪装消息,就是要对给定的有意义的数据进行可逆

2、的数学变换,将其变为表面上杂乱无章的数据,使得只有合法的接收者才能恢复原来有意义的数据,而其余任何人都不能恢复原来的数据。 变换前有意义的数据称为明文,所有可能的明文组成的集合称为明文空间。变换后的数据称为密文,所有可能的密文组成的集合称为密文空间。对明文数据进行可逆变换的过程称为加密过程,其变换称为加密变换,加密由一个参数k1控制,这个参数称为加密密钥。恢复明文的过程称为解密过程,其变换称为解密变换,它由一个参数k2控制,这个参数称为解密密钥。 如果加密密钥k1与解密密钥k2是相同的(或者从k1很容易推导出k2),统称为k,这种密码体制称为对称密码体制,这是传统的加密体制。如果加密密钥k1与

3、解密密钥k2不相同,则称为非对称密码体制,非对称密码体制也就是公开密钥密码体制。,32 保密系统的Shannon模型 1保密系统的Shannon模型 图3.1是保密系统的Shannon模型,n元数组x n = (x1,x2 ,xn) 是明文,n元数组yn = (y1,y2 ,yn)是在公开信道上传送的密文,也就说任何人都可得到这些密文,n元数组kn = (k1,k2 ,kn)是通过安全信道传送给接收者的密钥,敌方密码分析者无法获得该密钥。加密器的任务就是对明文m施以加密变换得到密文c c = Ek (m) 解密器的任务就是对所接受到的密文实行解密变换获得明文 m = Dk( c ) =Dk(

4、Ek(m ) 由于加密变换、解密变换是依赖于密钥k的一对可逆的数学变换,因此 m = m 从而完成保密通信。,密码分析者 发送者 加密器EK 解密器DK 接收者 密钥源 图 3.1 保密系统的Shannon模型,例31 一次一密密码体制。 设明文是一串二进制数据:m = (0110010011)2 ,设k也是一串同样长度的二进制数据:k = (0111001001)2 。在A,B两方通信前,A首先通过安全信道(比如信使)把密钥送给B,现在A要把明文m通过公开信道送给B,A先对m施行加密变换 c = Ek(m) = m k = (0110010011)2 (0111001001)2 = (000

5、1011010)2 向量的模2加是指每个向量的分量进行模2加。 B收到c后,用事先A传送给它的密钥k进行解密。 m = Dk(c ) = c k =(0001011010)2 (0111001001)2 = (0110010011)2 = m 从而B获得明文m 。而任何获得密文c的密码分析者由于没有密钥k ,因此也就无法获得正确的明文。,2理想保密与完善保密 从上面Shannon模型可以看出,保密的关键是密钥。任何人只要获得通信密钥,就能正确地恢复明文。 设明文xn = (x1,x2,xn),密文为yn = (y1,y2,yn),密钥为k,如果对所有的n有I ( xn ;yn) = 0 ,即对

6、所有n ,xn 与yn统计独立,从yn得不到任何关于xn 的信息,这种密码体制是完善保密的。前面介绍的一次一密的密码体制由于每一次的密文与其他密钥无关,以而任何时候得到yn与其他xn无关,所以是完善保密的。如果 0 I ( xn ;yn) H (xn ) 即yn包含有xn的信息,这时可以推得H (kyn ) 0 ,即无论n有多大,已知密文yn ,k还是不确定的。没有确定的密钥就不能正确地解密,恢复明文。这种密码体制称为理想保密。,3.3 古典加密技术,虽然按照近代密码学的观点来看,许多传统古典密码很不安全,或者说很容易破译。由于编制古典密码的基本方法对于编制近代密码仍然有效。本节将介绍几种著名

7、的古典密码。 几乎所有的传统加密用到两种基本技巧:代换和置换。代换法是将明文字母替换成其他字母、数字和符号的方法。若把明文看作是二进制序列,则代换就是用密文位串来代替明文位串。下面分别介绍则两种密码。,1 代换密码,1 1) 凯撒(Caesar)密码 这是最早的代换密码。凯撒密码是每一字母向前推移k位。例如k5便有明文和密文对应关系如下: 明文:a b c d e f g h I j k l m n o 密文:F G H I J K L M N O P Q R S T 明文:p q r s t u v w x y z 密文:U V W X Y Z A B C D E 例如: 明文:day af

8、ter day 密文:IFD FKYJW IFD 不同的k可以得到不同的密文。如果让每一个字母等价一个数字,如下所示:,则凯撒密码变换实际上是 c(m+k) mod (26) 其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数。也称为密钥。例如 network security 对应于数据序列 14 5 20 23 15 18 11 19 5 3 21 18 9 20 25 k3时得密文序列 17 8 23 26 18 21 14 22 8 6 24 21 12 23 2 对应的密文为 QHWZRUN VHFXULWB,2) 单表代换密码 单表代换又称为简单代替密码。只需使用一

9、个密文字母表,并且用密文字母表中的一个字母来代替一个明文字母表中的一个字母。 设A和B分别为含n个字母的明文字母表和明文字母表: A=a0,a1,an B=b0,b1,bn 定义一个由A到B的一一映射: f: AB f(ai)=bi 设明文M(a0,a1,an-1),则C=(f(m0),f(m1),f(mn-1)。可见,简单代替密码的密钥就是映射函数f或密文字母表B。,2 置换密码,把明文中的字母重新排列,字母本身不变,但其位置发生改变,这样变换的密码称为置换密码。 最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文。 例: 明文:NETWORK SECURITY 密

10、文:YTIRUCES KROWTEN 仅仅采用倒序的方法,其抗攻击性的能力显得很弱。另一种方法是将明文按某一顺序排成一个矩阵,然后按另一顺序选出矩阵中的字母以形成密文,最后分成固定长度的字母组作为密文。,例如: 明文:CRYPTOGRAPHY AND NETWORK SECURITY 矩阵: CRYPTO GRAPHY ANDNET WORKSE CURITY 选出顺序:按列选出 密文:CGAWC RRNNOU YADRR PPNKI THEST OYTEY 如果矩阵的行列数量或者选出列的顺序发生变换,则密文将发生改变。如果将选出列的顺序作为密钥,则密文将随着密钥的改变而发生变化。 置换密码比

11、较简单,对于已知明文攻击,很容易被攻破。但是,将置换技术同其他的技术结合起来,便能产生抗攻击性能非常好的密码算法。当前的许多密码算法都采用了置换技术。,34 序列密码 密码按加密方式不同可以分为序列密码与分组密码,序列密码是逐个字加密的,而分组密码是按字块加密的。 1 序列密码的工作原理 序列密码的工作原理非常直观。假设m =m0m1m2是一个待加密的明文序列(一般是二进制0,1序列),k = k0k1k2是一个与明文序列等长的二元(伪)随机序列,称为密钥序列,收发两端都事先知道密钥序列的内容,于是在序列密码中,用密钥序列k对明文序列m进行加密的过程是将k和m对应的分量进行简单的模2加,得到加

12、密后的密文序列 c = c0c1c2 即ci ( ki + mi)( mod 2 )。在接收端,合法的接收者的解密过程就是将密文序列c和密钥序列的对应分量进行简单的模2加。于是原来的明文序列就恢复出来了,因为 mi (ki +ci)(mod 2),其原理如图3.2和3.3所示。 明文序列m = m0m1m2 密文序列c = c0c1c2 密钥序列k = k0k1k2 图3.2 序列密码的加密过程,密文序列c = c0c1c2 明文序列m = m0m1m2 密钥序列k = k0k1k2 图 3.3 序列密码的解密过程,2 线性位移寄存器(LFSR) 从保密系统的Shannon理论和序列密码的工作

13、原理可知,序列密码保密的关键是如何高效地产生可靠的二元随机序列作为密钥序列,由于目前还没有有效地产生二元随机序列的实用方法,于是,一般都用伪随机二元序列作为密钥序列。 所谓伪随机序列就是貌似随机序列的序列,或者说很像随机序列的序列。线性移位寄存器就是能过产生一种伪随机序列的逻辑电路,它的工作原理如图3.4所示。 图3.4中,f (aj-n,aj-n+1,aj-1) = c0aj-1 c1aj-1 cn-1aj-n 是线性移位寄存器的反馈函数,或称反馈逻辑。下面的小方框代表寄存器,每个寄存器有两个状态:0或1。N称为线性移位寄存器的级数。当一个时间脉冲来临时,最左边一个寄存器的值输出,其余依次往

14、左移动一位,最右边的寄存器则接收反馈函数计算得到的值。当不断的有时间脉冲来临时,最左边输出一串二元伪随机序列a0a1a2 。,f (aj-n,aj-n+1,aj-1) 输出 aj-1 aj-2 aj-3 aj-n+1 aj-n 时间脉冲,例32 考虑图3.5的三级线性反馈移位寄存器。 f (aj-3,aj-2,aj-1) = c0aj-3 c1aj-2 c2aj-1 = aj-1 aj-1 f (aj-3,aj-2, aj-1) c0 = 1 c1 = 0 c2 = 1 aj-3 aj-2 aj-1 时间脉冲 图 3.5 3级线性移位寄存器,当j = 3时,取初值a0 = 0,a1 = 0,a

15、2 = 1;当j = 4时,一个时间脉冲到来,a0 = 0输出,a1 = 0移到最左边一个寄存器,a2 = 1移到第二寄存器,a3 = f (a0,a1,a2) = a0 a2 = 1送到第三个寄存器;当j = 5,6,即不断的有时间脉冲来临时,最左边就输出一串伪随机序列:001110100 。,3序列码的设计 虽然线性移位寄存器能够快速产生伪随机特性比较好的二元随机序列,但在实用中它还不能直接用作序列密码密钥序列,这主要是因为它的高度可以预测。因此,必须对线性移位寄存器输出序列进行适当的处理,这就是序列密码的设计问题。 1) 非线性组合序列密码 非线性组合序列密码的工作原理如图3.6所示。 图3.6中左边的n个小方框代表n个线性反馈移位寄存器,分别输出序列a1i, ,ani。右边大方框代表一个n元变量的非线性组合函数f (x1,x2,xn),它以n个线性反馈移位寄存器的输出序列为变量 bi = f (a1i,a2i,ani), i = 1,2, 这时序列bi就可作为密钥序列了。,a1i LFSR1 非 a1i 线 LFSR2 性 组 密 a1i 合 钥 L

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号