《课程设计选题题目1数论与代数在公钥密码设计中的应用和实现.docx》由会员分享,可在线阅读,更多相关《课程设计选题题目1数论与代数在公钥密码设计中的应用和实现.docx(9页珍藏版)》请在课桌文档上搜索。
1、课程设计选题题目X:数论与代数在公钥密码设计中的应用和实现一、实验设计目的信息安全技术已成为各国战略至高点,公钥密码是现代密码学中的重要理论部分,是信息安全技术的核心基础。如何合理地利用数论和代数中的相关理论,特别是一些难解问题,来巧妙设计公钥密码体制是公钥密码技术的关键。各类难解问题促使了不同类型的公钥密码体制的诞生,反之,公钥密码的发展也促使在数论和代数系统构造或发现了更深层次的难解问题。本实验通过实际需求,让学生理解公钥密码设计的目的,通过对难解问题的理解和推导,掌握应用数论与代数理论设计公钥密码的过程;在深入理解基础理论的基础上,提高学生建立数学模型,并将数学模型转化为算法的能力;用实
2、践验证理论的思想,了解相关密码学算法包,并用其中的一个或多个算法进行程序设计。通过本实脸的理论分析和实践设计与编程,可以提高学生应用数学知识解决密码学实际问题的能力,深刻领会数学在信息安全领域中的应用。二、实验设计内容及要求公钥密码实脸是一个将不同陷门函数(及难解问题)应用设计密妈体统的综合实验。需要在实脸中完成的内容涵盖了对公钥密码的应用目标的背景理解,分析理解其所涉及的相关数论和代数理论,在此基础上应用难解性问题建模,构造公钥密码体制。除了在理论上掌握公钥密码与难解问题间的内在联系,还要有应用软件工程和数据结构等工具,设计优化算法,并结合现有的密妈学算法包,实现公钥密码系统。以下分为七个部
3、分做具体要求,在充分查阅资料的基础上,通过需求分析、建模、算法设计与实现等环节,完成从理论过渡到软件实现的过程,以深入理解数论和代数理论知识对公钥密码设计的作用。最后撰写实验设计论文(报告),涵盖以下内容,具体要求如下:1、问题背景与需求要求:简要分析对称密码体制在密钥管理方面及身份认证方面的的不足,简要分析公钥密码的目的;结合公钥密码设计的目的和要求,查阅数论和代数资料,阐明描述运用哪些理论可以用来设计公钥密码。2、数学理论与方法基础要求:根据公钥密码的目的和要求,简述并分析用于设计公钥密码所需的相关的数论与代数理论以及方法,具体内容包含素数性质、整数分解、离散对数、有限域和椭圆曲线理论等。
4、3、数学建模分析要求:根据相关数学理论与方法,特别是一些公认的数论或代数难解问题,建立适当的模型,通过难解问题的单向陷门特性,构建出不同种类的公钥密码体制,并分析数学模型和公钥密码间的安全性关系。4、算法设计与分析要求:针对建立的公钥密码数学模型,对模型进行深入分析。结合软件工程和数据结构理论,采用合适的数据结构,并应用自顶向下的模块化思想或面向对象的程序设计思想,将模型中的元素和运算具体化,设计可行的算法。在有能力的基础上,在性能上可对算法(如时间复杂度或空间复杂度)进行改进或提高。5、实验设计与实现要求:算法设计结果应对现有的密码学算法包兼容,应用mirac1.NT1.、openSS1.A
5、da-Crypto-1.ibrary等密码学算法包,设计合理的系统框架和接口,利用算法包接口,采用合适的计算机语言(如CC+,Java,C#)和平台(WindOws,Iinux),编妈实现不同的公钥密码算法。实现过程应当有良好的编码风格,做好调试和测试工作,获得良好的实验结果。6、总结与体会要求:分析本实脸设计中,公钥密码设计为何需要数论和代数,特别是其中的难解问题,数论和代数是如何体现在公钥密码设计中的:简述在实验设计过程中对数学与密码学的认识,特别是公钥密码和单向陷门函数的认识,以更进一步理解数学在信息安全中的应用。分析数学理论是如何从理论转化到实践。分析在实脸过程中遇到的问题,并对自己的
6、设计做简要评价。7、参考文献要求:列出实脸设计中所参考的书籍、论文、报告和网页等。具体格式参照国家标准GB7714-87文后参考文献著录规则排写格式。题目2:hash函数与信息指纹实现一、实验设计目的了解与Hash函数和消息认证码相关的数学模型和算法思想,掌握基本的hash函数算法与消息认证算法;了解信息指纹的概念、原理和实现方法,会使用软件包编写基本HaSh函数,并将HaSh函数用于设计实现信息指纹。旨在提高学生建立数学模型并将数学模型转化为算法的能力。学会使用相关密码学算法包,学会利用软件工程的设计思想进行程序设计,提高学生应用数学知识解决密码学实际问题的能力。二、实验设计内容及要求按照以
7、下八个部分的要求,查阅相关资料,分析计算、设计算法与算法实现工作,在深入理解hash函数对信息指纹设计作用的基础上,撰写实脸设计论文(报告),涵盖以下内容,具体要求如下:1、问题背景与需求Hash函数是现代密码学中的一个重要组成部分,主要用于信息安全等领域,它是一个能将任意长度的消息压缩到某一固定长度的消息摘要的函数。也可以说,HaSh函数就是找到一种数据内容和数据存放地址之间的映射关系,即可以利用HaSh函数,将任何一段信息文字,对应成一个固定长度的随机数,作为区别它和其它信息的指纹(Fingerprint)o要求:了解HaSh函数的概念、性质,通过分析总结基本的hash函数算法及其对HaS
8、h函数的攻击方法,理解HaSh函数的本质。查阅信息指纹的应用背景,理解HaSh函数用于实现信息指纹的本质及设计思想,理出二者之间的内在联系,并简要回答如何利用HaSh函数设计信息指纹。2、数学理论与方法基础从理论方面来看,hash函数相当于把信息映射为另外一个随机值(函数的本质也即映射),作为区别它和其它信息的指纹,可看成是一个伪随机数产生器算法,而产生信息指纹的关键算法是需要伪随机数产生器,由此信息指纹实现的核心就在于选择合适的单向函数,以使得函数的映射具备良好的随机性,进而提高碰撞概率,即保证不同消息映射后的值也不同,达到信息指纹的要求。要求:简述HaSh函数的相关数学理论和核心思想,分析
9、总结HaSh函数用于设计实现信息指纹的方法,思考如何将理论方法应用于信息指纹的实现。3、数学建模分析用数学语言描述出信息指纹的核心思想,构建合适的数学模型,直观体现HaSh函数用于信息指纹实现的思路。要求:改进几种现有的HaSh函数算法,或者组合创建HaSh函数,利用设计好的几种HaSh函数构建实现信息指纹的数学模型,并分析这些数学模型的实施效率、安全性等,同时通过建立模型的过程加深理解Hash函数的本质,掌握Hash函数设计与信息指纹实现之间的联系。4、实验设计与分析利用软件工程的思想,对构造的数学模型进行概要设计,采用模块化的思想,通过自顶向下的方法将模型根据功能分成若干模块,并对每一个功
10、能模块进行设计,定义出每一模块的功能、数据流与接口。要求:查阅软件工程的相关资料,了解软件开发的过程,同时结合使用模块化思想,对构建的数学模型按功能划分子模块,参考软件工程中概要设计方法,设计各个子模块与总模块、定义模块功能、数据流、数据字典和预留出相关接口。5、算法设计与分析针对每一个功能模块进行详细设计,采用合适的数据结构,设计出可行的算法,并分析算法的时间复杂度与空间复杂度,通过分析与总结,不断改进与完善设计的算法。要求:根据概要设计的开发文档,对每个功能模块选择合适的算法思想,比如分治法、递后法和回溯法。其次对设计出的算法进行时间复杂度和空间复杂度的分析,得出符合要求的算法。6、实验的
11、实现与测试对每一功能模块设计好的算法,结合相关密码学算法包,编写每个功能模块:其次使用软件工程中的聚合方法组合各个模块,最终实现信息指纹;最后,对实验进行测试,检查是否满足功能,体会数学理论与信息技术是如何交叉结合的。要求:应用miracl、NT1.、OPenSS1.、Ada-CryPto-1.ibrary等密码学算法包中hash函数的实现,结合设计的算法,采用合适的计算机语言(如CC+,Java,C#)和平台(如WindOWs,Iinux),编码实现不同的功能模块,组合各个模块实现信息指纹,最后经过简单测试,完成实脸。7、总结与体会从信息指纹的应用背景中了解信息指纹的用途,通过查阅相关资料了
12、解实现信息指纹的关键算法,从而引出支撑的数学理论一HaSh函数。深入理解HaSh函数的概念、性质、本质,思考HaSh函数与信息指纹的内在联系,考虑如何将HaSh函数应用于实现信息指纹中,达到数学理论与信息技术的结合,体会信息指纹的实现需要数学理论的支撑,同时将数学理论应用于实践中也需要信息技术的支持。要求:分析本实验设计中,HaSh函数是如何应用于信息指纹的实现中,简述在实脸设计过程中对数学理论与算法实现结合使用的认识,体会所应用到的数学知识与本设计的内在联系,进一步思考相关数学知识在此方面的应用以及扩展,并对自己的设计做简要评价。8、参考文献要求:列出实验设计中所参考的书籍、论文、报告和网页
13、等。具体格式参照国家标准GB7714-87文后参考文献著录规则排写格式。题目3:Diffie-Henman密钥交换算法及其优化与实现一、实验设计目的Diffie和HelIman在其具有里程碑意义的文章“密码学新方向”中提出Diffie-HelIman密钥交换算法,时至今日该算法仍然是比较有效和安全的密钥交换算法。这个算法基于有限域中计算离散对数的困难性问题,能够实现在公共信道中进行密钥的分配。但是,Diffie-HeiIman密钥交换协议不支持对所建立的密钥的认证。处于通信参与者之间的恶意攻击者可以操纵协议运行过程并成功实施所谓的中间人攻击。因此,为了确保密钥的真实性,必须引入身份认证。本实验
14、通过实际需求分析,让学生理解Diffie-HeIlman密钥交换协议设计的原理及离散对数是如何在Diffie-HeIIman密钥交换确保安全性的;通过对协议的分析,找出其中存在的漏洞,进而对存在的漏洞进行探究,思考如何解决此攻击问题,并提出可行的解决方案,提高学生发现问题,解决问题的能力;在深入理解基础理论的基础上,提高学生建立数学模型,并将数学模型转化为算法的能力;用实践险证理论的思想,了解相关密码学算法包,并用其中的一个或多个算法进行程序设计,理论与实践的结合,锻炼学生应用理论知识解决密码学实际问题的能力。二、实验设计内容及要求按照以下七个部分的要求,查阅相关资料,分析计算、设计算法与算法
15、实现工作,在深入理解离散对数问题和Diffie-HelIman密钥交换协议的基础上,撰写实脸设计论文(报告),涵盖以下内容,具体要求如下:1、问题背景与需求要求:简要分析Diffie-Hellman密钥交换原理,理解离散对数难解性问题在Diffie-HeIlman密钥交换的作用,分析Diffie-HelIman密钥交换可能存在的漏洞,查阅相关资料,构思合理的解决方案。2、数学理论与方法基础Diffie-Hellman密钥交换协议的安全性在于离散对数的难解性,对于攻击者,虽然能知道公钥和通信双方的通信值,但无法得到共享密钥,除非他能在有限域上解出离散对数,而这一点是不可能。由此可见,基于数学难解
16、性问题,可以构建较好的密码系统。解决中间人攻击问题,引入身份认证的思想,可以从多方面考虑,如数字签名、加密的密钥交换协议,或者从数学的角度思考。要求:简述Diffie-HelIman密钥交换协议的数学理论和核心思想;针对Diffie-HelIman密钥交换协议中存在的安全隐患,提出解决思路,关键在于如何执行身份认证,并详述其原理。3、数学建模分析用数学语言描述新方案中的核心,构建相关数学模型,直观体现该方案的实现思路。要求:在原来Diffie-HeIlnlan密钥交换协议的基础上,可以通过数字签名,或者随机数等来实现身份认证,创建方案数学模型,并分析其安全性和效率。以此来加深对Diffie-H
17、elIman密钥交换协议本质的理解,以确保新方案实施的可行性。4、实验设计与分析要求:对建立的数学模型进行深入分析,利用软件工程的思想和数据结构理论,应用自顶向下的模块化思想或面向对象的程序设计思想,将模型中的元素和运算具体化,设计可行的算法。5、实验设计与实现要求:算法设计应基于原有的Diffie-Hellman密钥交换协议,否则攻击者是很容易找到离散对数漏洞的。利用密码算法包(NT1.、miracl等),采用适当的计算机语言和平台,编写新方案的算法;如果提出多种方案,可对其一一实现,并在效率和安全性上作出比较。6、总结与体会要求:分析本课程设计中,运用到哪些数学原理,是如何将这些数学知识应
18、用于密钥交换的。简述是如何根据Diffie-HellnIan密钥交换协议存在的问题想出新方案,及以后遇到问题应从哪些方面着手,如何解决。并思考通过对方案采用数学建模,对方案的实现有什么好处。7、参考文献要求:列出实验设计中所参考的书籍、论文、报告和网页等。具体格式参照国家标准GB7714-87文后参考文献著录规则排写格式。题目4:RSA算法的分析与实现一、实验设计目的RSA公钥加密算法是1977年由ROnRiVest、AdiShamirh和1.enAdleman在(美国麻省理工学院)开发的,RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA算法基于一个十分简单的数论事实
19、:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。除此之外,RSA算法还涉及数论中的多个数学知识和结论,例如素数的判定、欧拉定理的应用及模球的求法。通过对RSA算法的分析,认识到数学原理在密码学中的重要性,同时加深对RSA算法原理的理解:针对RSA算法的效率和安全性,提出创新性的思想,比如能否通过中国轲余定理等数学知识加快算法实现速度等。旨在提高学生的创新能力,及数学与密码学交叉综合能力。二、实验设计内容及要求按照以下七个部分的要求,查阅相关资料,分析计算、设计算法与算法实现工作,在深入理解大整数分解难解性问题和其它数学知识在RSA算法中的应
20、用的基础上,撰写实验设计论文(报告),涵盖以下内容,具体要求如下:1、问题背景与需求要求:分析RSA数学原理,大多都是大数计算,在RSA算法中,最基本的算法主要包括模加、模乘、模逆和模寐运算。大数运算很费时间,尤其是大整数的模逆和模底运算,使得RSA最快的情况也比DES慢上好几倍,对于RSA,速度一直是缺陷。通过查阅资料,构思有哪些数学知识的应用可以加快RSA算法的速度:并分析RSA算法在加密与数字签名上中的原理,并比较分析不同点,针对不同情况,选取合理的原理。对当前RSA公钥密码体制进行了分析与研究,了解了怎样的密码体制才能充分发挥RSA的安全作用。分析了RSA加密解密的安全性,以及如何选取
21、RSA密钥长度的问题。2、数学理论与方法基础要求:根据RSA算法的原理,简述并分析RSA算法所需的相关数学知识及方法,适当的调整其运算顺序,以及如何对应用相关的数学结论和方法化简运算式子,提高效率;并思考为提高其效率应增加哪些数学原理的应用。3、数学建模分析要求:根据RSA算法中现有的相关数学理论与方法,及新提出的数学方法,建立适当的模型,通过对中国剩余定理等的分析,探索其在加密解密或数字签名中对提高效率产生的作用,并分析新产生的数学模型和RSA算法的安全性关系。4、算法设计与分析要求:针对建立的数学模型,对模型进行分析。利用软件工程和数据结构理论,采用合适的数据运算和理论,如编写RSA加密解
22、密时以字符为单位、大素数产生时选取合适的判定方法、采用移位操作等,设计可行的算法。5、实验设计与实现要求:在算法设计与分析的基础上,提炼最合适的数据结构和运算方法,利用密码算法包(NT1.、miracl等),采用适当的计算机语言和平台,编写改进的RSA算法,实现过程应当有良好的编码风格,做好调试和测试工作,获得良好的实脸结果。6、总结与体会要求:通过对RSA公钥密码体制的分析和研究,简述怎样的密码体制才能充分发挥RSA的安全作用及如何选取密钥长度,针对实际应用,简述怎样设计RSA算法才能降低复杂度,提高信息加、解密的速度。分析数学理论是如何从理论转化到实践。分析在实验过程中遇到的问题,并对自己
23、的设计做简要评价。7、参考文献要求:列出实脸设计中所参考的书籍、论文、报告和网页等。具体格式参照国家标准GB7714-87文后参考文献著录规则排写格式。题目5:数字签名在电子商务中的应用和实现一、实验设计目的电子商务是互联网上发展最快的应用方向,它是借助于互联网的快速信息传输能力来完成各种商务活动,包括电子数据交换、在线交易系统、网上银行、商业增值网等。电子商务活动中的电子订单、电子帐单、电子收据、电子合同等电子文档都需要作数字签名以确保真实性。通过分析电子商务的交易方法和手段,获取其安全需求;理解数字签名的原理,并掌握几种数字签名,并将数字签名用于实现电子商务的安全性。旨在提高学生针对应用需
24、求将理论实践化的能力,要求学生利用相关软件算法包,学会利用软件工程的设计思想设计应用程序,根据相关数学原理将几种数字签名融合使用或将数学知识嵌入数字签名进行改进,提高数字签名在确保数据其实性等方面的应用。二、实验设计内容及要求按照以下七个部分的要求,查阅相关资料,分析计算、设计算法与算法实现工作,在深入理解数字签名用于保证消息真实性、身份认证的基础上,撰写实脸设计论文(报告),涵盖以下内容,具体要求如下:1、问题背景与需求数字签名是认证技术的一种,可以用来进行实体认证、消息认证及身份认证。通常,在电子商务中,为确保消息的其实性,需对消息进行认证,让接收方能脸证消息的来源、时间性与目的地的真实性
25、;同时,用户身份认证也是许多应用系统的第一道防线,目的是防止数据被非法用户访问,根据上述需求及数字签名的不可伪造性、保证消息的完整性、不可否认性等特点,数字签名在电子商务中功不可没。要求:理解数字签名实现的原理和过程,针对不同的数字签名分析其安全性;简要概述电子商务的应用模式,针对其各个环节,分析哪些部分需要加强安全防护,对此,数字签名对保证安全性有哪些作用:分析如何使用数字签名,更能保证电子商务中的安全。2、数学理论与方法基础要求:简述数字签名基于的数学原理,例如,RSA数字签名基于大整数分解难解性问题、EIGamal数字签名基于离散对数困难性,椭圆曲线数字签名基于椭圆曲线离散对数问题等,分
26、析数学理论应如何应用于数字签名,及达到怎样的效果;根据应用需求,思考电子商务中数字签名的应用方法。3、数学建模分析要求:根据应用需求的特殊情况,设计合理的数字签名(现有的,或是组合创建的),如盲签名和群签名的结合使用可以用到电子选举等;根据设计好的数字签名构建认证、保证数据真实性的数学模型,并分析模型的安全性实效性。4、算法设计与分析要求:针对建立的数学模型,利用软件工程的思想,针对不同的数学模型按功能划分子模块,将数学模型中的元素和运算具体化,进而转化为可行的算法,并在性能上对算法进行优化改进或提高。5、实验设计与实现要求:根据算法设计和分析的结果,利用应用miracl、NT1.、openS
27、S1.Ada-Crypto-1.ibrary等密码学算法包,编写可行的应用程序。在编写时应注意程序语言的合理应用(如采用哪种风格使程序界面清晰、哪些语句可以提高程序的执行速度等)。6、总结与体会要求:通过数字签名在电子商务中的应用实现,简述数字签名的使用应注意些什么,如何应用数字签名使安全性更高;分析电子商务的安全需求,体会如何针对具体需求设计合适的数字签名;通过程序的实现,总结在编码时应注意哪些要求,如何设计算法使程序更具有表达力;分析自已在理论与实践结合方面还存在哪哪些不足以及如何改进。7、参考文献要求:列出实脸设计中所参考的书籍、论文、报告和网页等。具体格式参照国家标准GB7714-87文后参考文献著录规则排写格式。