现代密码学matlab仿射密码实验报告一.doc

现代密码学matlab仿射密码实验报告一.doc

ID:59392123

大小:69.00 KB

页数:4页

时间:2020-05-29

现代密码学matlab仿射密码实验报告一.doc_第1页
现代密码学matlab仿射密码实验报告一.doc_第2页
现代密码学matlab仿射密码实验报告一.doc_第3页
现代密码学matlab仿射密码实验报告一.doc_第4页
资源描述:

《现代密码学matlab仿射密码实验报告一.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、广东金融学院实验报告课程名称:实验编号及实验名称实验一仿射密码的编码实践系别金融数学与统计学院姓名学号班级实验地点实验日期2017年10月11日实验时数2指导教师严建平同组其他成员成绩一、实验目的及要求用matlab实现仿射密码的加密和解密并且完成界面设计。二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)MATLAB7.1,office2010,windows10,内存4G硬盘:机械硬盘500G一、实验内容的详细代码、清单、步骤及流程打开matlab的GUI界面设计窗口,进行仿射密码的加密和解密的窗口设计,这部分比较简单,就不详细展开说了

2、,在这部分功能的实现主要是对功能控件进行拖拉,matlab提供了比较简易的工具,能是我们简单地设计出软件窗口。接下来是功能的实验,先是加密功能的实现,思路过程先将要加密的字母,转化为ASCII码,然后减去97,得到对于的数字。然后对数字进行加密,用e(x)=ax+b(mod26)公式去求出密文的数字,最后将加密后的数字加97,再转化为字母,得到密文。详细代码如下:functionencode_Callback(hObject,eventdata,handles)%hObjecthandletoencode(seeGCBO)%eventdatareserve

3、d-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)plaintext=get(handles.plaintext,'String');factor1=get(handles.parameter1,'String');factor2=get(handles.parameter2,'String');%将参数的字符串转化为数值factor1=str2num(factor1);factor2=str2num(factor2);plaint

4、extASCII=double(plaintext);temCode=plaintextASCII-97;temCode=mod(temCode*factor1+factor2,26);ciphertextStr=char(temCode+97);set(handles.ciphertext,'String',ciphertextStr)解密功能实现思路跟加密差不多,而且在代码注释中也已经表达清楚,在这里不详细吗描述了。%解密函数functiondecode_Callback(hObject,eventdata,handles)%获取密文ciphertex

5、t=get(handles.ciphertext,'String');%获取两个参数factor1=get(handles.parameter1,'String');factor2=get(handles.parameter2,'String');%将参数的字符串转化为数值factor1=str2num(factor1);factor2=str2num(factor2);%定义所有与26互素的乘法逆元pNum=[1357911151719212325];UnPNum=[1921153197231151725];%得到参数的indexfactor1_inde

6、x=find(pNum==factor1);%得到参数1的逆元Unfactor1=UnPNum(factor1_index)%将密文转化为ascii码ciphertextASCII=double(ciphertext);temCode=ciphertextASCII-97;%解密temCode=mod(Unfactor1*(temCode-factor2),26);%将解密后的ascii码转化为明文plaintextStr=char(temCode+97);%将明文设置到明文区域set(handles.plaintext,'String',plaintex

7、tStr)四.实验结果(包括程序、图表、结论陈述、数据记录及分析等)实验结果如下:对明文“plaintext”,参数1为11,参数2为6.进行加密,得到“pxgqthyzh”图1对明文plaintext进行加密的结果然后先清空明文区,对密文“pxgqthyzh”参数1为11,参数2为6,进行解密,可以发现得到明文“plaintext”,如加密的明文一样。证明该程序运行正确。五.实验总结(包括对本实验的所有问题的回答、实验过程中发现的问题以及你的改进办法)在这次实验中,我深刻理解到了仿射密码的加密解密原理,同时对于MATLAB来设计软件界面更加熟练,也对于现

8、代密码学这门科目有了初步的认识和了解。总算能够自己动手去实现加密解

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。