文件移位加密与解密系统C 课程设计.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件移位加密与解密系统C 课程设计

计算机学院计算机科学与技术专业 《程序设计综合课程设计》报告 (20010/2011学年 第一学期) 学生姓名: 学生班级: 学生学号: 指导教师: 2011年  01月  08日 文 件 移 位 加 密 与 解 密 系 统 目 录 第一章.课程设计目的和要求 1 1.1设计目的: 1 1.2 设计要求: 1 第二章.课程设计任务内容 2 第三章.详细设计说明 3 3.1模块描述 3 3.2 性能 3 3.3 输入项 3 3.4输出项 3 3.5算法 4 3.7接口 13 3.8数据文件存储说明 13 3.9注释设计 13 3.10限制条件 13 3.11测试计划 14 14 第四章.软件使用说明 17 第五章.课程设计心得与体会 18 附录1:参考文献 20 附录2:源代码 21 第一章.课程设计目的和要求 1.1设计目的: 提高程序设计和分析的能力。 深入了解c++程序设计的知识与技巧. 进一步掌握c++程序设计的思想. 初步了解程序加密与解密的思想. 1.2 设计要求: 完整的理解课程设计任务的要求. 用C语言实现系统. 函数功能要划分好(结构化程序设计). 设计的程序结构完整、简明、可读性强. 界面友好(良好的人机交互),加必要的注释. 设计的程序调试成功,能稳定的运行. 提供程序测试方案. 8.列出参考的文献和完整的程序清单. 第二章.课程设计任务内容 设计一个文件加密与解密的程序,主要功能主要包括以下内容: 1.文件加密:设计三种加密算法 2.文件解密。 3.实现主函数和子函数之间的参数传递. 第三章.详细设计说明 3.1模块描述 该模块是一个简单完整的程序,主要包括3个算法。其功能是将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密钥或密码(用户从键盘输入)将对应字符进行加密、解密操作并输出结果。 3.2 性能 (1)要求有较快的运算速度,能很快的执行函数功能; (2) 要求程序运行稳定,无误; (3) 要求程序有良好的人机互动. 3.3 输入项 包括以下内容: (1)要加密的字符窜s,其类型为string类型。 (2)加密密匙或密码key;其中密匙为int类型,密码为string类型。 (3)解密密匙或密码key1; (4)执行操作与否的判断 y/n;其类型为字符型。 所有的输入均有用户由键盘输入。 3.4输出项 包括以下内容: (1)必要的提示数据:中文和*号; (2)已加密的密文和解密后的明文;其类型均为string类型. 所有输出项都由显示器输出。 3.5算法 3.5.1单表移位算法: 就是明文的一个字符用相应的一个密文字符代替。加密过程中是从明文字母表到密文字母表的一一映射。 例如:加密:设原文为abcdef,密钥为5,则有abcdef每个字母按字母表 移动5位(注:z后接a)可得到密文(乱码)fghijkl;对该文件解密:文件内容为fghijk1,密钥为5,则有fghijk1每个字母向前移动5位(注a后接z),可得到原文abcdef。 凯撒密码就是单表代替密码,它的每一个明文字符都由其右边第3个(模26)字符代替(A由D代替,B由E代替,W由Z代替,X由A代替,Y由B代替,Z由C代替)。 单表代替密码是很容易破译的,因为它没有把明文的不同字母的出现频率掩盖起来。可以使用统计攻击。 3.5.2多表移位算法: 多表代替密码有多个单字母密钥,每一个密钥被用来加密一个明文字母。第一个密钥加密明文的第一个字母,第二个密钥加密明文的第二个字母等等。在所有的密钥用完后,密钥又再循环使用,若有20个单个字母密钥,那么每隔20个字母的明文都被同一密钥加密,这叫做密码的周期。 维吉尼亚密码是多表代替密码的例子。 例如:加密时,将每个字符的ascll码依次反复加上“2011”(密码, 由用 户自由输入)中的数字,并在32(‘ ‘)~122(’ z)之间做摸运算。 3.5.3置换算法(行列换位法) 算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。置换密码也叫换位密码。如矩阵换位密码。它的加密方法是将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,形成密文。 行列换位法采用密钥,假设密钥是5,明文是I am a Chinese boy那么就会以5位列数排成一个矩阵。 I a m a c h i n e s e b o y 那么密文就是ihe aib mno aey cs× ,最后一行不足的用随机字母

您可能关注的文档

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档