您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 信息安全概论-第2章-信息保密技术
第2章信息保密技术密码学密码学是一门研究秘密信息的隐写技术的学科;密码学技术可以使消息的内容对(除发送者和接收者以外的)所有人保密;可以使接收者验证消息的正确性;是解决计算机与通信安全问题重要技术。密码学相关学科密码学(Cryptology)是研究信息系统安全保密的科学密码编码学(Cryptography)主要研究对信息进行编码,实现对信息的隐藏密码分析学(Cryptanalytics)主要研究加密消息的破译或消息的伪造密码学的发展密码学的历史比较悠久,在四千年前,古埃及人就开始使用密码来保密传递消息。两千多年前,罗马国王JuliusCaesar(恺撒)就开始使用目前称为“恺撒密码”的密码系统。但是密码技术直到20世纪40年代以后才有重大突破和发展。特别是20世纪70年代后期,由于计算机、电子通信的广泛使用,现代密码学得到了空前的发展。第一阶段是1949年之前,密码学是一门艺术,这阶段的研究特点是:1.密码学还不是科学,而是艺术2.出现一些密码算法和加密设备3.密码算法的基本手段出现,主要针对字符4.简单的密码分析手段出现,数据的安全基于算法的保密。该阶段具有代表性的事件是:1883年Kerchoffs第一次明确的提出了编码的原则:加密算法应建立在算法的公开且不影响明文和密钥的安全的基础上。这个原则得到广泛承认,成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。第二阶段是1949-1975年,密码学成为一门独立的科学,该阶段计算机的出现使基于复杂计算的密码成为可能。主要研究特点是:数据安全基于密钥而不是算法的保密。第三阶段是1976年以后,密码学中公钥密码学成为主要研究方向,该阶段具有代表性的事件是:1976年,Diffie和Hellman提出了不对称密钥。1977年,Rivest,Shamir和Adleman提出了RSA公钥算法。1977年,DES算法出现。80年代,出现IDEA和CAST等算法。90年代,对称密钥密码算法进一步成熟,Rijndael,RC6等出现,逐步出现椭圆曲线等其他公钥算法。2001年,Rijndael成为DES算法的替代者。2004年8月,山东大学信息安全所所长王小云在国际会议上首次宣布了她及她的研究小组对MD5、HAVAL-128、MD4和RIPEMD等四个著名密码算法的破译结果,引起世界轰动。这阶段的主要特点是:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。术语明文(plaintext):需要被隐蔽的消息密文(cipertext):明文经变换形成的隐蔽形式加密(encryption):从明文到密文的变换过程解密(decryption):从密文恢复到明文的过程。术语变换函数所用的一个控制参数称为密钥(key)加密和解密算法的操作通常是在一组密钥控制下进行的,分别称为加密密钥和解密密钥。密钥未知情况下进行的解密推演过程,称为破译,也称为密码分析或者密码攻击。消息和加密遵循国际命名标准,加密和解密可以翻译成“Encipher”(译成密码)和“Decipher(解译密码)。也可以这样命名:“Encrypt”(加密)和“Decrypt”(解密)。消息被称为明文,用某种方法伪装消息以隐藏它的内容的过程称为加密,加了密的消息称为密文,而把密文转变为明文的过程称为解密。图2-1表明了加密和解密的过程。加密解密明文密文原始明文明文用M(Message,消息)或P(Plaintext,明文)表示,它可能是比特流、文本文件、位图、数字化的语音流或者数字化的视频图像等。密文用C(Cipher)表示,也是二进制数据,有时和M一样大,有时稍大。通过压缩和加密的结合,C有可能比P小些。加密函数E作用于M得到密文C,用数学公式表示为:E(M)=C。解密函数D作用于C产生M,用数据公式表示为:D(C)=M。先加密后再解密消息,原始的明文将恢复出来,D(E(M))=M必须成立。密码古典密码分组密码公钥密码流密码古典密码密码学的渊源,历史上广泛使用,可通过手工与机械操作实现加解密。代换密码(SubstitutionCipher)是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。置换密码(PermutationCipher)加密过程中明文的字母保持相同,但顺序被打乱了。又称换位密码(TranspositionCipher)移位密码加同余码:一种移位密码,如凯撤(Cacsar)密码:以查码表方式进行一对一替换。收发双方采用同一码表。凯撤密码加密变换:C=P+3(mod26)凯撤密码解密变换:P=C-3(mod26)密钥:3若明文m=Casearcipherisashiftsubstitution则密文C=E(m)=FDVHDUFLSHULVDVKLIWVXEVWLWXWLRQ明文abcdefghijklm密文DEFGHIJKLMNOP明文nopqrstuvwxyz密文QRSTUVWXYZABC替换密码明文中的每一个字符和多个字符被替换成密文中的另外一个字符或一组字符。仿射密码采用仿射函数进行加密的密码,称为仿设密码。多表代换密码由多个简单的代替密码构成,例如,可能使用5个不同的简单代替密码,单独一个字符用来改变明文的每个字符的位置。多表代替密码由LoenBattista在1568年发明,维吉尼亚(Vigenére)密码、博福特(Beaufort)密码、滚动密钥(running-key)密码、弗纳姆(Vernam)密码、转轮机(rotormachine)都属于多表代替密码。置换密码也称换位密码或转置密码。加密方式与密文形式不同于代替密码体制。不改变组成明文消息的符号本身,只对符号进行重新排列。可以分类为:倒序密码:颠倒明文书写顺序。栅栏密码:明文交替书写排列。行列转置:明文行列转置书写转轮机上个世纪20年代,出现了转轮密码,而由德国发明家亚瑟·谢尔比乌斯发明的Enigma密码机最为著名。它主要由经电线相连的键盘、转子和显示器组成,转子本身也集成了26条线路(在图中显示了6条),把键盘的信号对应到显示器不同的小灯上去。在图中可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成了D,d被加密成了F,e被加密成了E,f被加密成了C。于是如果我们在键盘上依次键入cafe(咖啡),显示器上就会依次显示DBCE,这是最简单的加密方法之一——简单替换密码。不仅仅如此,因为当键盘上一个键被按下时,相应的密文在显示器上显示,然后转子的方向就自动地转动一个字母的位置(在图中就是转动1/6圈,而在实际中转动1/26圈)。图2-6表示了连续键入3个b的情况。当第一次键入b时,信号通过转子中的连线,灯A亮起来,放开键后,转子转动一格,各字母所对应的密码就改变了;第二次键入b时,它所对应的字母就变成了C;同样地,第三次键入b时,灯E闪亮。为使机器更安全,可以把几种转轮和移动的齿轮结合起来。因为所有转轮以不同的速度移动,n个转轮的机器的周期是26n。为进一步阻止密码分析,有些转轮机在每个转轮上还有不同的位置号。德国人为了战时使用,大大加强了其基本设计,军用的Enigma由3个转轮,从5个转轮中选取。转轮机中还有一块稍微改名明文序列的插板,有一个反射器导致每个转轮对每一个明文字母操作两次,结构如图2-7所示。于是转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况就组成了所有可能的密钥:三个转子不同的方向组成了26*26*26=17576种不同可能性;三个转子间不同的相对位置为6种可能性;连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种;于是一共有17576*6*100391791500,大约为10000000000000000,即一亿亿种可能性。但如此复杂的密码机在第二次世界大战中被破解了,首先是波兰人利用德军电报中前几个字母的重复出现,破解了早期的Enigma密码机,而后又将破译的方法告诉了法国人和英国人。英国人在计算机理论之父——图灵的带领下,通过寻找德国人在密钥选择上的失误,并成功夺取德军的部分密码本,获得密钥,以及进行选择明文攻击等等手段,破解出相当多非常重要的德军情报。一次一密乱码本如上所述的所有密码算法均被破解,那么是否存在无法破解的理想加密方案呢?香农证明了一种密码属于这种情况,它就是一次一密乱码本(one-timepad)。一般说来,一次一密乱码本就是一个大的不重复的真随机密钥字母集,发送者用乱码本中的每一个密钥准确地加密一个明文字符,加密是明文字符和密钥字符进行模26加法。比如:明文:onetimepad密钥:TBFRGFARFM密文:IPKLPSFHGQ因为:O+Tmod26=I,N+Bmod26=P,E+Fmod26=K,……如果窃听者不能得到用来加密的一次一密乱码本,这个方案就是完全保密的。给出的密文消息相当于同样长度的任何可能的明文消息。Kerckhoff假设通常假定,攻击方知道所用的密码系统。如果你的新的密码系统的强度依赖于攻击者不知道的算法机理,你注定会失败。分组加密机制密码学常见有两种体制:对称密码体制:单密钥体制。非对称密钥体制,公钥密码体制。对称密钥体制对称密钥体制是指如果一个加密系统的加密密钥与揭密密钥相同,或者虽然不相同,但是可以由其中的任意一个很任意地推导出另一个,即密钥是双方共享的,则该系统就是对称密钥体制。一把钥匙开一把锁。对称和非对称算法早期的密钥算法是对称算法(SymmetricAlgorithm),就是加密密钥能够从解密密钥中推算出来,反之亦然。多数对称算法中,加密和解密由同一个密钥来控制,也叫“单钥算法”,如图2-8所示。分组加密技术对称密码体制。将待处理的明文按照固定长度进行分组,解密的处理则是在固定长度密钥的控制下,以一个分组为单位独立进行,得出一个固定长度的对应于明文分组的结果。分组密码的一般设计原理分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,DES(DataEncryptionStandard)在所有分组密码中,数据加密标准(DES)可谓是最著名的了。DES密码是一种数据加密标准,1977年正式公布,供非机要部门的保密通信使用,是唯一由美国政府颁布的公开加密算法。DES密码在过去20年被正式作为国际标准采用,但业界认为其56位密钥太短,而且其基本设计原理,如各种不同排列选择、置换、叠代次数等没有清楚的说明,存在系统隐蔽陷阱的可能。1)、DES数据加密标准目前,DES密码体制已经从56位单一DES,发展为112位的DoubleDES,以及TripleDES和更多重的DES,使加密程度和密码本身安全性得以大大提高。DES是一种对二进制数据进行加密的算法。数据分组长为64位,密钥长也为64位。使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。经过16轮的迭代、乘积变换、压缩变换等,输出密文也为64位。DES算法的安全性完全依赖于其所用的密钥。明文64bit码初始变换IP16轮乘积变换逆初始变换IP-1密文64bit码输出DES算法(1)初始变换将64位数据按下表变换(IP)取得64位的数据,如果数据长度不足64位,应该将其扩展为64位(例如补零)InitialPermutation(IP)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157将输入的第58位换到第一位,第50位换到第2位,...,
本文标题:信息安全概论-第2章-信息保密技术
链接地址:https://www.777doc.com/doc-7021541 .html