潘 林,王金双,陈 融,袁志坚,张 涛
(解放军理工大学,江苏 南京 210007)
摘 要:针对当前应用密码学实验课程的实验项目设计存在的内容单薄、难度失衡等问题,介绍基于开源软件CrypTool设计的一套应用密码学实验,其中涵盖古典密码学、现代密码学、身份认证与数字签名三大部分的实验项目。
教育期刊网 http://www.jyqkw.com
关键词 :CrypTool;密码学;实验
基金项目:理工大学2013年教育教学重点课题(GJ1303012)。
第一作者简介:潘林,女,讲师,研究方向为信息安全,hibiscusPL@163.com。
1 密码学实验存在的问题
密码学是信息安全专业的核心课程和主干课程,理论性深入,实践性也很强。一方面,它在理论上需要较多的数学知识作为学习基础;另一方面,它在密码算法实现和应用方面都具有很强的实践性。
密码学实验课程是密码学理论课程的配套实验课程,更强调密码技术的实现应用。然而,正如罗芳等撰文指出的那样,当前各大高校信息安全专业的密码学实验课程存在着一些普遍问题[1]:①学时较少,局限于古典密码和DES密码的算法体验等基础性实验,内容相对单薄;②DES、RSA等算法编程难度大,直接影响学生的编程实验兴趣;③缺少密文分析和密码破译实验,但是现实网络应用当中,密文分析及密码破译是黑客们很重要的一个攻击手段,同时也是算法编写者验证算法安全性的手段;④鉴于课时所限,大部分的密码学实验课题之间完全独立,缺乏密码应用系统实验,直接影响学生的积极性和学习兴趣。
针对以上问题,在信息安全专业的应用密码学课程建设中,我们提出基于开源软件CrypTool设计一套应用密码学实验项目,以达到既能帮助学生通过实验验证和加深理解密码学原理的目的,又能激发学生学习和应用密码学技术的兴趣,还能进一步提高学生的密码应用创新的能力。
2 实验平台CrypTool
CrypTool是一个专门为密码学教学而设计的免费、开源Windows图形化软件。CrypTool的研发始于1988年,最初目的是提高德意志银行员工的计算机安全意识。目前,CrypTool已成为开源软件,全球60多位志愿者为其提供了200多个密码学的算法实现功能,被全球许多著名大学所采用。CrypTool不仅包含了丰富的密码学算法和密码分析工具,还提供了详细的文档来解释算法以及可能的攻击,并通过封装对外提供可视化的图形界面。因此,CrypTool 既可以作为密码学基本概念的可视化工具(包括数字签名、对称非对称、混合加密、协议等),又可以被IT专家用于评估算法。
CrypTool目前主要有3个版本:CrypTool-1、CrypTool-2和JCryptool。
CrypTool-1是使用C++实现的Windows应用程序,可用于算法可视化展示和加密—解密—破译实验。主要功能不但涵盖古典密码学和现代密码学的所有算法及部分算法的动态演示过程,还包括了消息认证、数字签名等其他信息安全功能的实现,以及安全协议如密钥交换协议Diffie-Hellman的分步实现过程。
CrypTool-2是基于可视化编程概念在Visual Studio平台上使用C#实现的Windows应用程序,支持基于图形化密码学算法组件来创建项目描述密码在机密性、完整性等方面的应用,用户可以将最初始的各种算法进行组合和变换得到可视化的结果。CrypTool-2灵活性还体现在开发人员可以通过插件在.net框架下增加新功能。
JcrypTool是在Eclipse开发环境中使用Java语言实现的应用程序,在CrypTool1.4的基础上丰富了内容,既包含一些算法体验,也为开发人员提供实现插件程序的环境。Jcryptool支持Windows、Linux等多种操作系统,也支持插件程序,使得新的加密算法和协议可以很容易地被添加到环境中。
这3个版本都需要下载和安装后才能得以运行,在线运行的CrypTool-Online则无需下载安装,只要访问www.cryptool-online.org <http://www.cryptool-online.org/>即可。
3 实验设计思路
高等教育发展的核心任务是提高质量。高等教育中,实践教学是学生理解并运用理论知识、接受科学思维方法、培养创新意识和能力的重要手段。要提高实践教学的质量,就需要面向不同实践能力学员、把创新教学的理念贯穿于实践环节始终,引领学生以浓厚的兴趣完成实践教学的每个环节[2]。
密码技术是信息安全的关键技术之一,几乎所有的信息安全技术都应用到密码技术。密码设计与分析具有深入的理论性,但是密码算法只有实际实现才能应用,才能发挥密码算法的作用。因此,密码学实践能力成为信息安全专业学生应当具备的实践能力的重要组成部分。
作为密码学理论课程的配套实验课程,密码学实验课程的人才培养目标更加强调密码技术的实现应用。通过密码学实践能力的培养,学生应掌握密码标准算法的实现与应用能力,能够使用常用密码软件工具,进而具有一定的密码应用能力[3]。
实验任务应包括3个层次:①帮助学生理解密码学理论知识,尤其是理解加密算法和密码分析方法;②培养提高学生将理论知识转换为实际成果的能力,主要是将算法编程实现成为可以实际应用的程序;③拓展学生的视野,设置常用密码应用的模拟情景,为学生将来的实际工作打下基础。
密码学主要包括古典密码体制、现代密码体制、消息认证、身份认证与数字签名等内容,它们各自具有不同的特点,实践内容选取的方向也就各不相同。
古典密码学的算法通常都比较简单易于理解,而且算法的编程实现和应用编程难度不大,所以这部分的实验项目多偏向于密码分析的应用;现代密码学特点通常算法都比较难,不容易理解,独立编程实现难度较大,加解密过程复杂,所以这部分的实验项目多偏向于对算法和编码过程的理解、算法的分析比较、算法的应用编程;身份认证与数字签名的实际应用较广泛,所以这部分的实验项目多偏向于以模拟应用加强对相关原理的理解。
4 实验项目设计
(1)代换密码的手工破译实验。实验目的是让学生掌握基于Cryptool工具进行手工密码破译的方法,加深学生对密码学英文术语的印象。实验内容是已知给定的一段密文中第一个密文词Ivxzoo对应的明文是“Recall”, 使用CrypTool进行密码分析,并恢复加密密钥和明文。实验结果要求提交以上代换密码使用的密钥即字母映射表以及恢复出的明文。
(2)恺撒密码破译实验。实验目的是为了让学生掌握在Cryptool软件环境中使用频率分析破译恺撒密码的方法,学会使用熵值、字母频率等工具进行明文和密文的比较,理解唯密文分析的过程和结果。实验内容为已知给定的一段密文是基于恺撒密码加密的,利用CrypTool工具对其进行破译;计算明文和密文的字母频率分布并比较,总结明密文字母频率满足的规律并给出解释;计算明文和密文的熵值,比较明密文熵值的规律并给出解释;思考恺撒密码成功破译条件:当文档少于20个字符时破译成功概率。实验结果要求提交实验中得到的密钥、熵值、明密文字母频率分布图、恺撒密码成功破译的条件。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说经典论文基于CrypTool的应用密码学实验设计在线全文阅读。
相关推荐: