




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 C 语言课程设计报告语言课程设计报告 学学 院院 专专 业业 班班 级级 学学 号号 姓姓 名名 课课 题题 指导教师指导教师 报告成绩报告成绩 日日 期 期 年年 月月 日日 2 目录 一 课程设计目的 3 二 课程设计原理 3 三 设计题目分析 3 3 1 题目背景 3 3 2 设计要求 3 四 课程设计内容 3 4 1 总体设计 3 4 2 详细设计 流程图 4 4 3 小组分工 4 五 概要设计 5 5 1 主函数设计 5 5 2 本人部分 6 六 程序 7 6 1 源代码 7 6 2 算法调试过程中出现的问题及解决方法 10 6 3 主要程序运行 10 七 设计心得与总结 11 八 评阅意见 11 3 1 1 课程设计目的课程设计目的 维吉尼亚密码是古典密码中非常具有代表的例子 本实验要求用 c 语言编写和调 试一个简单的维吉尼亚密码实现及分析破译程序 通过本实验可以加深理解维吉尼亚密码 及其分析破译 2 课程设计原理课程设计原理 维吉尼亚使用一个词组作为密钥 密钥中每一个字母用来确定一个代替表 每一个密 钥字母被用来加密一个明文字母 等所有密钥字母使用完后 密钥再循环使用 维吉尼亚 是最著名的多表代替密码的例子 维基利亚密码加密函数为 f Pi Pi Ki mod26 f Pi 表 示密文字母在字母表中的位置 Pi 表示明文字母在字母表中的位置 Ki 表示密钥字母在字 母表中的位置 i 1 2 n 3 设计题目分析设计题目分析 3 13 1 题目背景题目背景 1858 年法国密码学家维吉尼亚提出一种以移位替换为基础的周期替换密码 这种密码 是多表替换密码的一种 是一系列 两个以上 替换表依次对明文消息的字母进行替换的 加密方法 维吉尼亚密码对同一条信息中的不同字母用不同的密码进行加密 比如这样 同样的 E 在一个位置可能被 M 所取代 而在另一个位置的 E 则有可能以 K 的面目出现 这样 就可以防止任何人利用频率分析法解密该条信息 3 23 2 设计要求设计要求 1 设计一个函数实现维吉尼亚密码 2 在已知明文及其对应密文的基础上 分析破译维吉尼亚密码 编程求解密钥 3 要求有程序实现 有实验结果截图 有测试例子 四 课程设计内容四 课程设计内容 4 14 1 总体设计总体设计 1 首先使用维吉尼亚方阵 它的基本方阵是 26 列 26 行 方阵的第一行是 a 到 z 按 正常顺序排列的字母表 第二行是第一行左移循环一位得到得 其他各行依次类推 4 2 加密时 按照密钥字的指示 决定采用哪一个单表 例如密钥字是 bupt 加密时 明文的第一个字母用与附加列上字母 b 相对应的密码表进行加密 明文的第二个字母用与 附加列的字母 u 相对应的密码表进行加密 依次类推 3 令英文字母 a b z 对应于从 0 到 25 的整数 设明文是 n 个字母组成的字符串 即 m m1m2m3m4 mn 密钥字周期性地延伸就给出了明文加密所需的工作密钥 K k1k2 kn E m C c1c2 cn 加密 Ci mi kimod26 解密 mi ci kimod26 i 1 2 3 n 4 24 2 详细设计 流程图 详细设计 流程图 4 34 3 小组分工小组分工 于铭阳 组长 解密函数 范晓喻 加密函数 梁迪 密钥转义函数 开始 将字符串密钥转义为整型数组 输入关键字 判断 加密解密 输入明文 加密 f Pi Pi Ki mod26 输出密文 输入密文 输出密文 解密 letter P table key 96 26 a n 结束 5 刘昭阳 加密函数 冯冬宿 主函数 5 概要设计概要设计 5 15 1 主函数设计主函数设计 int main char m 100 char c 100 char key 100 int P table 7 int mode printf 请输入模式 n1 加密 n2 解密 n n scanf d printf 请输入密钥 7 位小写字母 n scanf s key if str2int key P table strlen key printf 密钥不合法 程序结束 n return 0 switch mode case 1 printf 请输入明文 n scanf s m encrypt m c P table strlen m printf 密文为 s n c break case 2 printf 请输入密文 n scanf s c decrypt c m P table strlen c printf 明文为 s n m break 6 default printf 请输入正确的模式代码 程序结束 n return 0 5 25 2 本人部分本人部分 我负责内容为密钥转义函数 函数名 str2int 作者 梁迪 作用 将字符串秘钥转换为整型数组 排除不合法的密钥 合法时返回 1 不合法返回 0 int str2int char key int P table int len k int i if len k 7 printf 密钥不合法 请输入 7 位小写字母合法密钥 n return 0 for i 0 i len k i if islower key i printf 密钥不合法 请输入 7 位小写字母合法密钥 n return 0 P table i key i 96 return 1 7 6 程序程序 6 16 1 源代码源代码 include include include include 函数名 str2int 作者 梁迪 作用 将字符串秘钥转换为整型数组 排除不合法的密钥 合法时返回 1 不合法返回 0 int str2int char key int P table int len k int i if len k 7 printf 密钥不合法 请输入 7 位小写字母合法密钥 n return 0 for i 0 i 26 letter letter 26 c n letter 96 n i if i 7 i 0 函数名 decrypt 作者 于铭洋 作用 解密函数 void decrypt char d char c int a int len m 解密 int n 0 key 0 int letter while n len m int letter c n 96 if letter 1 d n letter P table key 96 26 a n n key if key 7 key 0 函数名 main 作者 冯冬宿 作用 主函数 int main char m 100 char c 100 char key 100 int P table 7 int mode printf 请输入模式 n1 加密 n2 解密 n n scanf d printf 请输入密钥 7 位小写字母 n scanf s key if str2int key P table strlen key printf 密钥不合法 程序结束 n return 0 switch mode case 1 printf 请输入明文 n scanf s m encrypt m c P table strlen m 10 printf 密文为 s n c break case 2 printf 请输入密文 n scanf s c decrypt c m P table strlen c printf 明文为 s n m break default printf 请输入正确的模式代码 程序结束 n return 0 6 26 2 算法调试过程中出现的问题及解决方法算法调试过程中出现的问题及解决方法 1 逻辑混乱 通过研究课本和查阅资料 了解维吉尼亚密码表的加密原理 从而明白把密钥字母转换 为整形数的方法 2 语法错误 通过询问同组队友 找到细节处的编写错误 3 能力不足 在编写过程中 许多想法不能独立用编程语言实现 查阅资料 主要是 C 语言课本和上网查询 向能力较强的同学请教 最终完成算法 11 6 36 3 主要程序运主要程序运行行 7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据加密与安全防护操作手册
- 环保行业废弃物处理与循环利用技术方案
- 企业品牌推广与营销策略优化项目
- 项目的可行性研究报告主要包括哪些内容
- 园林绿化可行性报告
- 高效工作策略与实践指南
- 通信行业物联网与5G通信方案
- 摄影摄像技术与器材操作作业指导书
- 家务服务员初级练习试题及答案
- 供应商筛选制度
- 《冠心病护理》课件
- 江苏省苏州市2023-2024学年八年级上学期期末语文试题及答案
- ECharts数据可视化课件 第3章 柱状图和散点图
- 老年人护理安全风险管理
- 建筑施工企业成本控制管理制度
- GB/T 44823-2024绿色矿山评价通则
- 音乐课《咏鹅》教案7篇
- 中学校园广播听力系统管理制度
- 《马说》说课课件-2023-2024学年统编版语文八年级下册
- 圆锥型套筒冠义齿修复工艺(可摘局部义齿修复工艺课件)
- 智鼎在线测评的题
评论
0/150
提交评论