计算机网络安全技术_第1页
计算机网络安全技术_第2页
计算机网络安全技术_第3页
计算机网络安全技术_第4页
计算机网络安全技术_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络安全技术第一页,共七十页,编辑于2023年,星期五密码按目的来分,可分为密码编码学和密码分析学。密码分析学的基本任务是研究如何破译加密的消息或者伪造消息;密码编码学的基本目的就是要伪装消息,就是要对给定的有意义的数据进行可逆的数学变换,将其变为表面上杂乱无章的数据,使得只有合法的接收者才能恢复原来有意义的数据,而其余任何人都不能恢复原来的数据。变换前有意义的数据称为明文,所有可能的明文组成的集合称为明文空间。变换后的数据称为密文,所有可能的密文组成的集合称为密文空间。对明文数据进行可逆变换的过程称为加密过程,其变换称为加密变换,加密由一个参数k1控制,这个参数称为加密密钥。恢复明文的过程称为解密过程,其变换称为解密变换,它由一个参数k2控制,这个参数称为解密密钥。如果加密密钥k1与解密密钥k2是相同的(或者从k1很容易推导出k2),统称为k,这种密码体制称为对称密码体制,这是传统的加密体制。如果加密密钥k1与解密密钥k2不相同,则称为非对称密码体制,非对称密码体制也就是公开密钥密码体制。第二页,共七十页,编辑于2023年,星期五3.2保密系统的Shannon模型1.保密系统的Shannon模型图3.1是保密系统的Shannon模型,n元数组xn=(x1,x2

,xn)是明文,n元数组yn=(y1,y2

,yn)是在公开信道上传送的密文,也就说任何人都可得到这些密文,n元数组kn=(k1,k2

,kn)是通过安全信道传送给接收者的密钥,敌方密码分析者无法获得该密钥。加密器的任务就是对明文m施以加密变换得到密文cc=Ek(m)解密器的任务就是对所接受到的密文实行解密变换获得明文m’=Dk(c)=Dk(Ek(m

))由于加密变换、解密变换是依赖于密钥k的一对可逆的数学变换,因此

m’=m从而完成保密通信。第三页,共七十页,编辑于2023年,星期五

密码分析者

发送者加密器EK

解密器DK

接收者

密钥源

图3.1保密系统的Shannon模型第四页,共七十页,编辑于2023年,星期五例3.1一次一密密码体制。设明文是一串二进制数据:m=(0110010011)2

,设k也是一串同样长度的二进制数据:k=(0111001001)2。在A,B两方通信前,A首先通过安全信道(比如信使)把密钥送给B,现在A要把明文m通过公开信道送给B,A先对m施行加密变换c=Ek(m)=mk=(0110010011)2(0111001001)2

=(0001011010)2向量的模2加是指每个向量的分量进行模2加。B收到c后,用事先A传送给它的密钥k进行解密。

m’=Dk(c)=ck=(0001011010)2

(0111001001)2=(0110010011)2=m从而B获得明文m。而任何获得密文c的密码分析者由于没有密钥k,因此也就无法获得正确的明文。第五页,共七十页,编辑于2023年,星期五2.理想保密与完善保密从上面Shannon模型可以看出,保密的关键是密钥。任何人只要获得通信密钥,就能正确地恢复明文。设明文xn=(x1,x2,,xn),密文为yn=(y1,y2,,yn),密钥为k,如果对所有的n有I(xn;yn)=0,即对所有n,xn与yn统计独立,从yn得不到任何关于xn的信息,这种密码体制是完善保密的。前面介绍的一次一密的密码体制由于每一次的密文与其他密钥无关,以而任何时候得到yn与其他xn无关,所以是完善保密的。如果

0I(xn;yn)H(xn)即yn包含有xn的信息,这时可以推得H(kyn)0,即无论n有多大,已知密文yn

,k还是不确定的。没有确定的密钥就不能正确地解密,恢复明文。这种密码体制称为理想保密。

第六页,共七十页,编辑于2023年,星期五3.3古典加密技术虽然按照近代密码学的观点来看,许多传统古典密码很不安全,或者说很容易破译。由于编制古典密码的基本方法对于编制近代密码仍然有效。本节将介绍几种著名的古典密码。几乎所有的传统加密用到两种基本技巧:代换和置换。代换法是将明文字母替换成其他字母、数字和符号的方法。若把明文看作是二进制序列,则代换就是用密文位串来代替明文位串。下面分别介绍则两种密码。

第七页,共七十页,编辑于2023年,星期五1代换密码11)

凯撒(Caesar)密码这是最早的代换密码。凯撒密码是每一字母向前推移k位。例如k=5便有明文和密文对应关系如下:明文:ab cde fgh Ijk lmn o 密文:FG HIJ KLM NOP QRS T明文:pq rst uvw xyz密文:UV WXY ZAB CDE例如: 明文:dayafterday

密文:IFDFKYJWIFD不同的k可以得到不同的密文。如果让每一个字母等价一个数字,如下所示:

第八页,共七十页,编辑于2023年,星期五abcdefghijklm12345678910111213nopqrstuvwxyz14151617181920212223242526则凯撒密码变换实际上是

c≡(m+k)mod(26)其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数。也称为密钥。例如networksecurity对应于数据序列14520231518111953211892025k=3时得密文序列

17823261821142286242112232对应的密文为

QHWZRUNVHFXULWB第九页,共七十页,编辑于2023年,星期五2)单表代换密码单表代换又称为简单代替密码。只需使用一个密文字母表,并且用密文字母表中的一个字母来代替一个明文字母表中的一个字母。设A和B分别为含n个字母的明文字母表和明文字母表:

A={a0,a1,…,an} B={b0,b1,…,bn}定义一个由A到B的一一映射:f:A→B f(ai)=bi设明文M=(a0,a1,…,an-1),则C=(f(m0),f(m1),…,f(mn-1))。可见,简单代替密码的密钥就是映射函数f或密文字母表B。第十页,共七十页,编辑于2023年,星期五2置换密码

把明文中的字母重新排列,字母本身不变,但其位置发生改变,这样变换的密码称为置换密码。最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文。例:明文:NETWORKSECURITY密文:YTIRUCESKROWTEN仅仅采用倒序的方法,其抗攻击性的能力显得很弱。另一种方法是将明文按某一顺序排成一个矩阵,然后按另一顺序选出矩阵中的字母以形成密文,最后分成固定长度的字母组作为密文。第十一页,共七十页,编辑于2023年,星期五例如:明文:CRYPTOGRAPHYANDNETWORKSECURITY矩阵:CRYPTOGRAPHYANDNETWORKSECURITY选出顺序:按列选出密文:CGAWCRRNNOUYADRRPPNKITHESTOYTEY如果矩阵的行列数量或者选出列的顺序发生变换,则密文将发生改变。如果将选出列的顺序作为密钥,则密文将随着密钥的改变而发生变化。置换密码比较简单,对于已知明文攻击,很容易被攻破。但是,将置换技术同其他的技术结合起来,便能产生抗攻击性能非常好的密码算法。当前的许多密码算法都采用了置换技术。第十二页,共七十页,编辑于2023年,星期五3.4序列密码

密码按加密方式不同可以分为序列密码与分组密码,序列密码是逐个字加密的,而分组密码是按字块加密的。

1.

序列密码的工作原理序列密码的工作原理非常直观。假设m=m0m1m2是一个待加密的明文序列(一般是二进制0,1序列),k=k0k1k2是一个与明文序列等长的二元(伪)随机序列,称为密钥序列,收发两端都事先知道密钥序列的内容,于是在序列密码中,用密钥序列k对明文序列m进行加密的过程是将k和m对应的分量进行简单的模2加,得到加密后的密文序列

c=c0c1c2即ci≡(ki+mi)(mod2)。在接收端,合法的接收者的解密过程就是将密文序列c和密钥序列的对应分量进行简单的模2加。于是原来的明文序列就恢复出来了,因为

mi≡(ki+ci)(mod2)第十三页,共七十页,编辑于2023年,星期五其原理如图3.2和3.3所示。

明文序列m=m0m1m2

密文序列c=c0c1c2

密钥序列k=k0k1k2

图3.2序列密码的加密过程第十四页,共七十页,编辑于2023年,星期五密文序列c=c0c1c2

明文序列m=m0m1m2

密钥序列k=k0k1k2

图3.3序列密码的解密过程第十五页,共七十页,编辑于2023年,星期五

2.

线性位移寄存器(LFSR)从保密系统的Shannon理论和序列密码的工作原理可知,序列密码保密的关键是如何高效地产生可靠的二元随机序列作为密钥序列,由于目前还没有有效地产生二元随机序列的实用方法,于是,一般都用伪随机二元序列作为密钥序列。所谓伪随机序列就是貌似随机序列的序列,或者说很像随机序列的序列。线性移位寄存器就是能过产生一种伪随机序列的逻辑电路,它的工作原理如图3.4所示。图3.4中,f(aj-n,aj-n+1,,aj-1)=c0aj-1

c1aj-1

cn-1aj-n

是线性移位寄存器的反馈函数,或称反馈逻辑。下面的小方框代表寄存器,每个寄存器有两个状态:0或1。N称为线性移位寄存器的级数。当一个时间脉冲来临时,最左边一个寄存器的值输出,其余依次往左移动一位,最右边的寄存器则接收反馈函数计算得到的值。当不断的有时间脉冲来临时,最左边输出一串二元伪随机序列a0a1a2

。第十六页,共七十页,编辑于2023年,星期五

f(aj-n,aj-n+1,,aj-1)

输出

aj-1aj-2aj-3

aj--n+1aj-n

时间脉冲

第十七页,共七十页,编辑于2023年,星期五例3.2考虑图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=1c1=0c2=1aj-3aj-2

aj-1

时间脉冲

图3.53级线性移位寄存器第十八页,共七十页,编辑于2023年,星期五当j=3时,取初值a0=0,a1=0,a2=1;当j=4时,一个时间脉冲到来,a0=0输出,a1=0移到最左边一个寄存器,a2=1移到第二寄存器,a3=f(a0,a1,a2)=a0

a2=1送到第三个寄存器;当j=5,6…,即不断的有时间脉冲来临时,最左边就输出一串伪随机序列:001110100…。第十九页,共七十页,编辑于2023年,星期五

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}就可作为密钥序列了。第二十页,共七十页,编辑于2023年,星期五

{a1i}LFSR1

{a1i}

线

LFSR2

组密

{a1i}合钥

LFSRn

器流

{bi}

明文密文

图3.6非线性组合序列密码第二十一页,共七十页,编辑于2023年,星期五

2)

馈序列密码和钟控序列密码除了前面介绍的非线性组合序列密码外,还有前馈序列密码和钟控序列密码,他们的工作原理同非线性组合密码比较类似,这里仅列出其工作原理框图,如图3.7和图3.8所示。

LFSR2{bi}-cn-cn-1-c1LFSR1

采样函数Saiai+1ai+n-1

密钥序列{ui}

非线性前馈函数f明文m

密文c

密钥序列{bi}图3.8中控序列密码明文序列m

密文序列c

图3.7前馈序列密码

第二十二页,共七十页,编辑于2023年,星期五

1.分组密码的工作原理分组密码的工作原理不像序列密码那用直观,它首先将明文分成相同长度的比特块,然后分别对每个比特块加密产生一串密文块。解密时,对每个密文块进行解密得到相应的明文比特块,将所有的明文块合并起来即得到明文。如图3.9所示。

1)数据加密标准数据加密标准,DES(DataEncryptionStandard),它是分组密码的一个典型代表。1974年,美国国家标准局(NBS)向全社会公开征集一种用于政府非机密数据的加密算法。IBM公司提出了一种称为LUCIFER的算法,在此基础上,经过一段时间的修改与简化,美国国家标准局于1977年正式颁布了这个算法,称为数据加密算法DES,用作政府及商业部门的非机密数据加密标准。第二十三页,共七十页,编辑于2023年,星期五

密钥k

明文m=m0m1m2

密文c=c0c1c2…Ek

密钥k

密文c=c0c1c2…明文m=m0m1m2Dk

图3.9分组密码的工作原理第二十四页,共七十页,编辑于2023年,星期五(1)DES的结构图DES用56位密钥加密64位明文,输出64位密文,它的加密过程如图3.10所示。设输入64比特明文,先对输入的64比特明文进入初始置换IP(见表3.1),置换后明文58比特变为第一位,第50比特变为第二位,等等,将新得到的64比特左边的32位记为L0,右边的32比特记为R0

。经16圈处理后,在经逆初始置换IP-1(见表3.2)产生最后的64比特输出密文。第二十五页,共七十页,编辑于2023年,星期五表3.1初始置换IP

表3.2逆初始置换IP-15850423426181024084816562464326052443628201243974715552363316254463830221463864614542262306456484032241683754513532161295749413325179136444125220602859514335271911335343115119592761534537292113534242105018582663554739312315733141949175725第二十六页,共七十页,编辑于2023年,星期五加密过程可用数学公式表示如下:

下面对加密过程的函数f作详细地描述。首先将Ri-1的32比特膨胀为48比特的向量,膨胀方法见比特选择表E(见表3.3),然后将这48比特向量与48比特向量Ki(子密钥)进行模2加,得出一个48比特向量,将最后的48比特向量分成8部分,每组6比特分别输出到8个S盒S1,S2,…,S8中。每个S盒是一个4行、16列的表。盒中的每一项都是4比特的数。S盒的6比特输入确定了其对应的输出在那一行、那一列。表3.5表明了8个S盒的结构。第二十七页,共七十页,编辑于2023年,星期五

64比特输入初始置换IPL0R0K1

fL1=R0R1=L0⊕f(R0,K1)K2

f

第二十八页,共七十页,编辑于2023年,星期五

L2=R1R2=L1⊕f(R1,K2)

L15=R14R15=L14⊕f(R14,K15)K16

fR16=L15⊕f(R15,K16)L16=R15

逆初始置换IP-164比特输出

图3.10DES加密算法第二十九页,共七十页,编辑于2023年,星期五

表3.3比特选择表E

表3.4置换P32123451672021456789291228178910111213115232612131415161751831101617181920212824142021222324253227392425262728291913306282930313212211425

第三十页,共七十页,编辑于2023年,星期五最后所有S盒输出的32比特经置换P(见表3.4)后,形成函数f(Ri-1,Ki)的32比特输出(见图3.11)。

Ri-1

比特选择E

ki

S1S2S3S4S5S6S7S8

置换P

f(Ri-1,Ki)

图3.11函数f(Ri-1,Ki)的计算第三十一页,共七十页,编辑于2023年,星期五

表3.5S盒的结构

012345678910111213141501441312151183106125907S11015741421311061211953824114813621115129731050315128249175113141006301518146113497213120510S213134715281412011069115201471110413158126932153138101315421167120514901009146315511312711428S3113709346102851412111512136498153011121215101473110130698741514311521207131430691012851112415S4113811561503472121101492106901211713151314528433150610113894511127214第三十二页,共七十页,编辑于2023年,星期五

02124171011685315130149S511411212471315015103986242111101378159125630143118127114213615091045301211015926801334147511S611015427129561131401138291415528123704101131163432129515101114176081304112141508133129751061S711301174911014351221586214111312371410156805923611138141079501514231201328461511110931450127S8111513810374125611014922711419121420610131535832114741081315129035611第三十三页,共七十页,编辑于2023年,星期五(2)子密钥的产生实际上,K是长度为64的比特串,其中56比特是密钥,8比特是奇偶校验位(为了检错),奇偶校验位分布在与8、16、…64位置上。56位密钥经过置换选择1、循环左移、置换选择2等变换,产生16个子密钥,子密钥产生过程见图3.12。产生每个子密钥所需的循环左移见表3.6

表3.6循环左移位数表圈i12345678910111213141516LS(i)1122222212222221第三十四页,共七十页,编辑于2023年,星期五

KPC-1

C0D0

LS(1)LS(1)

C1D1PC-2K1LS(2)LS(2)

C2D2PC-2K2

┇┇LS(16)LS(16)

C16D16PC-2K16

图3.12子密钥产生的结构图第三十五页,共七十页,编辑于2023年,星期五置换选择1(PC-1)规定C0的各位依次为密钥的第57,49,…44,36位,D0的各位依次为密钥中的第63,55,…12,4位,具体见表3.7。置换选择2从Ci和Di(其56位)中选择出一个48位子密钥Ki,其中Ki中的各位依次是Ci和Di中的14,17,…29,32位。具体见表3.8。

表3.7PC-1

表3.8PC-2574941332517914171124151585042342618328156211010259514335272319124268191136052443616727201326355473931231541523137475576254463830223040514533481466153453729444939563453211352820124464250362932DES的解密与DES的加密一样,只不过是子密钥的顺序相反,:K16—K1。

第三十六页,共七十页,编辑于2023年,星期五(3)关于DES的实际应用虽然DES的描述是相当长的,但它能以硬件或软件的方式非常有效的实现。需完成的运算仍为比特异或。扩展函数E,S盒、置换IP和P以及K16—K1的计算都能在一个固定的时间内通过查表(以软件或电路)来实现。DES的一个非常重要的应用是银行交易。在银行交易中使用了美国银行协会开发的标准。DES用于加密个人身份识别号(PIN)和通过自动取款机(ATM)进行的记账交易。票据交易所内部银行支付系统(HIPS)用DES来鉴别每周的交易。第三十七页,共七十页,编辑于2023年,星期五2)DES的评价与改进(1)对DES的评价自从DES公布以来,它一直超越国界,成为国际商业保密通信和计算机通信的最常用的加密算法,二十多年以来,一直活跃在国际数据保密通信的舞台上,扮演着十分重要的角色。

DES加密法的保密性到底如何,早在DES被正式公布为加密标准之前,就展开了热烈的讨论。由于目前无一个加密系统性能的统一标准和严格的理论,因此人们只能从一个加密系统抵抗现有解密手段的能力来评价他的好坏。自1975年以来,美国的许多机构、公司和学者,包括国家保密局(NSA)、NBS、IBM公司、BELL实验室和一大批著名的密码学专家都对DES进行了大量的研究和试验,对DES进行了全面考察,认为他的保密性良好。80年代中期,人们看到DES算法迭代次数少,密钥长度短,其代替函数Si中可能有不安全因素,因而曾有过不少批评。甚至有人还想取消他。

第三十八页,共七十页,编辑于2023年,星期五1984年,美国国家安全局决定研制新的数据加密标准CCEP,但从发展趋势上来看,CCEP是按封闭原则管理的,应用范围有限,不再具有技术上的开放性和使用上的灵活性,因此受到金融界的强烈反对。由于反对呼声很高,美国政府不得不于1987年初废除了1984年签署的CCEP取代DES加密标准的命令。目前,已有DES的软件、硬件产品,他们在各种加密算法产品中占有很大比重。因而最具代表性、影响力最大、应用最广泛。进入90年代以来,以色列密码学家Shamir等人提出了“差分分析法”,以后日本人提出“微分分析法”,1993和1994年的世界密码学大会又提出了“线性分析法”破译密码,使DES受到了严重的威胁。1997年6月17日晚美国盐城的MichaelSanders终于用一台速度为90MHz的奔腾机解出了DES的56位密钥,使DES算法受到历史上第一次严重打击,使它的安全性受到严重威胁。第三十九页,共七十页,编辑于2023年,星期五(2)DES算法的改进虽然DES算法存在一些潜在的弱点,但至今从未真正被攻克过。人们针对DES的不足对DES作了不少改进。例如增加密钥长度、扩大数据块或增多循环次数,经常变换密钥等。首先,DES算法提出的几种工作模式具有不同的保密性能,使用时可以根据实际需要予以采用。DES加密时,有ECB、CBC和CFB三种工作模式。其中,ECB(ElectronieCodeBook)是数据块加密模式,每个数据块之间的加密是独立的。CBC(CipherBlockChaining)和CFB是数据流加密模式,且CBC模式采用带反馈的加密,其数据块之间的加密不再独立,加密后的密文前部分用来参与报文后面部分的加密,其保密和抗分析性能明显的优于ECB模式,应用广泛。其次,经常变换DES密钥,可以增强DES密文的保密强度。改进后的DES算法,使用公开密钥加密DES密钥,如使用RSA公开密钥加密方法作为加固的工具。第四十页,共七十页,编辑于2023年,星期五第三,对DES算法进行变换,例如,利用加密过程的随机因数,对DES的8个S盒进行置换;对明文按64位分组,并采用分组反馈链接式,或密码反馈模式,进行加密和解密;采用三重DES加密后解密技术等。三重DES加密是采用了把不同的DES密钥对数据连续加密三次,等于使用两个56位密钥对64位明文进行加密。密钥长度每增加一位,密钥总数就会翻一番。能有效的防止对密钥的穷尽搜索。其加密算法的具体步骤如下:(1)

用密钥K1对64位明文进行DES加密。(2)

对(1)加密的结果,用密钥K2进行DES解密。(3)

对(2)的结果是用密钥K1,再进行DES加密。这个加密过程称为EDE,即加密/解密/加密过程,其加密流程如图3.13所示。

第四十一页,共七十页,编辑于2023年,星期五mDESDESDESccDES-1DES-1DES-1m

k1k2k1k1k2k1

图3.13三重DES加密算法框图图3.14三重DES解密过程三重DES加密的运算量是普通DES的3倍,加密时间也是DES的3倍,当K1=K2时,其加密效果与单次DES相同,其攻击的复杂度从O(Z56)增至O(Z112)。三重DES解密过程如图3.14所示。第四十二页,共七十页,编辑于2023年,星期五2.IDEA数据加密DES数据加密标准的出现在近代密码学的历史上是一件大事,它即将走完自己发展历程,面临着更新与提高。近年来,分组密码新的算法不断涌现,IDEA是其中的佼佼者。IDEA是InternationDataEnorypionAlgorithm的缩写,即国际数据加密算法,是由中国学者来学嘉博士与著名的密码学家JamasMassey于1990年联合提出的,后经修改于1992年完成。他的明文和密文都是64比特,但密钥长为128比特。加密和解密也是相同的,只是密钥各异。不论软件或硬件实现都不难。加密和解密速度都非常快。1)IDEA加密算法IDEA加密算法如图3.15所示。64比特的数据分成4个子块,每一字块16比特,令这4个子块为X1、X2、X3和X4作为迭代第一轮的输入,全部共8轮迭代,每轮迭代都是4个子块彼此间以16比特的子密钥进行与或运算,modZ16作加法运算,mod(Z16+1)作乘法运算。任何一轮迭代第3和第4子块互换,每一轮迭代运算步骤如下:第四十三页,共七十页,编辑于2023年,星期五

X1X2X3X4

Z1(1)

Z2(1)

Z3(1)

Z4(1)+++Z5(1)

++Z6(1)

++++

┇┇┇

Z1(9)

Z2(9)+Z3(9)+Z4(9)

Y1Y2Y3Y4第四十四页,共七十页,编辑于2023年,星期五(1)

X1和第1个子密钥块作乘法运算。(2)

X2和第2个子密钥块作加法运算。(3)

X3和第3个子密钥块作加法运算。(4)X4和第4个子密钥块作乘法运算。

(5)

(1)和(3)的结果作与或运算。(6)

(2)和(4)的结果作与或运算。(7)

(5)的结果与第5子密钥块作乘法运算。(8)

(6)和(7)的结果作加法运算。(9)

(8)的结果与第6个字密钥块作乘法运算。(10)

(7)和(9)的结果作加法运算。(11)

(1)和(9)结果作与或运算。(12)

(3)和(9)的结果作与或运算。(13)

(2)和(10)的结果作与或运算。(14)

(4)和(10)的结果作与或运算。第四十五页,共七十页,编辑于2023年,星期五结果的输出为(11),(13),(12),(14)。除最后一轮外,第2和第3块交换。第8轮结束后,最后输出的变换有:(1)

X1和第1子密钥块作乘法运算。(2)

X2和第2子密钥块作加法运算。(3)

X3和第3子密钥块作加法运算。(4)

X4和第4子密钥块作乘法运算。子密钥块的产生过程也很容易,子密钥块每轮6个,最后输出变换4个,共52个。首先将128比特的密钥分成8个子密钥,每个子密钥16比特,这8个子密钥正好是第一轮的6个和第2轮的前两个。将子密钥左旋转25比特,再将他们分成8个子密钥,前4个是第2轮的子密钥,后4个是第3轮的。将子密钥再旋转25比特,产生后8个子密钥。以此类推。直到算法结束。第四十六页,共七十页,编辑于2023年,星期五2)IDEA解密算法解密密钥和加密密钥的对应关系如表3.9所示。这里Z-1表示Zmod(Z16+1)乘法的逆。即

Z⊙Z-1=1-Z表示Zmod(Z16)加法的逆,即

Z(-Z)=03)IDEA算法的保密强度IDEA的密钥长是DES的两倍,2128=340281038。而采用强行攻击法对付IDEA将是对付用同样方法DES的264,即1.81019。当然,有许多科研单位和军事部门对IDEA进行攻击,单独没有成功,看起来是安全的,是很有希望的一种密码体制。

第四十七页,共七十页,编辑于2023年,星期五

表3.9IDEA加密与解密密钥的对应关系

轮次加密子密钥块解密子密钥块

1Z1(1)Z2(1)Z3(1)Z4(1)Z5(1)Z6(1)(Z1(9))-1-Z2(9)-Z3(9)(Z4(9))-1Z5(8)Z6(8)2Z1(2)Z2(2)Z3(2)Z4(2)Z5(2)Z6(2)(Z1(8))-1-Z2(8)-Z3(8)(Z4(8))-1Z5(7)Z6(7)3Z1(3)Z2(3)Z3(3)Z4(3)Z5(3)Z6(3)(Z1(7))-1-Z2(7)-Z3(7)(Z4(7))-1Z5(6)Z6(6)4Z1(4)Z2(4)Z3(4)Z4(4)Z5(4)Z6(4)(Z1(6))-1-Z2(6)-Z3(6)(Z4(6))-1Z5(5)Z6(5)5Z1(5)Z2(5)Z3(5)Z4(5)Z5(5)Z6(5)(Z1(5))-1-Z2(5)-Z3(5)(Z4(5))-1Z5(4)Z6(4)6Z1(6)Z2(6)Z3(6)Z4(6)Z5(6)Z6(6)(Z1(4))-1-Z2(4)-Z3(4)(Z4(4))-1Z5(3)Z6(3)7Z1(7)Z2(7)Z3(7)Z4(7)Z5(7)Z6(7)(Z1(3))-1-Z2(3)-Z3(3)(Z4(3))-1Z5(2)Z6(2)8Z1(8)Z2(8)Z3(8)Z4(8)Z5(8)Z6(8)(Z1(2))-1-Z2(2)-Z3(2)(Z4(2))-1Z5(1)Z6(1)输出变换Z1(9)Z2(9)Z3(9)Z4(9)(Z1(1))-1-Z2(1)-Z3(1)(Z4(1))-1第四十八页,共七十页,编辑于2023年,星期五

3.基于神经网络混沌序列的对称加密方法混沌神经网络模型最早是根据生物神经元的混沌特性于上世纪90年代由K.Aihara,T.Takabe和M.Toyoda等人首次提出来的,它具有非常丰富和复杂的非线性动力学特性,特别是它的混沌动力学特性,它不仅能产生无法预料的伪随机序列轨迹,而且是一个非常复杂难解的NP问题;与以寄存器为基础的序列加密法相比,混沌神经网络在序列周期、随机统计性以及线性复杂度方面均有优势,因而这种混沌加密算法的安全性比以位移寄存器为基础的序列加密算法要高。此外,由于神经网络是一个高速并行运算的网络,只要用集成电路来直接实现它的并行运算方式,其加密算法就可实现实时加密通信,可以满足现代网络实时通信的要求。第四十九页,共七十页,编辑于2023年,星期五1)

加密方案(1)混沌神经网络密性K.Aihara,T.Takabe和M.Toyoda等人所提出的混沌神经网络第i个混沌神经元的动力学模型描述如下:以上公式中yi(t+1)为离散时刻(t+1)是第i个混沌神经元的内部状态,xi(t+1)为第i个混沌神经元在离散时刻(t+1)的输出,fi为第个i神经元的连续输出函数,M为网络中混沌神经元的个数,Wij为第j个混沌神经元与第i个混沌神经元之间的连接权值,hj为第j个混沌神经元的轴突变换传输函数,N为外部输入的个数,Vij为第j个输入与第i个混沌神经元之间的连接权值,Ij(t)为离散时刻(t)时第j个外部输入的强度,gi为第个i混沌神经元的不应性函数,k为不应性衰减系数,α为自反馈系数,一般为一正数,θi为第个i混沌神经元的全或无激发阈值。

第五十页,共七十页,编辑于2023年,星期五该模型具有十分丰富而又复杂的非线性动力学特性,如在较大范围内具有复杂的混沌行为,对初始条件敏感等。为了便于分析,将公式进行具体化的定义,不失一般性,对所有神经元,将函数h和g定义为h(x)=g(x)=x,函数f定义为符号函数,即:令θi=0,α=1则上面第一式变为:

第五十一页,共七十页,编辑于2023年,星期五

(2)加密方案

基于混沌神经网络的加密通信方案示意图如图3.16所示,在3.16(a)加密过程中要传送的明文首先被转换为二进制数字,然后分组,分组的大小与混沌神经元的数目一致,最后一组如果不够,则用1来填充;每块明文分两路,一路将该明文分组进行逆序,作为取模运算的一个输入;另一路作为混沌神经网络的外部输入,在t时刻的明文分组作为混沌神经网络的(t+1)的外部输入Ij(t+1)(t=1,2,…M);混沌神经网络在输入密钥后产生与明文分组等比特的随机序列,与逆序后的明文块进行逐比特取模运算,形成明文流,对密文采用安全Hash函数算法进行安全认证,然后经数字调制后在不安全的信道上传输。而在图(b)中,解密过程正好相反。第五十二页,共七十页,编辑于2023年,星期五明

分组

逆文

填充

SHA

算法

认证

密钥

混沌神经网络

(a)信息加密流程

SHA密

拼接

算法

认证

删除

混沌

密钥

神经

网络

(b)信息解密流程图3.16基与混沌神经网络的加密通信方案第五十三页,共七十页,编辑于2023年,星期五例如以M=8为例,明文字符A转换成二进制为(00100000),逆序后变为(00000100),设此时神经网络的输出为(10101010)则对应逐比特取模后变为(10101110),作为密文输出,经SHA算法认证才发出;在接受方,接受方得到密文(10101110)后,先进行SHA算法认证,如在传输中密文被篡改,则拒收此密文;若无,则进行下一步的处理,与此时的神经网络的输出(10101010)逐比特取模,变为(00000100),再逆序后变为(00100000),将二进制码转换成ASCII字符A,从而获得明文。将明文分组逆序的目的主要是增加密文的混乱性,使得在密文中不可能直接显示出相应的明文符号,让密文与明文之间更接近是两个独立事件,以提高密文的熵,增强抗唯密文攻击力。第五十四页,共七十页,编辑于2023年,星期五混沌神经网络加密算法的密钥由两部分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论