基于matlab的密码学CAI
2018-03-27韩红彩张亚娜曹鑫韩莉
韩红彩 张亚娜 曹鑫 韩莉
【摘要】为激发学生对密码学的学习兴趣,加强师生在教学过程中的互动,以及教学中出现的加解密结果及时验证问题,设计和实现了基于matlab的密码学教学辅助软件(以下简称CAD。该软件以窗体形式实现了RC4、DES、MD5、AES、RSA这5种比较流行的加密解密算法。也实现了文件加解密,以及当前文本框输入文本的动态加密解密。
【关键词】matlab 加密 解密
0引言
在当前互联网信息飞速发展的时代,大家对信息安全的意识也是与日俱增。而要保证信息安全,最关键的就是保证信息的保密性。由此,在各个高校的信息安全技术专业必开设密码学课程。但是,由于密码学建立在数學理论的基础上,其逻辑推理严密,体系复杂,理解起来比较抽象,所以一些学生对此望而生畏、不知所措。针对此问题。专门开发了一款计算机辅助教学软件。该软件主要集中了最常见的也是诸多教材所出现的5种典型的密码体制(即RC4、DES、MD5、AES、RSA)加解密算法,并且实现了对文件的加解密、以及对当前文本框输入的内容进行加解密。
1密码学课程简述
密码学及其应用是跨学科的交叉研究领域,其成果和思想方法的意义已经不限于数学,甚至也不仅仅限于信息安全。在密码学课程中,内容主要涉及密码学基础、古典密码、密码学数学引论、对称密码学体制、非对称密码体制、HASH函数和消息认证、数字签名、密钥管理、流密码以及密码学的新进展。
2系统的设计与实现
鉴于matlab强大的计算和图形功能,所以本系统主要用mat,1ab实现。除了一般软件具有的登录退出等界面,系统主要涉及了对五种算法的加解密。以及对文件和临时输入的文本内容的加解密,系统架构如图1所示。
2,1matlab的相关介绍
matlab是矩阵实验室(Matrix Laboratory)的简称。MATLAB用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。本系统采用了matlab R2015a版本。
在系统制作中,主要有以下几个步骤:1)打开matlab,新建一个Graphical User Interface(GUI);2)选择默认的Blank GUI(Default),单击ok;3)进入GUI界面编辑界面,左侧边栏为界面的一些快捷按钮,按住鼠标左键可以拖到右侧编辑框,各个按钮一般都有各自作用;4)按需要选择按钮并排版;5)在未放置按钮区域右键选择Edi—tor;6)进入代码编辑界面,在按钮的对应区域加入所需代码;7)点击上方绿色三角(或按F5)运行,调试通过;8)调试通过即可保存-m文件以及,fig文件即可。
2,2加解密模块
密码学的两个分支为加密密码学和解密密码学,对应的算法即加密和解密。密码体制就是完成加密和解密功能的密码方案。近代密码体制可分为两大类:对称加密体制和非对称加密体制。
对称加密的优点是数据处理快,但缺点在于密钥的管理过于复杂。假设有N个用户进行对称加密通信,如果按照上述方法,则他们要产生N(N-1)把密钥,每一个用户要记住或保留N-1把密钥,当N很大时很难记忆,而保留起来又会使密钥泄漏的可能性增加。本系统主要研究了比较典型的三类对称密码:DES、AES、RC4。
非对称加密技术又叫公开密钥算法,它用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。在这种加密算法中。加密密钥被叫做公开密钥。而解密密钥被叫做私有密钥。非对称加密的缺点在于实现算法的效率低、速度慢,非对称加密的优点在于用户不必记忆大量的提前商定好的密钥。但为了保证可靠性,非对称加密算法需要一种与之相配合使用的公开密钥管理机制,常用的非对称加密算法有RSA、MD5等。
2.3系统测试结果
经过多次测试及修改,系统最终实现了相关功能。图2为5种常用算法的演示界面,图3是DES算法加密解密的执行结果。由于版面有限,关于对临时输入的文本内容以及文件的加解密就不再累赘。
3结束语
本文针对密码学课程复杂抽象、理解困难的问题,设计并实现了基于matlab的密码学演示系统,包括系统的架构、开发工具、功能的设计与实现。测试结果表明该系统界面简洁、互动友好,功能性完整,实现了密码学课程中典型的5种算法演示。这一软件的有效利用极大地提高了学生的学习兴趣,激发了学生的学习热情,使得密码学课程教学效果收益显著。