2016-2017学年学期《密码算法程序设计》试题.docVIP

2016-2017学年学期《密码算法程序设计》试题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016-2017学年学期《密码算法程序设计》试题

成都信息工程大学考试试卷 2016 —— 2017 学年第 1 学期 课程名称:使用班级:试卷形式:开卷卷 一 二 三 四 五 六 七 八 九 十 总分 得分 选题要求:每道题目(100分) 每人任选1题(题目重选同学,实现算法的编程语言不得相同),即同一种编程语言中每班同学选题不能重复。请各位同学务必认真看清楚题目要求,然后认真选题。选题一旦确定,原则上不能更改题目。若需要更改题目,需提前与指导老师商量。 课程设计安排: 1、总的课程设计时间7-12(或13周); 2、班委或者学委组织选题,并统计完成,7周周五之前把选题表发到各班课程设计指导老师邮箱; 3、大概安排二次课程设计中期检查(具体时间由各指导老师安排)。 答辩要求: 1、熟悉所选题目密码算法的基本原理(密钥长度,明文长度,加密和解密算法核心过程); 2、算法实现的核心代码; 3、答辩时需要带的文档:课程设计源代码(自备电脑)和课程设计文档(纸质版) 答辩安排: 1、提前完成课程设计的同学,可以申请提前答辩,提前答辩次数和时间由各指导老师自行安排(具体时间和地点到时候再确定); 2、最后答辩时间大概安排在12周(具体时间和地点到时通知)。 密码学课程设计指导教师联系方式: 信安实验班13级:张仕斌 邮箱 cuitzsb@cuit.edu.cn 信抗13级: 万武南 邮箱 nan_wwn@cuit.edu.cn 信安13级: 张金全 邮箱 zhjq@cuit.edu.cn 选择下面其中一题,按要求完成课程设计。 第一大类:(按照每道题目要求编写密码算法过程实现代码,密码算法不可调用编译软件现有密码算法实现接口,可以DOS(控制台)界面) 1. 基于DES算法密码工作模式实现(共5题) 基于DES算法的ECB、CBC、OFB、CFB、CTR 5种密码工作模式,实现其中一种模式的加密和解密功能。 功能要求: (1)对于ECB、CBC和CTR模式,明文字符输入至少大于8个字符长度,明文尾部必须进行填充。例如ECB模式下,DES算法8个字符一组,若输入10个字符“1111111111”,则需要分为2组,第1组8个字符,第2组2个字符,则需要填充。若输入8个字符,刚好1组,则需要填充增加1组明文。 (2)尾部填充方法为除最后一个字符填充字符数,其余全填充为“0”字符。例 如输入明文“1111111111”,第1组明文输入,第二组填充之后明文. 如输入明文,第1组明文输入,第二组填充之后明文. (3)对于OFB、CFB模式,每次反馈长度可以设定为8 bits;输入明文长度至少为32 bits;明文分组长度由反馈长度确定。 (4)CBC、OFB、CFB、CRT的IV初始变量为输入8个字符; (5)CRT模式下,计数器初值可输入或者随机生成(二进制数或者16进制数),但后续计数器值自动加1操作(解释:上次有学生随机数是8个字符性质的数字,然后在字符数字的基础上加1) (6)DES算法下不同模式下需要的加密或解密功能。DES加密和解密都用函数实现。 输出要求: (1)密文解密中,最后一组密文解密出明文显示,需要去掉填充字符后的明文。 (2)中间结果显示要求:ECB模式加密过程显示出每组明文(字符)和密文(十六进制),解密过程显示出每组解密的密文(十六进制)和明文(字符)。CBC模式加密过程显示出每组待加密的明文(字符),明文对应的16进制表示,与明文异或的数的16进制表示,每次DES加密的输入(即与反馈密文异或的值,十六进制),密文(十六进制);解密过程显示出每组待解密密文,DES解密之后输出(十六进制),与解密输出值异或的数的16进制以及与密文反馈值异或后明文(字符)。 (3)对于OFB、CFB、CTR模式,输出DES算法加密的输入和输出的数的16进制,并把每组明文和密文,以及移位寄存器的中间结果的16进制输出来。 编程要求:C、C++、Java、Ruby实现控制台编程语言 题目列表: (1) 基于DES算法ECB运行模式实现 (2) 基于DES算法CBC运行模式实现 (3) 基于DES算法OFB运行模式实现 (4) 基于DES算法CFB运行模式实现 (5) 基于DES算法CTR运行模式实现 2. DES算法加密和解密实现(共1题) 实现DES算法加密和解密过程的详细展示。 功能要求: (1)输入8个字符做明文,输入8个字符作为密钥;例如学号后8位,如; (2)把输入的字符转换为二进制; (3)E扩展、与密钥异或、查找S盒、P置换、与前面32位异或、IP逆置换等都要求写成函数; PC-1,循环移位,PC-2写成函

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档