资源描述:
《信息系统安全实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《信息系统安全》课程实验指导书实验学时:课内实验18学时实验类型:验证性实验要求:必修适用对象:软件工程实验一:古典密码算法---代换技术(4学时)一、实验目的通过本实验的学习,使学生编程实现古典密码算法中的代换密码技术,培养学生的编程能力和对基础算法的理解,加深对古典密码体制技术的了解,为今后继续深入现代密码学的学习奠定基础。二、实验内容实现代换密码的加解密;三、实验原理、方法和手段古典密码算法历史上曾被广泛应用,大都使用手工和机械操作来实现加密和解密,比较简单。古典密码主要是利用密码算法实现文字信息的加密和解密,本实验运用两种常见的具有代表性的古典密码技术---代换密码技术,以帮助学生
2、对密码算法建立一个初步的认识和印象。代换密码:代换密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文。例如:明文字母a,b,c,d,用D,E,F,G做对应替换后形成密文。代换密码包括多种类型,如单表替代密码,多明码替代密码,多字母替代密码,多表替代密码等.本实验利用一种典型的单表替代密码---恺撒(caesar)密码,又叫循环移位密码,加密方法是将明文中的每个字符,用此字符在字母表中后面第k个字母替代,加密过程可以表示为下面的函数:E(m)=(m+k)modn其中:m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥;E(m)为密文字母在字母表中对应
3、的位置数。例如,对于明文字母H,其在字母表中的位置数为8,设k=4,则按照上式计算出来的密文为L:E(8)=(m+k)modn=(8+4)mod26=12=L四、实验环境、条件运行Windows7操作系统的PC机,具有C语言编译环境。五、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学,每个学生按照实验指导书,独立完成实验。六、实验步骤根据实验原理部分对凯撒密码算法的介绍,自己创建明文信息,并选择一个密钥k,编写凯撒密码算法的实现程序,实现加密和解密操作.参考程序:1.加密:K=42.解密密文:VSRQJHEREVTXDUHSDQWYU:defde
4、crypt_password(password,offset)pwdLength=len(password)pwd=""forindexinrange(pwdLength):ascciiNum=ord(password[index])-65+offsetascciCha=chr(ascciiNum%26+65)pwd+=str(ascciCha)returnpwdforindexinrange(0,26):printdecrypt_password("VSRQJHEREVTXDUHSDQWU",-3).lower()明文为:spongebobsquarepantr七、实验报告本实验为古典密
5、码学算法的验证类实验,需要按实验报告模板的表格填写,具体要求如下:(1)实验总结要反映实验步骤中的结果,并提供文字描述。(2)除教师评语外,实验报告表中的每项内容均由本实验的同学填写。(3)实验总结和实验自我评语,严禁雷同。(4)实验报告需要按实验报告模板的格式进行填写。实验二:古典密码算法---置换技术(4学时)一、实验目的通过本实验的学习,使学生编程实现古典密码算法中的置换密码技术,培养学生的编程能力和对基础算法的理解,加深对古典密码体制技术的了解,为今后继续深入现代对称密码学的学习奠定基础。二、实验内容实现置换密码的加解密。三、实验原理、方法和手段古典密码算法历史上曾被广泛应用,大都
6、使用手工和机械操作来实现加密和解密,比较简单。古典密码主要是利用密码算法实现文字信息的加密和解密,本实验运用常见的具有代表性的古典密码技术---置换密码技术,以帮助学生对密码算法建立一个初步的认识和印象。置换密码:置换密码又称为换位密码,算法的原理是不改变、替换明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。矩阵换位法是实现置换密码的一种常用方法(类似于教材中的双换位密码)。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中字母,从而形成密文。例如,明文为attackbeginsatfive,密钥为cipher,将明文按照每行6列的形式
7、排在矩阵中,形成如下形式:attackbeginsatfive根据密钥cipher中各字母在字母表中出现的先后顺序,给定一个置换:123456F=145326根据上面的置换,将原有矩阵中的字母按照第1列,第4列,第5列,第3列,第2列,第6列的顺序排列,则有下面形式:aacttkbingesaivfte从而得到密文:abatgftetcnvaiikse其解密的过程是根据密钥的字母数作为列数,将密文按照列,行的顺序写出,再