本节实训与思考的目的是:(1)熟悉加密技术的基本概念,了解加密技术的基本内容。(2)进一步了解古典加密算法,理解DES加解密算法的工作原理。1工具/准备工作在开始本实训之前,请认真阅读本课程中的相关内容。需要准备一台运行WindowsXPProfessional操作系统的计算机。2实训内容与步骤(1)概念理解1)密码学包括中哪两个分支?a)_密码编码学_____:主要研究对信息进行转换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法_____________________________________________b)密码分析学_____:主要研究如何分析和破译密码。2)信息安全主要包括系统安全和数据安全两个方面。前者一般采用防火墙、防病毒及其他安全防范技术等措施,属于被动型安全措施;后者则主要采用现代密码技术对数据进行主动的安全保护,如数据保密、数据完整性、身份认证等技术。3)古典密码学主要有两大基本方法:a)替代密码:就是将明文的字符替换为密文中的另一种字符,接收者只要对密文做反向替换就可以恢复出明文b)置换密码:明文的字母保持相同,但循序被打乱了实训3.1了解加密技术2信息安全技术4)密码学的基本规则是假定密码分析者知道加密和解密所使用的方法。这是为什么?请简述之。密码分析者不仅知道一些消息的密文以及与之对应的明文,而且可以选择被加密的明文这种选择可能导致产生更多关于密钥的信息,并试图推导出加密密钥或算法该算法可对采用同一密钥加密的所有新信息进行解密。(2)凯撒密码下面所示为用凯撒密码进行的加密:MjqqtHfjxfw.Mtbnxdtzwhnumjw?XyfdfbfdkwtrymjXjsfyjytifd.在上述密文中,空格和标点符号没有改变。大写形式也未改变。看看你能否用n轮密文(n10)来对上述信息解密。1)凯撒密码属于:□替代密码□置换密码(单选)2)解密后的明文是:___________________________________________________________________________________________________________________________该明文的中文意思是:__________________________________________________________________________________________________________________________3)这是一个几轮密文(n=?):__________________4)针对这段凯撒密文,你可以用你熟悉的程序设计语言编写一个解密程序吗?你采用的程序设计语言是:C语言___________________你的解密程序的主要算法是:恺撒密码的替换方法是通过排列明文和密文字母表密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如当偏移量是左移3的时候解密时的密钥就是3明文字母表ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表DEFGHIJKLMNOPQRSTUVWXYZABC使用时加密者查找明文字母表中需要加密的消息中的每一个字母所在位置并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作得到原来的明文。例如明文THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG密文WKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ恺撒密码的加密、解密方法还能够通过同余数的数学方法进行计算。首先将字母用数字代替A=0B=1...Z=25。此时偏移量为n的加密方法即为E(x)=(x+n)mod2D(x)=(x-n)mod2第3章加密与认证技术3(3)一次一密要想构建一个不可能被攻破的密码其实是非常容易的,相应的技术在几十年前就已经被发掘出来了。首先选择一个随机位串作为密钥,然后将明文转变成一个位串,比如使用明文的ASCII表示法。最后,逐位计算这两个串的异或(XOR)值。结果得到的密文不可能被破解,因为即使有了足够数量的密文样本,每个字符的出现概率是相等的,每个两字母组合的概率也是相等的,三字母组合的概率也相等,以此类推。这种方法被称为一次一密(one-timepad),不管入侵者的计算能力有多么强大,这种密码总是能够对抗所有现在的和将来的攻击。其理由来自于信息论:在消息中没有任何信息,因为在指定长度的情况下,所有可能的明文都是等概率的。表3.1给出了一个一次一密的例子。消息1“Iloveyou.”被转换成7位ASCII码,得到明文1。然后选择一个一次性密钥Pad1,与明文1进行异或操作得到密文。接收方只要把密文与一次性密钥Pad1(事先得到)再进行一次异或操作,就可得到明文1。密码分析者可以试验所有可能的一次性密钥,并检查每个密钥所对应的明文。如,用表中的Pad2与密文进行异或操作,得到明文2(ASCII码),明文2对应的消息2这个结果有点似是而非。实际上,对于每一个11字符长的ASCII明文,就有一个生成此明文的一次性密钥。这也是我们所说的在密文中没有任何信息的原因:你总是可以得到任何一条长度正确的消息。表3.1一次一密用例消息1Iloveyou.明文110010010100000110110011011111110110110010101000001111001110111111101010101110Pad110100101001011111001010101011010010110001100010110101010101011111001100101011密文Pad210111100000111110100010100111010111010011010001110111010100111011101101110110明文2消息2一次一密在理论上是非常有意义的,但是在实践中有许多缺点。首先,一次性密码无法记忆,所以发送方和接收方必须随身携带书面的密码副本。任何一方一旦被敌方捕获的话,很显然,书面的密钥是一个很大的威胁。而且,可被传送的数据总量受到密钥数量的限制。其次,这种方法对于丢失字符或者插入字符非常敏感。如果发送方和接收方失去了同步的话,则从失去同步的点开始,后面所有的数据都变成了垃圾数据。1)请在表3.1中的“密文”、“明文2”和“消息2”这三行中填上正确的内容。4信息安全技术2)比较“消息1”和“消息2”中的内容,谈谈对一次一密的认识,请简述之。________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________(4)维吉尼亚密码(密钥为decipher)Giczsvgkrv:Kibhqzghnmhjlfrpubjkiewshaxexvhr.KppcirsvqjalqrqhKibdvzwmpoivejncqcuvvjrqgiscmth.Xjmeyssoioqhtcnhmipi.Pedmyub1.57blxihwjqvoflwqaetpkywmu71sxssj.Pepghayuhrvadmxvqqcstmyerjom.Hvqvesaallvvxrhzxlruocvwbl.Xydxoizlwdhjgmabrydtrg.Xhqeraywgymvgedwjaqpzikowa.EcwlqcvoMrpedqiasfiev.Qulicuevptyavop.Kmcqsppcompsw.Zosxmthxzqkompazvucocro.EegMnqzlwnhivndvhkrs.Kwuaiekexmhbkruakbwairpmnspuhvyippdaarwit.VddMrpkgbiprxievbtyeegjcbilv.ZqxjmehwkwaquduxyvMjikltlwsp5sxssj.VsKibiitrqkvvtsiheplbvvvzstzxlhreswbiomjsvqjalqsxxKldusknsyvwvakrpqatdizjlvyjpgboc.Ewjshpryvmasqvdacgivpfviymxnlk?Spgihllvotomsleigsebdy!Myrtgbdoirujtwbfsldwuwduejssuaxipv.Zmvpqlwkzmuptz!Qruc10.11.2003以上是维吉尼亚密文,请把它解密为明文:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________第3章加密与认证技术53实训总结熟悉加密技术的基本概念,了解加密技术的基本内容。进一步了解了古典加密算法,理解DES加解密算法的工作原理。___________________________________________________________________________________________________________________________________________________________________________________________________________________________4实训评价(教师)______________________________________________________________________________________________________________________________________________