密码学课程交互式算法演示系统开发与应用.docVIP

密码学课程交互式算法演示系统开发与应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
密码学课程交互式算法演示系统开发与应用

密码学课程交互式算法演示系统开发与应用   摘 要:密码学课程是一门抽象复杂、学习枯燥、学生反映难度太大的课程。在充分地对学习者做了需求分析的基础上,针对如何增强课程的有效性、趣味性和应用性的教学难点,设计开发了密码学课程交互式算法演示系统。以DES算法为例,介绍了算法演示过程的动态性和交互性以及数据输入的灵活性等特点。系统解决了现有算法演示系统动态性差、缺乏交互以及难以在算法和动画间建立关联等问题,在实际教学应用中对改进教师的教授方式以及帮助学生更好的掌握复杂的密码学算法,取得了很好的教学效果。   关键词:密码学;DES算法;动画演示;直观演示;教学应用   中图分类号:TP391.9 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.06.003   本文著录格式:[1]黄新平.密码学课程交互式算法演示系统的开发与应用[J].软件.2013,34(6):8-12   0 引言   密码学课程是计算机专业信息安全方向的主要课程之一,该课程的主要目的是让学生能够学习、理解和掌握一些常用密码算法的加密和解密原理。但由于密码学算法的原理过于抽象和复杂,以至于很多学生在学习这些算法时往往感到比较困惑,进而容易产生厌烦的学习心理,从而使其学习的主动性和积极性也受到了一定的影响。[1]其中,造成密码学算法教学困难的原因主要有如下几点:首先,教材中涉及算法讲解的内容不够详细,多是一些关键概念的图示,缺乏对算法的详细描述;其次,算法的执行过程对学生而言是透明的,学生无法直观的观看到算法的执行过程以及算法执行过程中相应数据结构的动态变化情况;最后,在传统的教学模式下,教师借助黑板和演示文稿等教学资源对算法只能进行抽象的语句讲解和静态的算法描述,而不能进行直观的交互操作和动态的过程演示。   为了解决以上教学难题,人们提出了算法演示的概念,所谓的算法演示,就是把算法的运行与数据结构的变化有效的联系起来,不仅能够让学生观看到算法的执行过程,还可以让学生观看到算法相应数据结构的动态变化情况及结果。[2] [3]基于这一思想,进行了密码学课程交互式算法演示系统的设计与开发,该系统在??分利用Windows编程面向对象和可视化技术优势的同时,又整合了Flash、Activex等技术,在很大程度上弥补了现有一些算法演示系统在动态性、交互性、灵活性以及算法和动画之间关联性等方面的缺陷。实践证明,该系统在密码学课程的实际教学应用中有效的促进了课程教学质量的提升。   1 系统的设计与实现   密码学课程中的关键算法主要有DES、3DES、AES等算法,鉴于这些算法演示系统的实现方法相似,以下仅以DES算法演示系统的实现为例来对整个密码学课程交互式算法演示系统的设计与实现进行说明。   1.1 需求分析   1.1.1 功能需求   为了能有效增强密码学课程算法教学的有效性、趣味性和应用性,要求系统能够实现如下几个方面的功能:一是实现DES算法整个加密过程与解密过程的直观演示;二是实现DES算法的动态交互演示;三是实现算法与动画的关联演示;四是可以利用DES算法对任何格式的文件进行加密以及对相应加密文件的解密。   1.1.2 学习者需求   为了能更好的促进学习者的学习,要求系统在实现以上功能的基础上,还应满足如下几个方面的学习者需求:首先,系统的界面设计一定要简洁,必须以方便学习者操作为原则,保证学习者能够在有限的时间内,就可以很好的掌握系统的界面操作;其次,允许学习者自由的输入数据,确保学习者可以观看到不同输入情况下的算法执行过程,以便能更好地理解算法的原理;最后,考虑到学习者接受知识的速度存在差异,因而可以通过调整算法演示执行时的延迟时间,来由学习者自主控制算法演示的速度,进而可以让学习者自行掌控算法的学习进度。[4]   1.2 开发工具和开发方案   1.2.1 开发工具   本系统的开发主要采用了Borland C++ Builder 6.0、Flash和Activex等工具。其中,Borland C++ Builder 6.0的开发环境中具有完善的软件开发工具,其事件驱动编程机制可以使软件开发人员高效地开发出基于图形用户界面的可视化应用程序;Flash是一款功能强大的多媒体制作工具,制作出来的动画非常生动形象,而且利用它所支持的ActionScript脚本编程所编写的特定程序,可以很好的实现用户对动画的交互控制;Activex作为一个开放的集成平台,可以有效实现不同应用程序的整合。   1.2.2 开发方案   (1)本系统主要用于实现DES算法的直观演示,这就要求开发工具能够有效解决算法的运行逻辑问题,而Borland C++ Builder 6.0所提供的事件驱动编

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档