密码学的课程特点及教学方法探讨

2010-04-07 22:23贾伟峰杨礼波
关键词:密码学私钥哈希

贾伟峰,杨礼波

(1.安阳师范学院,河南安阳455000;2.华北水利水电学院,河南郑州450011)

密码学的课程特点及教学方法探讨

贾伟峰1,杨礼波2

(1.安阳师范学院,河南安阳455000;2.华北水利水电学院,河南郑州450011)

结合自身教学体会,简单论述了密码学课程的特点,介绍了密码学教学过程中可采取的一些方法和手段。同时,简要分析了密码学课程教学过程中存在的一些问题和解决对策。

密码学;教学方法;课程特点

密码学作为一门专业课程在我国高校开设由来已久。现阶段开设密码学课程的专业较多,如信息安全、信息与计算科学、计算机和通信等相关专业。由于开设该门课程的专业各有不同,开设时间也各不相等,因此有关课程教学大纲、教学内容和方法等诸多方面尚处在探索阶段。笔者拟结合自身实际教学,谈一谈密码学课程的特点及一些教学方法。

一、密码学课程的特点

密码学相对于其他大学理工科课程来说,具有如下特点:课程所涉及的知识跨度广;课程难度高;理论性和应用性均比较强。密码学的学习需要诸多前置课程作为基础,根据课程设置的侧重点不同,前置课程分别包含数论、近世代数、有限域上数学运算和网络安全协议等。前置课程的知识难度较大,尤其体现出密码学这门课程对数学基础的要求很高。同时,密码学课程本身知识跨度也很广。总的来说,其授课内容往往包含密码学基础、古典密码学、私钥密码学、公钥密码学、哈希函数、数字签名、身份认证和鉴别、电子商务中的密码学应用、网络安全协议的设计与开发以及公钥基础设施,等等。知识跨度广的特点决定了密码学这门课程具有较高的教学和学习难度。根据笔者在实际教学过程中的体会来看,大部分学生反映课程难度太大,学起来困难重重。因此授课过程需要对算法细节进行详细的推导和分析,并且要想尽办法增加课程内容的趣味性和应用性,以吸引学生。此外,密码学课程的特点还体现在另一个方面,即授课内容的基础理论性和应用性都较强,学生学习这门课程的过程中对密码学的应用很感兴趣。

二、密码学课程的教学方法

一是由浅入深引领课堂教学。密码学课程不同于其他课程,具有知识跨度广、课程难度高的特点。在高校开设该课程之前,有些必备的前置课程,某些专业的学生可能没有学习。这就要求实际教学过程中,课程设计必须由浅入深,步步推进。比如在由私钥密码学过渡到公钥密码学章节的时候,可首先举例概括私钥密码学的特点,论述私钥密码学有什么不足之处。此外,对于这些不足之处,有什么解决办法?这些问题中,应重点论述私钥密码学中的密钥管理难题,从而让学生对该问题产生兴趣,自然而然过渡到新的章节教学中。另外,对于很多密码学算法中的数学运算,比如求乘法逆、有限域上的多项式运算等,可不必先长篇讲述数学基础,而是将密码学的数学问题图表化,采用归纳的方法引出一般性结论。这种逆向性的学习方法可以使学生更加容易、快速地接收更多信息。

二是互动与思考。现阶段多数课程的教学以填鸭式灌输知识的方式进行。如果课程难度一般,这种方式可让学生在短时间内大量接收知识。对于密码学课程,由于课程难度较高,如果采用这种方式授课的话,学生在短时间内即产生抵触情绪,教学效果很不理想。互动与思考在任何课程的教学过程中都具有重要的意义,也是我国各类课程教学方法改革中讨论较多的一种教学手段。在密码学课程的教学中,互动与思考更为重要。比如对于RSA公钥密码算法的讲解来说,如果课堂上直接将公式分为几步罗列推导,且中间不采取措施和学生互动的话,等推导完毕后,学生大多还是一知半解。这个时候,可以在讲解一步运算以后,提出问题让学生思考这步运算的作用。暂停课堂讲解,进入讨论环节,让学生的思路跟着教师的讲解步步前进,可取得较好效果。

三是实践印证。对于密码学中的关键知识,最好结合现有的实际应用进行介绍,这样可让学生对该问题有更为直观的体会,从而取得较好学习效果。比如对于哈希函数的讲解,如果课程伊始就介绍哈希函数特点或者罗列哈希函数的相关数学公式,那么学生很容易产生抵触情绪——因为学生不知道这个东西究竟具有什么作用。此时,教师可从一个实际问题出发:目前网上很多资源下载的时候都附有一个MD5的摘要文件,这个文件的作用是让用户检测该资源是否被完整无误地下载或者下载过程有没有被篡改等。此时可让学生开始对这个问题进行思考,进而逐步导入到哈希函数章节的教学中。

四是课程论文的撰写。由于密码学这门课程涵盖的知识范围非常广,相关研究开展的也很多。因此撰写课程论文可以让学生跳出教材,对相关问题做进一步的研究和探讨。教师可在适当的时候让学生撰写课程论文,这样可以帮助他们更好理解课程内容,开拓自己的学习思路。另外,课程论文的撰写一定程度上能够锻炼学生的文献搜索能力和知识总结能力,有效扩展知识面。

五是经典密码学算法的编程实现。密码学的核心内容由一个个的密码算法构成,对这些密码学算法的理解和分析是课程教学的重点。对于很多的经典密码学算法,网上有相应的代码资源。教师在讲解算法的过程中,可以提醒学生要注意对这些资源的获取和理解。关键部分的程序代码可布置作业,让学生自己编程实现。通过程序的编写,可让学生更进一步理解算法的本质,特别是对算法的复杂度有直接的认识,为以后的积累和创新打下基础。

三、密码学课程教学中存在的问题和解决对策

第一,前置课程开设不太合理。密码学课程的本身涵盖内容较广,顺利学习该课程需要首先对一些先导课程进行学习。由于现阶段多个专业都在开设该课程,而对于先导课程的安排更多地是考虑到各专业自身的需求,有的专业可能会忽略对密码学课程先导课程的考虑和安排。这直接导致了学生在学习这门课程过程中产生难度过大的问题。笔者建议,可在这门课程讲授之前,面向开设本课程的学生分几个专题讲解密码学基础内容。在讲解这些内容时,布置一些与密码学相关的问题供学生思考和分析,从而为将来这门课程的学习打下基础。

第二,文献资料不够新颖、充分。密码学由于其应用领域的保密性原因,很多文献资料处于保密状态。现阶段的密码学教学和研究都是针对一些密码学中的常规问题而开展。笔者建议应该最大限度利用互联网获取当前的最新资料,让学生紧跟密码学的研究进展,扩展学生的知识面。

第三,理论授课和实际应用脱节。对于多数密码学算法的讲解,很多教材过多进行理论上的探讨,缺乏直观的应用举例。笔者认为,制定教学大纲时应该对这门课程设置多个短小精悍的“课程项目”,供学生在学习过程中动手编程实现。同时,将“课程项目”作为期末考评的关键部分,促进学生积极锻炼自己的动手能力,从而使之更加直观地感受到密码学的底层实现。

Abstract:Incorporate with experience to author’s practical cryptology teaching,characteristics of this course are simply discussed.Several methods that could be adopted during the process of teaching are introduced.Simultaneously,problems and corresponding countermeasures are mentioned at the end of this paper.

Key words:Cryptology;Teaching Methods;Course Characteristics

(责任编辑:宋孝忠)

On the Exploration of Course Characteristics and Teaching Methods of Cryptology

JIA Wei-feng1,YANG Li-bo2
(1.Anyang Normal University,Anyang 455000,China;2.North China Institute of Water Conservancy and Electric Power,Zhengzhou 450011,China)

G642

A

1008—4444(2010)03—0169—02

2010-03-02

贾伟峰(1982—),男,河南浚县人,安阳师范学院计算机中心讲师,硕士。

猜你喜欢
密码学私钥哈希
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
文件哈希值处理一条龙
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
一种基于虚拟私钥的OpenSSL与CSP交互方案
密码学课程教学中的“破”与“立”
基于OpenCV与均值哈希算法的人脸相似识别系统
应用型本科高校密码学课程教学方法探究
巧用哈希数值传递文件