《mis系统软件》实验报告 操作系统

上传人:n**** 文档编号:91753549 上传时间:2019-07-01 格式:DOC 页数:35 大小:1.61MB
返回 下载 相关 举报
《mis系统软件》实验报告  操作系统_第1页
第1页 / 共35页
《mis系统软件》实验报告  操作系统_第2页
第2页 / 共35页
《mis系统软件》实验报告  操作系统_第3页
第3页 / 共35页
《mis系统软件》实验报告  操作系统_第4页
第4页 / 共35页
《mis系统软件》实验报告  操作系统_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《《mis系统软件》实验报告 操作系统》由会员分享,可在线阅读,更多相关《《mis系统软件》实验报告 操作系统(35页珍藏版)》请在金锄头文库上搜索。

1、学生学号 0120903490*实验课成绩学 生 实 验 报 告 书实验课程名称MIS系统软件开课学院管理学院指导教师姓名*学生姓名*学生专业班级2011-2012学年第二学期实验项目名称加密解密算法实验成绩实 验 者*专业班级信管0901班组 别同 组 者无实验日期2012年03月07日第一部分:实验预习报告1、 实验目的、意义通过简单的加密解密算法的实现理解系统中加密解密的基本思想,熟练掌握使用C语言基本语句。2、 实验基本原理与方法单字母替换加密方法恺撒密码加密方法是把英文字母按字母表的顺序编号作为明文,将密钥定为m,加密算法为将明文加上密钥m,得到密码表,通过相反的过程由密文得到明文。

2、单字母替换加密方法单表置换密码 由密钥Key构造字符置换表,完成加密和解密过程。多字母替换加密方法维吉利亚密码假设明文m=m1 m2 m3 mn;密钥k=k1k2 k3 kn,对应密文c=c1 c2 c3 cn,密文为:ci=(mi+ki )mod 26 ,26个字母的序号依次为025,ci , mi ,ki是分别是密文明文密钥中第i个字母的序号。转换加密方法 通过将明文每m个字符一组按顺序分为若干个字符串,再按照先列后行形成密文,并分析给出解密的方法。 或者通过给出一个密钥字符串,将明文按密钥字符串长度按顺序分为若干组字符串,再按照密钥字符串各个字符的顺序形成密文,并分析给出解密的方法。3、

3、 主要仪器设备及耗材实验室提供计算机和上网条件,C语言上机环境。4、 实验方案与技术路线(综合性、设计性实验)第二部分:实验过程记录实验原始记录(包括实验数据记录,实验现象记录,实验过程发现的问题等)1.单表置换:先选定一个单词,例如BEIJINGTSINGHUA,然后将它排列在密码对照表(两行26列第一行存a到z的字母,第二行存对照的密码)下方,重复出现的字母以第一次现时对应的明文字母为准;后面以该单词中未出现的字母按顺序排列备齐,生成一个密码,然后可以用此密码本进行加密或解密。加密过程:首先输入加密明文如important,然后输入密钥如BEIJINGTSINGHUA。再然后建立临时密码表

4、如下:(上一行是字母,下一行是密码) 之后,将important对照第一行的相应密匙如 i 对应 H,依次输出。结果应为HDLKOQBFQ;解密过程:首先输入密文如HDLKOQBFQ,然后输入密匙BEIJINGTSINGHUA。同理加密过程,可以对照密码表依次找到密文中对应的原文。结果应为 important。2.凯撒密码:把英文字母按字母表的顺序编号作为明文,将密钥定为m,加密算法为将明文加上密钥m,得到密码表,通过相反的过程由密文得到明文。加密过程:首先输入明文为This is a secret ,然后输入密钥9,之后同样会形成两行对应的同1方法一样的密码表:ABCDEFGHIJKLMNO

5、PQRSTUVWXYZXYZABCDEFGHIJKLMNOPQRSTUVW之后,将自动输出加密后的密文,结果为: cqrb!rb!j!bnlanc;解密过程:输入需要解密的密文如: cqrb!rb!j!bnlanc,然后输入密钥9(为简便起见,同加密过程使用同样的密钥),则得到加密过程中的同样密码表,然后依次对应输出原文,结果为This is a secret。3.轮转法:通过将明文每m个字符一组按顺序分为若干个字符串,再按照先列后行形成密文,并分析给出解密的方法。加密过程:首先输入明文it can allow students to get close up views,然后输入密匙5,之后

6、输入的明文会按照每行3个字符的形式进行排列,如此例中形成如下的排列:之后,输出加密后的密文则使用先列后行的方法,此例结果为:iasngovtlttesiclusteeaodtcuwnweolps; 解密过程:首先输入密文icteccnrbouicumsanb,然后输入密匙5,之后同样会将输入的密文按照每行3个字符的形式排列,形成如下排列:icbcaccountnumberis 之后,输出解密后的明文使用先列后行的方法,此例结果为icbc account number is。4.维吉利亚密码: 假设明文m=m1 m2 m3 mn;密钥k=k1k2 k3 kn,对应密文c=c1 c2 c3 cn,

7、密文为:ci=(mi+ki )mod 26 , 26个字母的序号依次为025,ci , mi ,ki是分别是密文明文密钥中第i个字母的序号。(如下图) 加密过程:首先输入明文如information,然后输入密匙如star,第一个字符的密文可以求得c1=(w+i)mod26=4,此时对应编号4的字母为E,则明文W对应的密文为E,依次类推,可以将所有明文加密得到密文:AGFFJFAKAHN; 解密过程:首先输入密文esioqgm,然后输入与密文字符数相等的密匙如iloveyu,将加密过程的原理反过来运用,如第一个密文字符为E,则对应的编号为4,然后求的明文为W,依次类推,求得明文为:whutmi

8、s。第三部分 结果与讨论(可加页)实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)程序设计类实验:包括原程序、输入数据、运行结果、实验过程发现的问题及解决方法等;分析与设计、软件工程类实验:编制分析与设计报告,要求用标准的绘图工具绘制文档中的图表。系统实施部分要求记录核心处理的方法、技巧或程序段;其它实验:记录实验输入数据、处理模型、输出数据及结果分析运行结果分析:在vc+6.0的编译环境下,点击运行后出现加密算法选择的界面:(1) 凯撒密码 选择1后回车,阅读完介绍性文字后,再接着选择1进行对输入字符串进行加密(例如输入字符串*s birthday is,接着输入密

9、钥7): 得到密文:govbephv(z!ipyaokhf!pz! 此时我为了对一段字符串进行凯撒解密govbephv(z!ipyaokhf!pz!,同时输入密钥7,同样会得到加密前的明文:(2) 单表置换密码 按照提示,回车后又进入加密算法选择主界面,此时选择2. 单表置换密码,加密下面一句话today is april 1, 2012, namely April fools day: 得到密文pjuzv en zkmed 1, 2012, gzfxdv Akmed ijjdn uzv,(没有处理空格及标点符号等特殊字符,但加密效果已有)。 为了证明对应的解密是否正确,现进行解密环节,把刚才

10、密文解密,从截图中可以看到当时加密使用的密钥时zhouxiaoyeah解密后的字符串跟之前原明文完全一样。(3) 维吉利亚密码维吉利亚密码由于需要产生一个维吉利亚字母代换表,此处为了学习方便,在程序运行过程中特意将该表也打印到了屏幕:输入明文:guoqingjiekuaile,密钥:whutms(此例为课件上一例子)选择解密过程,帮刚才的密文重新翻译成明文:(4) 轮换算法主要函数介绍凯撒密码:void kaisa_de();/解密void kaisa_en();/加密void _kaisa();调用上面两个子函数单表置换加密:void dbzh_alphabeta();/产生代换字符表voi

11、d dbzh_en();/产生密文,即加密void dbzh_de();/产生明文,即解密void _danbiaozhihuan();被main()调用,运行时根据选择调用上面的三个函数维吉利亚密码:void wjly_en();维吉利亚加密函数void wjly_de();解密函数int _weijiliya();调用加密解密函数轮换法加密:void lunhuan_en();void lunhuan_de();void _lunhuan();实验中的问题(1) 各个加密函数之间的基本上完全独立,内部定义了太多的自己变量,从空间上看运行起来占用空间较大。可以尝试定义几个全局变量,让他们共用

12、。如输入的密文,密钥,产生的明文等等。(2) 操作不够人性化。由于时间的原因,没有在程序的界面上话太多工夫,比如运行完加密或者解密过程后,该转到第一个主界面(四个加密算法的选择界面)还是仍然留在当前密码方法的界面,退出时时直接退出控制台程序还是退出到开始界面。 此外,程序的容错处理还不完善,一下非法输入还不能很友好的处理。操纵的人性化四种加密算法源代码:#include #include #include #include #include using namespace std;#define MING_WEN 1000/设明文长度最大为1000char mingwenMING_WEN; /

13、 存放明文char miwenMING_WEN; / 存放密文char miyuejvzi100;/密钥句子char alphabeta27;/代换字母表string str=abcdefghijklmnopqrstuvwxyz; void kaisa_de();/解密void kaisa_en();/加密void _kaisa();void dbzh_alphabeta();/产生代换字符表void dbzh_en();/产生密文void dbzh_de();/产生密文void _danbiaozhihuan();void wjly_en();void wjly_de();void Create_miyuejvzi(char);int _weijiliya();void lunhuan_en();void lunhuan_de();void _lunhuan();void main()int choice;printf( n);/起始输出界面printf( -n);printf( 信息管理与信息系统*班nn);printf( * 学 号:0120903490*n);while(1)/*循环测试*/printf(n);printf(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号