欢迎来到天天文库
浏览记录
ID:19251457
大小:843.00 KB
页数:50页
时间:2018-09-30
《2015密码学课程设计报告 (2)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告题目:SPN和RSA密码算法的快速实现与安全性分析课程名称:密码学专业班级:信安二班学号:姓名:指导教师:报告日期:2015.9.20计算机科学与技术学院46密码学课程设计任务书题目:SPN和RSA密码算法的快速实现与安全性分析课题内容:(1)原始SPN(教材上)算法的实现。(2)对上述算法进行线性密码分析及差分密码分析(求出所有32比特密钥)。(3)增强以上SPN的安全性(如增加分组的长度、密钥的长度、S盒、轮数等)。(4)对原始及增强的SPN进行随机性检测,对检测结果进行说明。(5)生成R
2、SA算法的参数(如p、q、N、私钥、公钥等)。(6)快速实现RSA(对比模重复平方、蒙哥马利算法和中国剩余定理)。(7)结合RSA和增强后的SPN实现文件(或通信)的加解密。课题任务要求:(1)掌握线性、差分分析的基本原理与方法。(2)体会位运算、预计算在算法快速实现中的作用。(3)可借助OpenSSL、GMP、BIGINT等大数运算库的低层基本函数,实现过程中必须体现模重复平方、中国剩余定理和蒙哥马利算法的过程。(4)独立完成课程设计内容,现场演示并讲解。(5)课程设计完成后一周内,提交课程设计报告。主
3、要参考文献(由指导教师选定)(1)密码学原理与实践(第三版).DouglasR.Stinson著,冯登国译,电子工业出版社,2009(2)应用密码学:协议算法与C源程序(第二版).BruceSchneier 著,吴世忠等译,机械工业出版社,2014同组设计者无4646目录绪论11、实验目的22、实验内容及基本要求22.1SPN算法22.2RSA算法22.3文件的加解密以及随机性检测23、实验原理33.1SPN算法33.2RSA算法73.3文件加解密与随机性检测74、实验过程84.1SPN算法84.2RSA
4、算法204.3文件加解密与随机性检测265、结果分析375.1SPN算法375.2RSA算法405.3文件加解密与随机性检测426、实验心得和体会4546绪论课题背景和意义当前,重视实验与实践教育是各国高等教育界的发展潮流,实验与实践教学与理论教学是相辅相成的,具有同等重要的地位。它是在开放教育的基础上,为配合理论教学、培养学生分析问题和解决问题的能力以及加强训练学生专业实践能力而设置的教学环节;对于完成教学计划、落实教学大纲,确保教学质量,培养学生分析问题、解决问题的能力和实践操作技能更具有特别重要的意
5、义。密码学是信息安全与保密技术的核心,是一门实践性非常强的课程,实践教学是培养密码技术应用性人才的重要途径,实践教学质量的好环,实际上也决定了应用型人才培养质量的高低。因此,加强密码学课程实践教学环节,提高实践教学质量,对培养高质量的应用型人才至关重要。密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学。总称密码学。课程设计的主要研究工作本次课程设计是以课堂中所学的密码学的内容为基础,使用CodeBloc
6、ks、MicrosofVisualC++作为开发工具,使用了GMP大数库。系统具有SPN加解密、RSA加解密、文件加解密三个主要的功能,包括简单的SPN算法的实现、线性差分分析,加强SPN算法的实现,RSA加解密,文件加解密等子模块。能够满足对任意大小的文件进行加解密。文件加解密的设计合理,在保证了速度的同时,也没有占用太大的内存空间。461、实验目的通过课程设计,使学生进一步熟悉密码算法以及算法安全性的基本概念和原理;培养学生将密码理论和技术应用于实际的能力,使学生具备实施数据加解密和基本的密码分析的能
7、力。2、实验内容及基本要求2.1SPN算法的编程实现(1)了解书本中对称密码体制的内容,熟练掌握并实现教材中的SPN算法;(2)线性分析:了解线性分析的原理,通过对明密文对的线性分析,配合暴力破解,破解出初始加密密钥;(3)差分分析:了解差分分析的原理,通过对明密文对的差分分析,配合暴力破解,破解出初始加密密钥;(4)通过增加分组长度,秘钥长度,S盒、轮数等方式,增强上述SPN算法的安全性。2.2RSA的参数生成以及快速实现(1)生成RSA算法的参数;(2)通过中国剩余定理,蒙哥马利算法,模重复平方算法,
8、快速实现RSA;(3)通过调用时钟对三种解密方法的时间开销进行测试。2.3文件的加解密以及随机性检测(1)结合RSA和增强后的SPN算法实现文件的加解密;(2)密文的随机性反映了密码的强度,对原始的和增强后的SPN算法进行随机性检测,对检测的结果进行说明。461、实验原理3.1SPN算法3.1.1代换置换网络(SPN)SPN就是一类特殊的迭代置换密码,一个SPN包括两个变换,分别记πs和πp,其中πs就是对一L个比特的向量,用
此文档下载收益归作者所有