已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州大学实验报告 学院 专业 班级 姓名学号实验组 1 实验时间指导教师成绩 实验项目名称Hill 加密算法的应用实验 实 验 目 的 掌握多字母代换密码算法的基本原理和用途 实 验 要 求 1 要求编程实现 语言不限 2 要求提交程序清单和程序运行结果 实 验 原 理 运用 C 编程实现加密算法 实 验 环 境 装有 VC 6 0 的计算机一台 实 验 步 骤 1 分析算法 2 编写程序 3 编译程序 4 实现功能 实 验 内 容 多字母代换密码的应用 Hill 加密算法实验 设 a z 的编号为 0 25 明文 P HILL 密码K 1 2 3 4 用 Hill 加密算法求出密文 C 实 验 数 据 程序见附页 2 实 验 总 结 通过本次实验 对 Hill 算法的思想有了进一步的认识和理解 在运用程序实现 Hill 算法功能时 主要考虑了密钥 K 使用一个二维数组来存储 而明文则使用分组的 方式进行存储 根据密钥的长度来进行分组 在进行加密时更加方便和准确 此加密 方式运用了线性代数的知识矩阵相乘 也对过去学过的知识进行了复习 指 导 教 师 意 见签名 年 月 日 程序 Hill 算法 include include include void main int a 100 100 int b 100 int length 0 int k 2 2 k 0 0 1 k 0 1 2 k 1 0 3 k 1 1 4 char p 100 cout 请输入明文请输入明文 P endl int z gets p z strlen p 1 2 int n 0 for int i 0 i z i for int j 0 j 2 j 分组分组 a i j p n 97 for i 0 i z i b length k 0 0 a i 0 k 0 1 a i 0 26 b length k 1 0 a i 1 k 1 1 a i 1 26 cout 密文为 密文为 for int q 0 q length q cout char b q 97 cout endl 贵州大学实验报告 学院 专业 班级 姓名学号实验组 1 实验时间指导教师成绩 实验项目名称RSA 算法的加 解密实验 实 验 目 的 1 掌握非对称密码加密体制的基本原理和用途 2 掌握 RSA 算法及其对信息的加密 3 了解 ElGamal 密码体制和椭园曲线密码 ECC 体制 实 验 要 求 1 先计算出 d e n 再计算出密文 C 2 要求列出计算过程 3 要求编程实现 语言不限 4 要求提交程序清单和程序运行结果 实 验 原 理 运用 C 编程实现加密算法 实 验 环 境 装有 VC 6 0 的计算机一台 实 验 步 骤 1 分析算法 2 编写程序 3 编译程序 4 实现功能 实 验 内 容 用 RSA 算法对信息加密和解密 设 p 3 q 11 明文 P 5 求出密文 C 实 验 数 据 程序见附页 3 实 验 总 结 通过本次实验 对 RSA 算法的加密解密思想有了进一步的认识和理解 在运用 C 实现算法时 起初取 e 值是采用 rand 函数 但经过验证 rand 产生的并 非真正的随机数 所以对取 e 值的算法进行了修改 得到了正确的结果 在取 d 值时 采用取余为 0 在整除的方法 加密解密都使用了 mod 函数 只是传递的参数不一样 而已 指 导 教 师 意 见签名 年 月 日 程序 RSA 算法 include include include int gcd int a int b int mod int a int b int c void main int p q n m int d 100 cout p cout q n p q cout n 值为值为 n endl m p 1 q 1 int e1 100 int j int k 0 for j 2 j m j while true if gcd j m 1 break else e1 k j break int e e1 0 cout 取取 e 值为值为 e endl int y 0 for int x 0 x m x while true if x m 1 e 0 break else d y x m 1 e break cout 取取 d 值为值为 d 0 endl int z c cout z c mod z e n cout 密文密文 c 为 为 c endl z mod c d 0 n cout 解密的明文为 解密的明文为 z endl int gcd int a int b while b int temp b b a b a temp return a int mod int a int b int c int m m a if b 2 if b 0 m 1 c else m m c else for int i 2 i b 1 i m m a c return m 贵州大学实验报告 学院 专业 班级 姓名学号实验组 1 实验时间指导教师成绩 实验项目名称数字签名实验 实 验 目 的 1 掌握数字签名的基本原理 2 掌握用 RSA 算法及其应用技术 实 验 要 求 1 计算出 A B 双方的公开密钥和秘密密钥 2 发送方 A 用其自身的用户代号 101 作为身份向 B 发出一数字签名消息 实 验要求用 B 的公开密钥进行加密 3 接收方 B 对该数字签名进行解密和身份验证 4 要求列出计算 5 要求编程实现 语言不限 6 要求提交程序清单和程序运行结果 实 验 原 理 运用 C 编程实现加密算法 实 验 环 境 装有 VC 6 0 的计算机一台 实 验 步 骤 1 分析算法 2 编写程序 3 编译程序 4 实现功能 实 验 内 容 用 RSA 算法进行数字签名 设用户 A 和用户 B 的用户代号分别为 101 和 102 并设 用户 A p 11 q 17 用户 B p 7 q 11 实 验 数 据 程序见附页 5 实 验 总 结 通过本次实验 对数字签名的基本思想有了进一步的认识和理解 对明文进行 2 次加密 同时包含了验证信息 在使用 C 实现算法时 得益于在以前的实验中已经 对 RSA 算法有了一定的了解程度 所以在数字签名的实验中 没有遇到太多的问题 主要就是对明文的 2 次加密的顺序和解密的顺序进行了思考 最近达到了实验的目的 指 导 教 师 意 见签名 年 月 日 程序 数字签名 include include include Struct node int a 5 int gcd int a int b node jsmy char s int mod int a int b int c void main char s s1 cout s node a jsmy s int p int a int f 100 for int i 0 i 5 i f i p cout f i 发送方 发送方 f 5 n p q d e cout s1 node b jsmy s1 int q int b int m 100 for int j 0 j 5 j m j q cout m j 接收方 接收方 c 5 n p q d e int n cout n int c mod n f 3 f 0 发送方私钥加密发送方私钥加密 cout 一次加密密文为 一次加密密文为 c endl int c1 mod c m 4 m 0 接受方的公钥加密接受方的公钥加密 cout 二次加密密文为 二次加密密文为 c1 endl cout 发送的密文为 发送的密文为 c1 endl int mw1 mod c1 m 3 m 0 接收方私钥解密接收方私钥解密 cout 一次解密密文为 一次解密密文为 mw1 endl int mw mod mw1 f 4 f 0 发送方公钥解密发送方公钥解密 cout 二次解密密文为 二次解密密文为 mw endl cout 最终解密后的明文为 最终解密后的明文为 mw endl int gcd int a int b while b int temp b b a b a temp return a node jsmy char s int p q n m int d1 100 cout p cout q n p q cout n 值为值为 n endl m p 1 q 1 int e1 100 int j int k 0 for j 2 j m j while true if gcd j m 1 break else e1 k j break int e e1 2 cout 取取 e 值为值为 e int y 0 for int x 0 x m x while true if x m 1 e 0 break else d1 y x m 1 e break intd d1 0 cout 取取 d 值为值为 d endl cout 用户用户 s 的公开密钥为的公开密钥为 e n cout 用户用户 s 的私有密钥为的私有密钥为 p q d a 0 n a a 1 p a a 2 q a a 3 d a a 4 e return a int mod int a int b int c int m m a if b 2 if b 0 m 1 c else m m c else for int i 2 i b 1 i m m a c return m 贵州大学实验报告 学院 专业 班级 姓名学号实验组 1 实验时间指导教师成绩 实验项目名称软件防火墙安装与配置实验 实 验 目 的 1 掌握防火墙的工作原理 2 掌握个人软件防火墙的安装与配置 实 验 要 求 任选一款软件个人防火墙进行实验 实 验 原 理 软件的下载 安装及使用 实 验 环 境 装有 WINDOWS XP 系统的计算机一台 实 验 步 骤 1 下载个人软件防火墙 2 安装个人软件防火墙 3 配置个人软件防火墙 实 验 内 容 1 安装个人软件防火墙 2 配置个人软件防火墙 实 验 数 据 实 验 总 结 经过本次实验 我了解了瑞星个人防火墙的下载 安装及使用 对瑞星个人防火 墙这个软件有了一定的了解 并使用瑞星个人防火墙对计算机系统进行了防火墙设置 具体设置体现在实验数据中 指 导 教 师 意 见签名 年 月 日 贵州大学实验报告 学院 专业 班级 姓名学号实验组 1 实验时间指导教师成绩 实验项目名称木马克星软件的应用实验 实 验 目 的 1 了解木马的基本原理和危害性 2 掌握木马克星的下载 安装和应用 实 验 要 求 掌握木马克星的下载 安装和应用 实 验 原 理 软件的下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子板供货合同范本
- 护士长工作质量评价标准
- 焦虑症状识别及护理指导
- 肺炎临床表现及护理知识介绍
- 胆囊炎症状分析与护理知识介绍
- 儿童液体疗法讲课课件
- 急性喉炎的健康宣教
- 2025-2026学年广东省广州市高三上学期八月阶段训练地理试题(B卷)
- 创新创业营养餐厅
- 泰康幸福有约产品介绍
- 土方开挖及基坑支护施工管理及作业人员配备和分工
- 部编人教版《四年级上册道德与法治》全册期末复习知识点重点题型总结
- 修订版新编日语第三册单词表
- 油水分离设备项目评估分析报告
- 多元化康复模式提高ICU患者早期康复覆盖率PDCA品管圈QCC成果汇报
- 二次结构工程施工(加气块)
- 波利亚的解题理论与中学教学
- 土力学原理课后作业答案
- 第九章-再保险
- 多发性骨髓瘤临床路径
- 2020年领导干部个人有关事项报告表(2020年印制稿)
评论
0/150
提交评论