当前位置:首页 > 专题范文 > 公文范文 > 正文

基于算法的信息安全数学基础教学模式研究

发布时间: 2022-10-30 14:20:04 来源:网友投稿

摘 要:针对信息安全数学基础理论性太强,教材没有很好融合算法设计与分析思想和信息安全数学基础的概念、定理和结论,提出融合算法、编程实践和信息安全数学基础关键概念、定理和结论的教学模式观点,经过几年实际检验,表明这种教学模式既高了学生的学习积极性有提高了教学效果。

关键词:信息安全数学基础算法编程教学研究

信息安全数学基础是信息安全专业的一门专业基础课程,有很强的理论性和应用空间,是信息安全后续专业课程现代密码学、网络安全等课程的基础。这门课程掌握不好直接影响现代密码学的学习,而现代密码学又直接影响网络安全和网络安全编程的学习,有着多米诺骨牌式的效应。信息安全数学基础主要强调数论和近世代数,较为抽象,数学专业的学生学习数论和近世代数有时也会有些吃力,通过对新疆大学2011级到2014级信息安全专业的本科学生的上课情况看,有些学生在学习信息安全数学基础课程还是有些吃力的,这些学生本来数学基础就有点差,若再提不起兴趣,就会直接导致后面许多课程无法同步跟上。通过对2011级到2014级学生观察发现大部分学生其实喜欢动手实践,这可提高学生的参与度和成就感。信息安全数学基础虽然理论性很强,但也是有规律可循,需要让学生掌握的许多理论本质是让学生掌握基于这些理论背后的算法,如讲解整数整除基本性质就是为了让学生掌握扩展欧几里得算法,讲解同余性质及欧拉定理等也是为了让学生掌握模重复平方计算算法,讲解一次同余式和中国剩余定理其实也是在讲解其算法原理,诸如此类还很多。由于大部分学生喜欢编程,将枯燥的信息安全数学基础理论模型化并提出算法实现需求,然后让学生去动手实践,学生就不会感到数学理论和公式的枯燥,这样大部分学生就很感兴趣,也提高了学生的学习的主动性和成就感。在2012级到2014及部分学生中经过试点后,学生反映还是比较好的,有些学生的创造力还是很突出的,改革信息安全数学基础课程,删除较为枯燥的无用的某些数学理论,精讲较为实用的理论,讲透实用理论的目标和应用场合,将算法融入的信息安全数学基础中可使信息安全专业学生将先前学习的程序设计及数据结构与信息安全数学基础衔接在一起,支撑起后续课程的学习,又锻炼的学生的算法设计和编程能力。因而很有必要改革传统信息安全数学基础课程的上课模式及授课内容,切实让学生能够学得轻松也能让学生学有所成。[1]

一、教学现状

国外许多大学如麻省理工、斯坦福大学等都开设有密码学课程,他们大都将密码学课程分为两个学期,前一个学期主要讲解密码学基础,即信息安全数学基础,他们留有大量有关信息安全数学基础的实践项目,以帮助学生更好的掌握有关理论及如何应用,开阔学生的视野。国内上海交通大学将信息安全数学基础也分为两个学期上,但主要是强调其数学基础和数学理论,山东大学有着数学上的优势,他们的信息安全数学基础就是从数学角度来传授的,武汉大学和华中科技大学也没有将算法有关思想融入到信息安全数学基础中。紧跟国家和自治区经济和政治的需要,2006年新疆大学信息科学与工程学院开设信息安全专业。2012年信息安全专业被批准为自治区紧缺专业,2017年获批为新疆维吾尔自治区战略新兴专业。虽然开设了信息安全专业,但与内地高校的生源质量还是有些差距,鉴于信息安全专业学生的数学功底,在信息安全专业学生中主要传授信息安全数学基础背后的算法,而不是大力强化理论,会使以后更多信息安全专业学生受益。闫玺玺[1]提到教师是课堂教学的策划者,要上好信息安全数学基础这门课,教师必须针对该课程的特点和内容,制订好教学方案,激发学生的兴趣,提高学生的积极性,为密码学技术的学习打好基础。但没有提到融合算法和信息安全数学基础基本定理和结论。李瑞琪[2]提出了信息安全数学基础教学应该“讲一练二考三”,即精讲、多练、广考来提高学生学习积极性,仍然没有解决学生算法、数据结构、编程和信息安全数学基础的知识综合应用问题。秦艳琳[3]提出要精心设计课堂互动,提高学生学习兴趣和注重介绍数学基础知识在密码学和信息安全领域中的应用实例,突出了信息安全数学基础在密码学中的应用实例,但没有将学生可能已经具备的算法、数据结构、编程能力综合利用进一步引导学生综合应用所学知识能力和提高学生自主学习信息安全数学基础中枯燥的定理和结论能力。本文主要探索了信息安全数学基础中有关定理和结论如何与算法结合在一起,基于这些定理如何设计算法及这些定理可以现在算法什么地方,为进一步探索多课程交叉融合的信息安全数学基础教学模式提供了思路。[2]

二、融合算法的教学模式

从本科专业培养方案上来说应该在信息安全数学基础之前开设程序设计语言课程如C语言、Python语言等、线性代数、数据结构和算法设计与分析等课程。学生有一定的编程基础后,再学习信息安全数学基础理论时,就可以使用有关数据结构和编程语言实现扩展欧几里得、模重复平方、原根等的具体计算,当编写出相应的程序后,学生比较有成就感和获得感,又锻炼了学生编程能力,使学生体会到信息安全数学基础不仅可以从数学角度去理解和计算也可以从计算机科学的计算角度去理解和计算。其次应该设置信息安全数学基础课程实践课程。可以设置广义欧几里得算法、模重复平方算法、一次同余式求解算法、中国剩余定理算法、勒让德符号计算算法、原根求解算法、Miller-Rabin算法和有限域构造算法等,每个算法实践大约4学时,涵盖了信息安全数学基础主要概念、定理和结论[4]等。若无法在信息安全数学基础课时内安排实践课程,可以安排为实践类课程作业。学生除了需要进行实践外,应该理解广义欧几里得算法和模重复平方算法等算法设计思想和计算机复杂度,理解为什么可以将广义欧几里得算法和模重复平方算法等算法应该密码理论中,从算法角度理解这些迭代算法的循环不变式[5]其实就是信息安全数学基础中有關定理的体现。[3]

三、具体实例

1.扩展欧几里得算法

欧几里得除法是a,b是两个整数,其中b>0,则对任意的整数c,存在唯一的整数q,r使得a=q·b+r 。扩展或广义欧几里得除法主要求两个整数a,b的最大公约数的。即,gcd(a,b)=(a,b)= s·a+ t·b,其中最大公约数(a,b)、整数s和t可以使用下面的算法计算得到。该算法的输入是整数a,b,输出是整数sn, tn和rn,满足sn·a+ tn·b= s·a+ t·b=rn=gcd(a,b)=(a,b),该算法的循环不变式是si·a+ ti·b=ri(i=1,2,…n),此循环不变式也是信息安全数学基础中广义欧几里得除法的一个定理,因而是正确的。其计算过程如下表所示。计算时间复杂度是O(lg n),其中n是整数a,b中绝对值较大者。该算法主要用于求模n乘法逆元,在密码学RSA算法等涉及求逆元的算法都会使用到该算法,是必须要掌握的一个算法。该算法计算过程代码如下。[4]

3.模m原根计算算法

根据信息安全数学基础中初等数论结论模m有原根的重要条件是m=2、4、pa、2pa,其中p是素数。计算原根的关键是找到素数p其中一个原根g,素数p的其他原根可以通过计算gd的得到,这里的d是一个与p-1互素的正整数,即(d,p-1)=1。只要找到素数p的一个原根,就可计算pa、2pa的原根,从而可以计算从有原根的任意模数m的原根。奇素数p的原根计算算法是首先计算p-1的不同素因子q1,…,qs,g从小到大遍历这s个素因子,若,则此素因子g就是素数p的一个原根。该计算机算法计算工作量主要是p-1的素因子分解,当p是非常大的素数时,该计算机问题NP问题,计算机工作量是比较大的,但对一般意义的奇素数p,这个计算算法还是可以接受的。[5]

本文探讨了融合算法设计与分析思想到信息安全数学基础教学中,一方面可以提高知识综合应用的能力,另一方面可以提高信息安全数学基础教。

结语

本文探讨了融合学的效果,提高了学生学习的积极性和主动性。如何应用算法设计与分析的思想设计更为有效的信息安全数学基础中有关问题的算法及更加有效地融合算法设计和信息安全数学基础是下一步要考虑的问题之一,其次需要利用微信等社交网络工具和聊天机器人技术进一步搭建信息安全数学基础课程答疑服务系统也是下一步考虑的问题之一。

参考文献

[1]闫玺玺,刘琨.《信息安全数学基础》教学方法探索与体会[J].考试周刊,2014(06):114-115.

[2]李瑞琪,高敏芬,贾春福等.信息安全数学基础的“讲一练二考三”改革方案設计[J].计算机教育,2016(11):27-29.

[3]秦艳琳,吴晓平.提高信息安全数学基础课程教学效果的几种途径[J].计算机教育,2016(3):132-135.

[4]陈恭亮.信息安全数学基础(第二版)[M].清华大学出版社,2016.

[5]殷建平,徐云,王刚等译.算法导论(第三版)[M].机械工业出版社,2014.

作者简介

杨文忠,(1971.7—),男,河南,博士研究生,副主任,副教授,信息安全博士,硕士生导师。研究方向为网络空间内容安全、算法设计与分析、无线传感器网络和物联网路由等。已发表文章20多篇,主持和参与国家级和省部级项目10多项。

最新文章

版权所有:博古范文网 2012-2024 未经授权禁止复制或建立镜像[博古范文网]所有资源完全免费共享

Powered by 博古范文网 © All Rights Reserved.。浙ICP备12018771号-1