2022年现代密码学加密系统设计课程设计 .pdf
《2022年现代密码学加密系统设计课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年现代密码学加密系统设计课程设计 .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、现代密码学课程作业题目现在密码学文件加密姓名李丰学号1009030212指 导 老 师戴祖旭指导教师职称教授年级专业班级10 信息与计算科学(2)班所 在 学 院理学院2013 年 6 月 25 日目录摘要 . 2矚慫润厲钐瘗睞枥庑赖。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 20 页前言 . 3聞創沟燴鐺險爱氇谴净。1 基础介绍 . 3残骛楼諍锩瀨濟溆塹籟。1.1 背景介绍 . 3酽锕极額閉镇桧猪訣锥。1.2 需求分析 . 3彈贸摄尔霁毙攬砖卤庑。1.3 意义 . 4謀荞抟箧飆鐸怼类蒋薔。1.4 文献综述 . 4厦礴恳蹒骈時盡继
2、價骚。2 实现步骤 . 5茕桢广鳓鯡选块网羈泪。2.1 基本实现技术. 5鹅娅尽損鹌惨歷茏鴛賴。2.2 操作步骤 . 5籟丛妈羥为贍偾蛏练淨。3 应用基本功能测试 . 16預頌圣鉉儐歲龈讶骅籴。3.1 单表加密测试 . . 16渗釤呛俨匀谔鱉调硯錦。3.2 单表解密测试. 17铙誅卧泻噦圣骋贶頂廡。3.3 多表加密测试. 18擁締凤袜备訊顎轮烂蔷。3.4 多表解密测试. 18贓熱俣阃歲匱阊邺镓騷。3.5 文件生成模块测试 . 19坛摶乡囂忏蒌鍥铃氈淚。4 总结 . 19蜡變黲癟報伥铉锚鈰赘。摘要本实验设计是在matla 软件地 GUI 程序平台下设计地一个关于文件加密解密地小地应用,文章根据实
3、验工程地完成过程比较详细地介绍了工程地设计思想,设计方法和完成步骤,并给出了遇到地问题地解决方法,最后给出了应用地测试情况.買鲷鴯譖昙膚遙闫撷凄。关键词: GUI 程序设计,单表加密(解密),多表加密(解密)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 20 页前言本文较为详细地介绍了GUI 多表单表加密应用地开发过程,全文分为三章 . 第一章主要介绍GUI 多表单表加密应用地相关知识,以及它所要实现地基本功能 .并做了简要地需求分析,确定了该程序应实现了一些基本功能.另外还简要地说明了查阅地相关资料.綾镝鯛駕櫬鹕踪韦辚糴。第二章主要
4、介绍了开发地具体过程,以程序地具体开发步骤为主线介绍了相关地操作和具体函数地书写. 第三章主要是对程序地设计进行总结. 1 基础介绍1.1 背景介绍在现代密码学地学习过程中我们接触了许多实际地问题,主要学习了在密码学地发展简史,古典密码学,分组密码,公钥密码,序列密码,数字签名以及密码协议.本设计是针对学习过地现代密码学中地古典密码学地理论来实现该课程中地一些相关地加密应用.在本文中我们对古典密码学中地两个基本地加密方法 单表加密解密和多表加密解密进行GUI 平台下地应用编程,实现相关地功能,以达到基本应用地目地.驅踬髏彦浃绥譎饴憂锦。1.2 需求分析在 GUI 单表多表加解密地应用中,给出如
5、下地具体应用要求:实现对简单字符地单表多表加密解密;实现对文件地单表多表加密解密;能够在应用中自主创建加密或者是解密文件;对文件地加密和解密过程实施监测,让使用者能够了解加密和解密地进程;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 20 页提供基本地应用使用帮助手册,给初次使用应用者提供参考. 1.3 功能模块图加密系统图 1.系统功能模块图1.4 意义简单应用程序地设计与开发,是信息与计算科学专业学生必须掌握地一项技术 .了解基本应用地各个模块之间地关系和功能,通过编程实现具体地应用是本专业学生地基本素质.通过具体地小地工程地实现
6、,了解各功能模块地设计与实现方法,以及各功能模块之间地相互联接方法,对于今后从事软件设计与开发,有重要地指导作用.猫虿驢绘燈鮒诛髅貺庑。1.5 文献综述文献【 1】现代密码学陈鲁生 沈世镒 北京:科学出版社文献【 2】 matlab 与数学实验江世宏 武汉工程大学文献【 3】 网络文献此处不予列出精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 20 页2 实现步骤2.1 基本实现技术在 matlab 地 gui 编程中有两种方式来进行程序设计:直接用M 文件来编写;通过gui 向导来进行编写 .方式地好处在于可以以最大地灵活度来实现应用
7、地设计和编写,但是缺点就在于必须对于各种控件地属性有比较好地了解 .方式地优点在于编写者能够将更多地精力集中于程序控件地响应函数地编写,而不是将更多地精力放在实现地界面地美化和排版之上,缺点在于响应函数地控制范围没有前一种方式来地灵活.在本应用中主要是用 gui 地向导编程来实现应用地绝大部分功能,在应用地帮助手册地编辑界面实现方式上则主要是采用方式来实现.锹籁饗迳琐筆襖鸥娅薔。2.2 操作步骤2.2.1 首先打开gui 编程向导地界面,建立空白地gui 界面对话框, gui 向导界面如下:图 2.空白 gui 界面建立图2.2.2 建立空白地gui 界面对话框之后,在该空白界面上添加一系列地
8、程序控件,程序控件地添加主要分为5 个大地模块: 1 加密模块控件;2 解密模块控件; 3 自主生成文件模块;4 加密形式模块;5 明文密文显示框.構氽頑黉碩饨荠龈话骛。各项控件添加完毕之后地效果截图如下:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 20 页图 3.系统界面控件添加效果图2.2.3 对空白地对话框界面进行基本菜单地添加.在 gui 地向导编程中如果选择空白地对话框来建立应用程序地基本框架时,在对话框中是没有给出基本菜单栏地,这里对本应用中添加地菜单栏进行简要地说明.輒峄陽檉簖疖網儂號泶。在控件添加界面地工具栏中有标注
9、为Menu Edito 地工具(截图如下红圈内)图 4.界面编辑工具栏(红色标记为gui 菜单编辑按钮)点击此按钮出现对基本菜单栏地编辑对话框(截图如下):图 5.菜单编辑对话框上图左侧地红圈表示一级菜单,蓝圈表示二级菜单,右侧地五角星标注为为各级菜单地命名区,红色圈表示其快捷键设置,蓝圈内地View 键是用于设置菜单地响应函数地按钮,红色斜线部分标注地为菜单栏地其他属性设置界面地开启按钮 .尧侧閆繭絳闕绚勵蜆贅。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 20 页2.2.4 代码编写,代码地编写主要分为单表加密代码,多表加密代码,
10、单表解密代码和多表解密代码,以上是解密加密地代码概述.另外还包括加解密文件生成代码,以及一些其他地辅助按键地响应代码.识饒鎂錕缢灩筧嚌俨淒。这里就单表加密代码和解密代码做简单地说明:单表地主要做法师对英文地二十六个字母和一些常用地标点符号进行编码,然后根据编码通过模运算来对明文实现移位,这里假设m 为明文地编码, n 为密文地编码,密钥地编码为k,加密地模运算公式就为Skmnmod)(,其中 S 表示所有明文空间地长度,这样就顺利地实现加密地过程,其基本代码如下:凍鈹鋨劳臘锴痫婦胫籴。k=get(handles.radiobutton2,value) if(k=1) filename,path
11、name=uigetfile( . *.*,All Files(*.*)。,. ) 。 if isequal(filename,pathname,0,0) return else pic = fullfile(pathname,filename)。 fid=fopen(pic)。 A,COUNT=fscanf(fid,%c,inf)。 fclose(fid)。 end s=get(handles.edit2,string)。 if isempty(s) msgbox(The edit is empty,please enter again!,error)。恥諤銪灭萦欢煬鞏鹜錦。 return
12、。 end str=D:MATLAB7workmodern cryptographyencryptionwordtable1.xls。鯊腎鑰诎褳鉀沩懼統庫。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 20 页 CODE,TXT,RAW=xlsread(str)。 s=double(s) 。 B=double(A) 。 m,n=size(B)。 j=0 。 C=ones(1,n) 。 hwait=waitbar(0,Please Wait(1)。 for i=1:n if(B(i)=13 & B(i)。 for h=1:n if(s=
13、CODE(2,h) s=CODE(1,h)。 end WaitBar1(h,n,hwait)。 end close(hwait) 。 for h=1:j for k=1:n if(C(h)=CODE(2,k) C(h)=CODE(1,k)。 end 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 20 页 end end % % hwait=waitbar(0,Please Wait(3)。 for h=1:j C(h)=mod(C(h)+s,29)。 WaitBar1(h,j,hwait)。 end close(hwait) 。% c
14、lose(hwait) 。 % hwait=waitbar(0,Please Wait(4)。 for h=1:j for k=1:n if(C(h)=CODE(1,k) C(h)=CODE(2,k)。 end end WaitBar1(h,j,hwait)。 end close(hwait) % close(hwait) 。 C=char(C) 。 set(handles.edit3,string,C)。 str=D:MATLAB7workmodern cryptographyencryptionsinglesecretword.txt。硕癘鄴颃诌攆檸攜驤蔹。 fid=fopen(str,w
15、t)。 fprintf(fid,%s,C) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 20 页 fclose(fid) else A=get(handles.edit1,string)。 if isempty(A) msgbox(The edit is empty,please enter again!,error)。阌擻輳嬪諫迁择楨秘騖。 return 。 end s=get(handles.edit2,string)。 if isempty(s) msgbox(The edit is empty,please enter ag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年现代密码学加密系统设计课程设计 2022 现代 密码学 加密 系统 设计 课程设计
限制150内