计算机网络安全技术-实验一-密码学基础

计算机科学与技术系实 验 报 告专业名称 网络工程 课程名称 计算机网络安全技术 项目名称 密码学 班 级 13 网工(1)班 学 号 1304031030 姓 名 余世光 同组人员 无 实验日期 2016/5/8 实验一 密码学密码学数学基础实验一、实验内容:使用运算器工具完成大数运算、素性测试、模幂、原根、求逆和二次剩余的计算。二、实验原理:1、 大数运算大多数运算器只支持小于 64 位的整数运算,无法进行加密算法的运算。为满足加密算法的需要,可通过建立大整数运算库来解决这一问题。通常通过以下两种方式进行处理:(1)将大整数当作字符串处理,即将大整数用 10 进制字符数组表示;这种方式便于理解,但效率较低。(2)将大整数当作二进制流进行处理;计算速度快。2、素性测试Monte Carlo 算法和 Las Vegas 算法均为素性测试的算法。(1)Monte Carlo 算法Monte Carlo 算法又称为概率素性检测算法,算法描述如下:输入:p 为一个正整数;输出:若 p 为素数,输出 YES;否则输出 NO。Prime_Test(p)flag=0;重复 次:在(1,p-1]区间上均匀随机的选取 x;如果 gcd(x,p)>1 或 ,return(NO);如果 flag=0 且 ,flag=1;结束重复;如果 flag=0,即在重复中 没有出现过,return(NO);return(YES)。(2)Las Vegas 算法Las Vegas 算法又称为素性证明,算法描述如下:输入:p 为一个正基数;q1,q2,…,qk 为 p-1 的全体素因子,其中 k≤ ;输出:若 p 为素数,输出 YES;否则输出 NO。Prim_ Certify(p,q[k])在区间[2,p-1]上均匀随机的选取 gfor(i=1,i++,k)do如果 ,输出 NO_DECISION 并终止程序;如果 ,输出 NO 并终止程序;输出 YES 并终止程序。2、 模幂对于 b,c0,c≥0,m>1;输出:b cmod mmod_exp(b,c,m)if(c=0) return (1);if (c mod 2=0) return(mod_exp(b2 mod m,c/2,m));其中 c/2 表示 c 除以 2 取整;return (b·mod_exp(b2 mod m,c/2,m))。3、 原根在数论,特别是整除理论中,原根是一个很重要的概念。对于两个正整数 ,由欧拉定理可知,存在正整数 ,比如说欧拉函数 ,即小于等于 m 的正整数中与 m 互质的正整数的个数,使得 。由此,在 时,定义 a 对模 m 的指数 为使 成立的最小的正整数 d。由前知 一定小于等于 ,若 ,则称 a 是模 m 的原根。4、 求逆乘法逆元的定义为:对于 ,存在于 ,使得于 ,则 w 是可逆的,称 x 为 w 的乘法逆元,记为 ;其中 Zn 表示小于 n 的所有非负整数集合。通常通过扩展欧几里得算法和费马小定理求乘法逆元,此处使用扩展欧几里得算法。扩展欧几里得算法的定义为:如果整数 f1,gcd(d,f)=1,那么 d 有一个模 f 的乘法逆元;即对于小于 f 的正整数 d,存在一个小于 f 的正整数 d-1,使得 。扩展欧几里得算法的具体描述如下:ExtendedEUCLID(d,f)(1) (X1,X2,X3)←(1,0,f);(Y1,Y2,Y3)←(1,0,d)。(2) 若 Y3=0,返回 X3=gcd(d,f);无逆元。(3) 若 Y3=1,返回 Y3=gcd(d,f);Y2=d-1mod f。(4) Q= 。(5) (T1,T2,T3)←(X1-Q·Y1,X2 -Q·Y2,X3-Q·Y3)。(6) (X1,X2,X3)←(Y1,Y2,Y3)。(7) (Y1,Y2,Y3)←(T1,T2,T3)。(8) 返回(2)。5、 二次剩余二次剩余的定义为:a 与 p 互素,p 是奇素数,若 ,则称 a 是模 p 的二次剩余;否则称 a 是模 p 的非二次剩余。二次剩余定理:若 p 是奇素数,则整数 1,2,…,p-1 中正好有(p-1)/2 个是模 p 的二次剩余,其余的(p-1)/2 个是非二次剩余。三、实验环境:ISES 客户端四、实验步骤:(1) 加、减、乘、除、模、求逆运算选择进制类型和计算类型,输入要计算的操作数,点击计算。显示计算后的结果,如图 1 所示。图 1(2) 模幂运算选择进制类型和计算类型,输入要计算的 b、e、m,点击计算。显示模幂计算后的结果,如图 2 所示。图 2(3) 生成大素数原根选择进制类型和计算类型,点击随机生成按钮,显示随机生成的大素数以及大素数的原根,如图 3 所示。图 3(4) 二次剩余判断选择进制类型和计算类型,输入 a、p,点击计算。显示二次剩余的判断结果,如图 4 所示。图 4(5) 素性测试选择进制类型和计算类型,输入待测试的大整数,点击测试。显示测试结果,如图 5,6 所示。图 5图 6五、实验总结:六.实验思考:1、计算 Monte Carlo 算法和 Las Vegas 算法的时间复杂度2、将模幂算法修改为非递归算法,并计算递归与非递归算法的复杂度3、思考如何将扩展欧几里得算法和费马小定理用于求逆散列函数实验一、实验内容:1、通过运算器工具实现 MD5、SHA-1/256 、HMAC 等算法的加解密。2、对两个报文的 MD5 值进行异或比对,进行 SHA-1 的分步计算。3、对 MD5、SHA-1/256 等算法进行扩展实验和算法跟踪。二、实验原理:散列函数是一种单向密码,即是一个从明文到密文的不可逆映射,只有加密过程,不可解密;同时散列函数可以将任意长度的输入经过变换以后得到固定长度的输出。散列函数在完整性认证和数字签名等领域有广泛应用。散列函数应满足以下要求:(1)算法公开,不需要密钥。(2)具有数据压缩功能,可将任意长度的输入转换为固定长度的输出。(3)已知 m,容易计算出 H(m)。(4)给定消息散列值 H(m),要计算出 m 在计算上是不可行的。(5)对任意不同的输入 m 和 n,它们的散列值是不能相同的。1、 MD5 算法MD5(Message-Digest Algorithm 5)即信息-摘要算法,是 MD4 算法的改进;算法的输入为任意长度的消息,分为 512 比特长的分组,输出为 128 比特的消息摘要。处理过程如下:(1)对消息进行填充,使其比特长度为 n 512+448(n 为正整数),填充方式是固定的:第一位为 1,其后各位为 0。(2)附加消息长度,使用上一步骤留出的 64 比特以小端(最低有效字节/位存储于低地址字节/位)方式来表示消息被填充前的长度,若消息长度大于 264,则以 264 为模数取模。(3)对消息摘要缓冲区初始化,算法使用 128 比特长的缓冲区来存储中间结果和最终散列值,将缓冲区表示成 4

计算机 密码学 实验一,计算机网络安全技术-实验一-密码学基础相关推荐

  1. 计算机安全技术 实验报告,网络安全技术实验报告(共10篇).doc

    网络安全技术实验报告(共10篇) 网络安全技术实验报告(共10篇) 网络安全技术实验报告九 实验九 杀毒软件的使用 实验目的 1.了解杀毒软件的工作原理. 2.学习使用杀毒软件检测和清除病毒. 实验环 ...

  2. 大学计算机第一次实验报告,计算机网络第一次实验报告.doc

    实 验 报 告 课程名称 计算机网络实验 实验项目名称 交换机VLAN配置实验 实验类型 验证性 实验学时 2 班级 学号 姓名 指导教师 实验室名称 实验时间 实验成绩 预习部分 实验过程 表现 实 ...

  3. 计算机网络ospf实验报告,计算机网络ospf实验报告.pdf

    NANCHANG UNIVERSITY 计算机网络实验报告 专 业: 班 级: 学 号: 学生姓名: 2014 年 月 日 1 目录 实验 1:虚拟局域网( VLAN)综合实验 3 实验 2:静态路由 ...

  4. 计算机网络技术实验指导,计算机网络技术实验指导书.pdf

    计算机网络技术基础(Ⅲ) 课程实验 实验指导书 编制: 王 跃 飞 合肥工业大学工业工程教研室 目录 目 录 1 实验一 局域网络与 TCP/IP 协议配置 2 一.实验目的 2 二.实验任务 2 三 ...

  5. 计算机联网实验步骤,计算机网络技术实验操作过程.doc

    计算机网络技术实验操作过程 计算机网络技术实验操作 一.虚拟机安装WinXP 1.启动虚拟机载入WinXP.ISO映像文件 双击桌面的虚拟PC----安装Windows----启动----CD---- ...

  6. 计算机网络Wireshark实验(西安交通大学)

    实验名称 计算机网络Wireshark实验 实验日期 2021 年 5 月 17 日 实验地点 XJTU 一.实验目的 1. 掌握WireShark软件,通过监测网络流量理解计算机网络体系结构的分层原 ...

  7. c 语言构造函数的实验报告,c上机实验报告_相关文章专题_写写帮文库

    时间:2019-05-12 07:35:41 作者:admin 第二次上机实验报告 姓名:王小宁班级:学号: 031012 1234 第一题: 题目: 编写一个类,声明一个数据成员和一个静态数据成员, ...

  8. 实验六计算机网络通信Socket编程,计算机网络socket编程实验报告(3页)-原创力文档...

    实 验 报 告 课程名称 计算机网络 实验项目名称 Socket 通信 实验时间 4.16-4.30 (日期及节次) 第 1 节-第 2 节 计算机学院 专业 计算机科学与技术 学生所在学院 年级 2 ...

  9. 计算机网络系统结构分析 pdf,计算机网络(实验三:数据包结构分析).pdf

    <计算机网络>课程实验报告 实验三:数据包结构分析 姓名 院系 学号 任课教师 指导教师 实验地点 计 704 实验时间 五 7-8 出勤.表现得分 实验报告 实验课表现 (10) 实验总 ...

最新文章

  1. 一个自定义 HBase Filter -“通过RowKeys来高性能获取数据”
  2. config done shell_shell do...done $config
  3. 一个小老板从小公司创业开始做起的过程记录
  4. python怎么输入两行_python交互模式下输入换行/输入多行命令的方法
  5. PMP答题技巧(详细版)
  6. eclise去连接mysql,Eclipse如何连接MySQL
  7. 【LeetCode】剑指 Offer 55 - I. 二叉树的深度
  8. Babel 陷财务困境,负责人13万年薪遭质疑,Vue.js作者尤雨溪发文力挺
  9. 论文笔记_S2D.10-2016-NIPS_室外单张图像的深度感知
  10. Linux命令_搜索文件
  11. slam 图像处理 matlab,MATLAB R2020a图像处理和计算机视觉新进展
  12. 蒲公英联机平台的服务器虚拟IP,蒲公英客户端如何使用固定虚拟IP管理虚拟局域网的步骤是什么?...
  13. Intel Optane 内存个人安装与使用步骤 Dell 灵越
  14. 如何解决一些控件无法运行在高版本的Chrome下运行的问题
  15. discuz分类信息模版PHP,Discuz 社区分类信息模板使用教程
  16. C语言实现16进制到2进制的转换
  17. [Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算
  18. 广东省人力资源和社会保险个人资料下载
  19. 炫舞服务器显示方框怎么回事,win10界面全是显示方块如何解决_win10系统界面出现白色方框该怎么去除-win7之家...
  20. DCT变换(JAVA)

热门文章

  1. 状态机思路在程序设计中的应用
  2. COM+组件注册方法
  3. DCOM 示例:演示如何远程调用 COM 对象
  4. Python字符串的encode与decode
  5. gym中render()函数在远端server运行的解决方案
  6. mysql 删除原理_MySQL权限原理及删除MySQL的匿名账户
  7. python 指针_指针篇 | 指针的灵活让我想起了Python
  8. mysql notes
  9. java linux so
  10. 关于释放内存的那点事