




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机信息安全 实验指导书 1 实验一实验一 对称密钥密码加密解密实验对称密钥密码加密解密实验 实验学时 实验学时 2 2 学时学时 实验类型 设计实验类型 设计 实验要求 必修实验要求 必修 一一 实验目的实验目的 1 掌握对称密钥密码体制的基本概念 2 掌握对称密钥密码体制加密 解密的工作原理 3 重点掌握 DES 密码算法加密 解密的基本原理 4 通过用 DES 算法对实际的数据进行加密 解密运算来深刻了解 DES 的运行 原理 二二 实验内容实验内容 1 根据 DES 密码算法原理 用 Turbo C2 0 或 Visual C 6 0 设计编写符合 DES 密码算法思想的加密 解密程序 三三 实验环境实验环境 1 操作系统 Windows9x NT 2000 XP 2 编程软件 Turbo C2 0 或 Visual C 6 0 四四 实验原理实验原理 1 DES 算法工作的基本原理 DES 是基于 Feistel 密码结构的分组密码 其 入口参数有三个 key data mode 其中 key 为加密 解密时使用的 密钥 data 为加密 解密的数据 mode 为其工作模式 当模式为加密模 式时 明文按照 64 位进行分组 形成明文分组 此时key 用于对数据 加密 当模式为解密模式时 key 用于对 64 位的密文分组进行解密 以 恢复明文 2 DES 算法共进行 16 轮迭代操作 每轮中都使用相同的轮函数F 如下 计算机信息安全 实验指导书 2 F RF Ri i 1 1 K Ki i p box S boxes Expand R p box S boxes Expand Ri i 1 1 K Ki i 整个算法的流程如图所示 DESDES 加密算法流程图加密算法流程图 一一 密钥生成 密钥生成 1 1 生成种子密钥 生成种子密钥 K K 使用密钥流生成器生成 64 位 8 个字节 的种子密钥 K 每个字节的第 8 位作 为奇偶校验位 不参与实际运算中子密钥的生成过程 2 2 生成每一轮迭代中使用的子密钥 生成每一轮迭代中使用的子密钥 k ki i 1 根据 PC 1 置换进行种子密钥 K 的变换 舍弃 64 位种子密钥 K 中的 8 个 奇偶校验位 得到 56 位的密钥 2 将变换后的密钥分为左右两部分各 28 位 分别称为 C0和 D0 即PC 1 K PC 1 K C C0 0D D0 0 3 生成 16 个子密钥 ki 1 i 16 i 将 Ci Di循环左移 1 位或 2 位 根据 i 值由 循环左移表 决定循 计算机信息安全 实验指导书 3 环左移的位数 即计算计算 C Ci i LS LSi i C Ci 1 i 1 和 和 D Di i LS LSi i D Di 1 i 1 其中 LS 表示循环左 移 ii 将循环左移后的 Ci和 Di作为一个 56 位的整体按置换表 PC 2 进行 变换 得到本轮所使用的 48 位子密钥 ki 即k ki i PC 2 C PC 2 Ci iD Di i 1 i 16 1 i 16 二二 处理 处理 6464 位数据位数据 1 取得 64 位明文分组数据 m 如果数据长度不足 64 位 应该将其扩展为 64 位 例如补零 2 将 64 位明文分组数据 m 按初始置换表 IP 进行变换 获得 64 位的 m0 并将 m0分为左右两部分 前面 32 位记为 L0 后面 32 位记为 R0 即 m m0 0 IP m IP m L L0 0R R0 0 3 用 16 个子密钥 ki 1 i 16 加密数据 所用变换公式为 F RF Ri i 1 1 K Ki i p box S boxes Expand R p box S boxes Expand Ri i 1 1 K Ki i 1 将 32 位的 Ri 1按扩展置换 E 扩展成 48 位 2 异或 Ri 1和 ki 3 将异或后的结果分为 8 个 6 位长的部分 第 1 位到第 6 位称为 S 1 第 7 位到第 12 位称为 S 2 依此类推 第 43 位到第 48 位称为 S 8 4 按 S 盒的变换原理变换所有的 S j 1 j 8 每一个 S 盒都是将输入 的 6 位数据经过处理后转换成 4 位数据输出 5 将 S 1 到 S 8 的输出组合成 32 位数据 按 P 置换进行变换 变换的结 果就是轮函数 F 6 异或轮函数 F 和 Li 1 结果就是 Ri 即R Ri i L Li i 1 1 F RF Ri i 1 1 K Ki i 7 L Li i R Ri i 1 1 8 循环执行轮函数 F 直到 K16被变换完成 4 第 16 轮迭代结束后左 右部分各是 L16和 R16 将左右部分交换 作为 64 位 的预输出 即L L17 17 R R16 16 R R17 17 L L16 16 5 将变换后的 R16L16按逆初始置换 IP 1进行变换得到最后的结果 即为密文 即 c IPc IP 1 1 R R16 16L L1616 五五 实验步骤实验步骤 计算机信息安全 实验指导书 4 本实验为设计型实验 要求学生自己根据实验原理 自行设计实验步骤 利 用 Turbo C2 0 或 Visual C 6 0 编程语言 实现对一个文件进行加密和解密 六六 实验结果实验结果 七七 思考题思考题 1 DES 算法中大量的置换运算的作用是什么 2 DES 算法中 S 盒变换的作用是什么 3 通过查阅相关资料了解目前破解 DES 算法的基本原理或方法 计算机信息安全 实验指导书 5 实验二实验二 公钥密码加密解密实验公钥密码加密解密实验 实验学时 实验学时 2 2 学时学时 实验类型 设计实验类型 设计 实验要求 必修实验要求 必修 一一 实验目的实验目的 1 掌握公钥密码体制的基本概念 2 掌握公钥密码体制加密 解密的工作原理 3 重点掌握 RSA 密码算法加密 解密的基本原理 4 通过用 RSA 算法对实际的数据进行加密 解密运算来深刻了解 RSA 的运行 原理 二二 实验内容实验内容 1 根据 RSA 密码算法原理 用 Turbo C2 0 或 Visual C 6 0 设计编写符合 RSA 密码算法思想的加密 解密程序 三三 实验环境实验环境 1 操作系统 Windows9x NT 2000 XP 2 编程软件 Turbo C2 0 或 Visual C 6 0 四四 实验原理实验原理 RSA 算法基于数论构造 是迄今理论上最为完善的非对称密钥密码算法 它的安全性是建立在 大整数的质因子分解和素性检测 这个数论难题的基础 上 即将两个大素数相乘在计算上容易实现 而将该乘积分解为两个大素数因 计算机信息安全 实验指导书 6 子的计算量则相当大 1 1 RSARSA 的密钥产生过程如下 的密钥产生过程如下 选择两个保密的大素数 p 和 q 计算 n pq 公开 公开 n p 1 q 1 保密 保密 随机选取一个整数 e 满足 1 e n 且 gcd n e 1 公开 公开 计算 d 满足 ed 1 mod n 保密 保密 说明 d 是 e 在模 n 下的乘法逆元 因为 e 与 n 互素 所以其乘法逆元 一 定存在 得到一对密钥 公钥 e n 私钥 p q d 2 2 RSARSA 的加密过程如下 的加密过程如下 明文数字化 即将明文转换成数字串 将明文比特串分组 使得每个分组对应的十进制数小于 n 即分组长度小于 等 于 log2n 1 设第 i 个明文分组对应的数字为 mi 对 mi作加密运算 即将消息 mi以加密指 数 e 做乘方 并取模 n 即 c ci i m mi ie e modmod n n 0 m0 mi i n n 最后得到的密文 C 由所有长度相同的密文分组 ci组成 3 3 RSARSA 的解密过程如下 的解密过程如下 将密文转换成数字串 将以上数字串分段 使得每一段数字均小于 n 设第 i 个密文分组对应的数字为 ci 对 ci作解密运算 即将明文分组 ci以解 密指数 d 做乘方 并取模 n 即 m mi i c ci id d modmod n n 最后得到的明文 M 由所有长度相同的明文分组 mi组成 五五 实验步骤实验步骤 本实验为设计型实验 要求学生自己根据实验原理 自行设计实验步骤 利 用 Turbo C2 0 或 Visual C 6 0 编程语言 编程实现 RSA 算法 编程内容包括 1 用函数求出 1 65535 之间的全部素数 计算机信息安全 实验指导书 7 2 用函数生成一对 RSA 密钥 3 并利用该程序实现对一个文件进行加密和解密处理 六六 实验结果实验结果 1 加密运行 计算机信息安全 实验指导书 8 2 解密运行 说明 说明 由于 int 型变量长度为 16 位 因此 n 最大只能小于 65536 此程序只是 计算机信息安全 实验指导书 9 对 RSA 算法进行验证 无法实现达到安全要求的数据位数 七七 思考题思考题 1 分析影响 RSA 密码体制安全的因素 2 分析比较 RSA 密钥的长度对加密 解密性能的影响 实验三实验三 Hash 函数加密解密实验函数加密解密实验 实验学时 实验学时 2 2 学时学时 实验类型 设计实验类型 设计 实验要求 必修实验要求 必修 一一 实验目的实验目的 1 了解 MD5 算法的基本原理 2 熟悉 MD5 消息摘要算法的编程实现方法 3 通过用 MD5 算法对随机产生的数据进行哈希来深刻了解 MD5 的运行原理 二二 实验内容实验内容 计算机信息安全 实验指导书 10 1 根据 MD5 算法原理 用 Turbo C2 0 或 Visual C 6 0 设计编写符合 MD5 算法思想的消息摘要生成程序 三三 实验环境实验环境 1 操作系统 Windows9x NT 2000 XP 2 编程软件 Turbo C2 0 或 Visual C 6 0 四四 实验原理实验原理 1 MD5 算法的作用是把一个任意长度的消息进行变化产生一个 128bit 的消息 摘 要 2 MD5 算法除了要能够满足完成完整性验证必需的要求外 还要求运算效率要 高 因此 MD5 将消息分成若干个 512bit 的分组 大块 来处理输入的消息 且每一个分组又被划分成 16 个 32bit 的子分组 子块 经过一系列变换后 算法的输出由 4 个 32bit 分组构成 将这 4 个 32bit 分组连接后生成一个 128bit 的消息摘要 3 MD5 算法以 32 位字运算为基础 加密算法有 4 轮 每一轮要进行 16 次迭代 运算 整个算法分为五个步骤 步骤步骤 1 1 增加填充位增加填充位 在 MD5 算法中 首先需要对信息进行填充 使其字节长度对 512 求余的结 果等于 448 即信息的字节长度扩展至 N 512 448 N 为一个正整数 填充的 方法是 第一位为 1 后面各位全为 0 步骤步骤 2 2 附加消息长度值附加消息长度值 然后 再在填充后的报文后面附加一个 64 位的长度值 该长度值来源于填 充前的原始报文长度 经过上述两步处理 当前报文的比特长度 N 512 448 64 N 1 512 即 长度恰好是 512 的整数倍 按照 512 的长度为单位 将报文分割成 Y0 Y1 YN 1 每一个分组又可以 计算机信息安全 实验指导书 11 表示成 16 个 32 位的字 步骤步骤 3 3 初始化初始化 MDMD 缓冲区缓冲区 MD5 有 A B C D 四个 32 位的寄存器用作缓冲区 它们的初始值分别为 A 01 23 45 67 B 89 ab cd ef C fe dc ba 98 D 76 54 32 10 步骤步骤 4 4 以以 512512 位的分组为单位处理消息位的分组为单位处理消息 从分组 Y0开始 到最后一个分组 YN 1 依次进行 HMD5压缩运算 每个 HMD5 有两个输入 一个是 128 位的 CV0 另一个是 512 位的分组 Yi 和一个 128 位 的输出 最开始的 128 位输入为 4 个 32 位寄存器的初始值 以后每个 HMD5的输 出作为下一个 128 位的输入 步骤步骤 5 5 输出输出 最后一次进行 HMD5后输出的 128 位值 即为所求的消息摘要 MD 如图所示 D5D5 压缩函数压缩函数 H HMD5 MD5的处理过程 的处理过程 H HMD5 MD5算法 算法 HMD5算法是 MD5 的关键函数 它是一个 4 轮循环 如图所示 消息100 00L Y0Y1YiYN 1 512位512位512位512位 HMD5 512 128 IVHMD5 512 128 HMD5 512 128 HMD5 512 128 CV1 CVi CVN 1 128位的 散列值 L位 原始消息长 度 64位 填充位 N 位 计算机信息安全 实验指导书 12 H HMD5 MD5算法 算法 1 运算一开始 先将 4 个寄存器的初始值复制到另外 4 个变量中 A a B b C c D d 2 注循环右 4 轮 每一轮结构都很相似 在每一轮中进行 16 次迭代操作 每 次 操作对 a b c d 中的 3 个做一次非线性函数运算 然后将所得结果加上第 4 个变量以及报文的一个子分组和一个常数 T i 再将所得结果循环左移一 个 不定的数 并加上 a b c d 中之一 即 a b a g b c d X k T i S a b a g b c d X k T i S 3 以下是每次操作中用到的 4 个非线性函数 每轮一个 4 下面为每一轮 16 次操作中的 4 次操作 16 次操作按照一定顺序进行 FF a b c d M j S T i 表示 a b a F b c d M j T i S GG a b c d M j S T i 表示 a b a G b c d M j T i S HH a b c d M j S T i 表示 a b a H b c d M j T i S II a b c d M j S T i 表示 a b a I b c d M j T i count 0 context count 1 0 context state 0 0 x67452301 context state 1 0 xefcdab89 context state 2 0 x98badcfe context state 3 0 x10325476 void MD5Update MD5 CTX context unsigned char input unsigned int inputLen MD5 块处理函数 unsigned int i index partLen index unsigned int context count 0 3 if context count 0 UINT4 inputLen 3 UINT4 inputLen count 1 context count 1 UINT4 inputLen 29 partLen 64 index if inputLen partLen MD5 memcpy POINTER MD5Transform context state context buffer for i partLen i 63 state index 0 else i 0 MD5 memcpy POINTER void MD5Final unsigned char digest 16 MD5 CTX context 完成函数 context 指向上面处理过的结构体 digest 16 是用来存储结果的缓冲区 这个函数对未完成的信息先进行填充 然后处理 并把最终结果存储在 digest 16 中 unsigned char bits 8 unsigned int index padLen Encode bits context count 8 index unsigned int context count 0 3 padLen index state 16 MD5 memset POINTER context 0 sizeof context 计算机信息安全 实验指导书 16 3 3 主函数主函数 include md5 c include include include define RAND MAX 0 x7fff void main void unsigned char inputData char inp char malloc sizeof char 1024 inputData unsigned char inp unsigned char hashstr int i x time t t 这两行保证每次产生的随机数不同 int len srand unsigned time len rand 200 RAND MAX inp len 0 for i 0 i len i x rand 16 RAND MAX if x9 printf 明文字符串是 s n n inp if hashstr unsigned char malloc 17 NULL printf Not enough memory to allocate buffer n 计算机信息安全 实验指导书 17 exit 1 terminate program if out of memory MD5String inputData hashstr 调用 MD5 算法实现函数 printf 明文经过 MD5 得到的消息摘要是 s n hashstr 七七 实验结果实验结果 由于在程序中使用了语句 int i x 和 time t t 保证了每次产生的明文 信息均不同 故经过 MD5 算法运算 得到的消息摘要 MD x 也是不相同的 八八 思考题思考题 1 简述消息认证码 MAC 的基本原理 2 分析 MAC 与消息摘要的区别 实验四实验四 软件安全实验软件安全实验 实验学时 实验学时 2 2 学时学时 计算机信息安全 实验指导书 18 实验类型 设计实验类型 设计 实验要求 必修实验要求 必修 一一 实验目的实验目的 计算机系统漏洞扫描器是一种自动检测远程或本地主机安全性弱点的程序 通过使用漏洞扫描器 系统管理员能够发现所维护的 Web 服务器的各种 TCP 端 口的分配 提供的服务 Web 服务软件版本和这些服务及软件呈现在 Internet 上的安全漏洞 从而及时修补漏洞 保障计算机系统的安全 1 了解目前系统存在的典型漏洞 2 学会使用网络扫描和漏洞扫描工具 3 掌握涉及网络安全所采取的防范措施 二二 实验内容实验内容 本次试验所选择的流光漏洞扫描软件不仅仅是操作系统漏洞扫描工具 还 是一个功能强大的渗透测试工具 流光自带了猜解器和入侵工具 可以方便地 利用扫描出的漏洞进行入侵 通过试验 需要掌握流光漏洞扫描软件的使用 三三 实验环境实验环境 1 操作系统 Windows9x NT 2000 XP 2 两台预装 Windows2000 XP 的计算机 通过网络相连 其中一台计算机安 装 Fluxzy5 流光 5 四四 实验原理实验原理 计算机系统漏洞扫描技术的工作原理是 首先 要获得计算机系统在网络服务 版本信息 Web 应用等相关信息 采用模拟攻击的方法 对目标主机系统进行攻击性的安全漏洞扫描 如 弱口 令测试等 如果模拟攻击成功 则视为系统存在漏洞 其次 也可以根据系统事先定义的系统安全漏洞库对可能存在的 已知的 安全漏洞进行逐项检查 按照规则匹配的原则将扫描结果与安全漏洞库进行比 对 如果满足匹配条件 则视为系统存在漏洞 计算机信息安全 实验指导书 19 最后 根据检测结果向系统管理员提供安全性分析报告 作为系统和网络 安全整体水平的评估依据 五五 实验步骤实验步骤 1 安装流光软件 在安装流光时 需要关闭本地的病毒防火墙 启动流光工具后可以看到主界 面如图 4 1 所示 图图 4 14 1 流光工具启动界面流光工具启动界面 2 选择 文件 高级扫描向导 命令 打开 设置 对话框 图 4 2 所示 图图 4 24 2 高级扫描向导设置高级扫描向导设置 3 在该对话框中的 起始地址 和 结束地址 文本框中填写本地 IP 地址 目 标系统 下拉列表框可以选择 ALL Windows Linux UNIX 检测项目 列表 计算机信息安全 实验指导书 20 框选择对目标主机的哪些服务进行漏洞扫描 单击 下一步 按钮 打开 PORTS 对话框 如图 4 3 所示 图图 4 34 3 端口设置端口设置 4 通过图 4 3 所示对话框可以对扫描的端口进行设置 其中自定义端口扫描范 围为 0 65535 对于本次试验 选中 标准端口扫描 复选框 并单击 下 一步 按钮 将打开尝试获取 POP3 的版本信息和用户密码的对话框以及获 取 FTP 的 Banner 尝试匿名登录 尝试用简单字典对 FTP 账号进行暴力破解的 对话框 选择这 3 项后单击 下一步 按钮 将弹出询问获取 SMTP IMAP 和操作系统版本信息以及用户信息的提示 并询问是否扫描 Sun OS bin login 远程溢出的对话框 5 之后 将出现扫描 Web 漏洞的信息 对按照事先定义的 CGI 漏洞列表选择不 同的漏洞对目标主机进行扫描 其中 默认规则有 2448 条 如图 4 4 所示 计算机信息安全 实验指导书 21 图图 4 44 4 漏洞扫描设置漏洞扫描设置 6 单击 下一步 按钮 出现对 MS SQL 2000 数据库漏洞 SA 密码和版本信 息 扫描对象设置的对话框 如图 4 5 所示 图图 4 54 5 MSMS SQLSQL 20002000 数据库漏洞扫描设置数据库漏洞扫描设置 7 单击 下一步 按钮 将对计算机系统的 IPC 漏洞进行扫描 查看是否有空 连接 共享资源 获得用户列表并猜解用户密码 如图 4 6 所示 计算机信息安全 实验指导书 22 图图 4 64 6 IPCIPC 漏洞扫描设置漏洞扫描设置 8 选择需要进行扫描的选项 如果不选择最后一项 则此软件将对所有用户的 密码进行猜解 否则只对管理员用户组的用户密码进行猜解 单击 下一步 按钮 打开如图 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市中医院椎管内麻醉技术专项技能考核
- 大同市人民医院介入质量控制考核
- 2025物业管理知识考试试卷及答案
- 昆明市2025年度专业技术人员继续教育公需科目考试题库(附答案)
- 阳泉市中医院肿瘤编码专项考核
- 2025年医院火灾消防演练应急预案模板
- 2025年重庆市继续教育公需科目考试试题及答案
- 晋中市中医院红光治疗设备操作考核
- 2025年河北省廊坊市专业技术继续教育公需科目考试及答案
- 2025年村卫生室药品质量管理自查报告
- 《建筑工程识图》课件-独立基础识读
- 银行信访风险管理流程及应对措施
- 蜜雪冰城测试题及答案
- 2025年化工应聘面试试题及答案
- 《足球裁判法及规则》课件
- 劳务公司协议合同范本
- 登高作业安全培训
- 《汽车发动机构造与维修》一体化教案1-20周全篇
- 2025年度古建筑修复施工专业承包合同范本
- 学校食堂监督方案
- 全过程工程咨询文件管理标准
评论
0/150
提交评论