河南科技大学毕业论文设计
K1=k2=k3密钥K需通过安全的密钥通道由发送方传给接密变换EK1:p?c,由加密器完成,其中k1?k2;解密变换DK2:c?p密器完成,其中k1?k1。称五元组(P,c,K,E,D)为一保密系统。
如果一个密码体制的k1?k2,或由其中一个很容易推出另一个,钥密码体制或对称密码体制或传统密码体制(one- key Cryptosystem,其是美国的数据加密标准Desk(Data Encryption Standard):
a=?pa 其中
ap>=0 (3.2)
否则,称为双体制或非对称密码体制。进而,如果在计算上K2不能由K1推出,这公开也不会损害K2的安全,于是便可以将K1公开。这种密码体制称码体制(public一key Cryptosystem),其典型代表是Rosa密码体制。
根据对明文的划分与密钥的使用方法的不同可将密码体制分为分序列密码体制。
①分组密码是将明文M划分为一系列明文块M1,M2,…,Mn,通常若干字符,并且对每一块Mi都用同一个密钥Kill进行加密,即C=(C1,C2…,Cn)。
②序列密码将M划分为一系列的字符或位m1,m2,…,mn,并且对于这每一个mi用密钥序列KI=(Kl1,Kl2,…,Kln)的第I个分量Kli来加密,即C=(C1,C2,…,Cn),其中Ci=E(mi,kli),i=l,2,…,n分组密码一次加密一个明文块,而序列密码一次加密一个字符或一个位。两种密码在计算机系统中都有广泛应用。为了实现信息的保密性,抗击密码分析,保密系统应当满足下述要求:
①即使达不到理论上是不可破解的,也应当是实际上是不可破解的。也就是说,从截获的密文或某些己知明文密文对,要确定密钥或任意明文在计算上是不可行的;②保密系统的安全性应依赖于密钥,而不是依赖于密码体制或算法本身的
14
河南科技大学毕业论文设计
细节的安全性;③加密解密算法实用于所有密钥空间中的元素;④系统应该易于实现和使用方便。
2.2 古典密码体制
古典密码是密码学的渊源,这些密码都是由基于字符的密码算法构成的,可用手工或机械操作实现加解密。不同的密码算法是字符之间互相代换或者是互相置换,好的密码算法是结合这两种方法,每次进行多次运算。虽然现在己经很少采用了,但原理还是没变。重要的变化是算法对位而不是对字符进行变换,实质上这只是字母表长度的改变。
古典密码的基本运算有两种代替(substitution)和换位(Transposition)。代替是指每一个或一组字符被另一个或另一个或一组字符所取代;换位是不改变明文字符,而按一定规则重新安排字符次序。实际的密码算法是执行一系列这两种基本运算的不同组合,即得到所谓的乘积密码。
比较有名的古典密码包括J恺撒(Kaiser)密码、维吉利亚(viewers)密码、维尔南(Velma)、普莱费厄(pl即fair)密码和希尔(Hill)密码等。
2.3 对称密码体制
对称密码体制[10]又叫私钥密码算法,是指能够从解密密钥中推算出加密密钥,反过来也成立。在大多数的对称密码体制中,加密密钥和解密密钥的,它要求发送者和接收者在通信之前协商一个安全的密钥,因此有时码也称为单钥密码。单钥密码体制的安全性主要取决于算法和密钥的长漏密钥就意味着任何人都能对
15
河南科技大学毕业论文设计
消息进行加、解密。
对称密码体制不仅可以用于数据加密,也可以用于消息认、证。但是码体制存在着严重的缺陷:在进行安全通信之前,通信的双方必须通过道商定和传送密钥,而在实际的通讯网中,通信双方很难确定一条合理通道;另外一个问题就是密钥的管理。在拥有大量用户的计算机通信网个相互进行保密通信的用户需要N(N一1)/2个密钥;当N值比较大的钥管理的开销极大,密钥只能记录在计算机内存或外存上,这.本身就是全的。 分组密码一般的设计原则包括:
①分组长度n要足够大,使分组代替字母表中的元素个数2n足够大明文穷举攻击法奏效。
②密钥量要足够大(即置换子集中的元素足够多),尽可能消除弱密钥有密钥无特殊性可分析,以防止密钥穷举攻击奏效。但密钥又不能过长于密钥的管理。 ③由密钥确定代替的算法要足够复杂,充分实现明文和密文的扩散没有简单的关系可循,要能抗击各种己知的攻击,如差分攻击和线性攻 ④加密和解密运算简单,易于软件和硬件的快速实现。
⑤数据扩展。一般无数据扩散,在采用同态置换和随机化加密技术入数据扩展。⑥差错传播尽可能地小。
为了抗击统计分析破译法,需要实现三条要求,Shannon曾建议采用扩散 (Diffusion)和混淆(confusedly)法。所谓扩散,就是将明文及密钥的每一位数字的影响尽可能迅速地扩散到输出密文的较多个数字中,以便隐蔽明文数字的统计
16
河南科技大学毕业论文设计
特性。在理想情况下,明文的每一位bit和密钥的每一bit应影响密文的每一bit即实现所谓的“完备性”。Sharman提出的“混淆”概念目的在于使作用于文明的密钥和密文之间的关系复杂化,使明文和密文之间、密文和密钥之间的统计相关性极小化,从而使统计分析攻击法不能奏效。扩散和混淆原则是设计分组密码的基本准则,到达良好的扩散和混淆效果是分组密码设计的核心问题Shannon还提出了“乘积”的方法,所谓“乘积密码”,是将若干个密码复合。例如,设有两个子密码T和S,我们先以T对明文进行加密,然后再以S对所得的结果进行加密,则乘积密码可表示为F二ST。利用这种方法常可将简单易于实现的密码组合成复杂的更为安全的密码。分组密码的特点是将明文消息编码后的数字序列在密钥的控制下变换成等长的数字序列。分组密码的输入输出序列长度预先己确定(一般二者相等),故从本质上看,这种密码可看作是字长为分组长度的数字序列的代换密码。
著名的数据加密标准(Data Encryption Standard,DES)是分组密码家族的一个成员,它作为世界范围的标准己经有20多年的历史了。其他比较有名的分组密码算法还有国际数据加密算法(IDEA)Ghost算法等。
2.3.1 DES (Data Encryption Standard)
数据加密标准DES(Data Encryption standard)算法由IBM公司开发,并被美国国家标准局困(NIST)于1977年2月采纳作为“非密级”应用的一个标准,此后, DES成为全世界使用最广泛的加密标准。DES是迄今为止最为广泛应用的一种加密算法,也是最具代表性的一种分组密码体制。DES对于推动密码理论的发展
17
相关推荐: