欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Hill算法实验报告(共3页).doc

    • 资源ID:14480958       资源大小:36KB        全文页数:3页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Hill算法实验报告(共3页).doc

    精选优质文档-倾情为你奉上密码编码学与网络安全实验报告题目:实验三 Hill算法姓名实验环境:Windows XP Sp2硬件环境:CPU:Intel Core 2 Duo T7100 硬盘:120G 内存:2G (自己填写实际)实验要求: 应用Hill算法编写一个程序。要求此程序能够进行正常的加解密。并能够实现m维Hill密码的已知明文攻击。实验原理:Hill加密算法的基本思想是将l个明文字母通过线性变换将它们转换为k个密文字母。脱密只要做一次逆变换就可以了。密钥就是变换矩阵本身。即M=m1m2mlEk(M)=c1c2cl其中c1=k11m1+k12m2+k1lmlc2=k21m1+k22m2+k2lmlcl=kl1m1+kl2m2+kllml通常对于字母加解密,使用mod 26的方法。以上线性方程可以采用矩阵表示。实验内容及过程:1.数据结构定义部分:cmatrix:double型二维数组,用于存储密文矩阵信息。newpmatrix:double型二维数组,用于存储矩阵转逆变换后的明文矩阵信息。oldpmatrix:double型二维数组,用于存储一开始未转逆的明文矩阵信息。pmatrix:double型二维数组,用于存储最终的明文矩阵信息。kmatrix:double型二维数组,用于存储密钥矩阵信息。 sc,sp:string型,明密文存储字符串。 r,c:int型,用于限制每次明密文矩阵的已知字符数。2.基本函数定义:changemod:返回类型为int型,参数类型为int型。主要用途是:对一个输入的整型不断进行模26处理。直到这个数能够被变量bs整除。(这个函数的设置目的主要是为了防止算出的矩阵为小数)。3.主要的算法思想:对于输入的明密文矩阵,pmatrix和cmatrix矩阵。首先使用线性代数的方法将明文矩阵进行行代换,如下列代码所示:for(int k=1;k<=r;k+) for(int t=c+1;t<=c*2;t+) if(t-k)=c) pmatrixkt=1; else pmatrixkt=0; for(int x=1;x<=r;x+) for(int y=1;y<=c*2;y+) System.out.print(pmatrixxy+" "); System.out.println(); 然后将所得的行代换后的明文矩阵进行逆矩阵变换操作,具体步骤参见线性代数相关章节。具体代码为:for (int k = 1; k <= c; k+) if (pmatrixkk != 1) int bs = pmatrixkk;pmatrixkk = 1;for (int p = k + 1; p <= c * 2; p+) int sum = pmatrixkp;while (sum % bs != 0) sum += 26;pmatrixkp = sum / bs;for (int q = 1; q <= r; q+) if (q != k) int bs = pmatrixqk;for (int p = 1; p <= c * 2; p+) pmatrixqp -= bs * pmatrixkp;else continue;注意:其中的bs为各小矩阵的行列式的值。以上两段代码为关于如何进行逆矩阵转换的具体实现。4.输入与输出:本算法的输入为如下三项:a. 已知明密文对每对的字符个数;b. 已知的明文对(若干);c. 与之相对应的密文对。本算法的输出为如下三项:a. 行代换后的明文矩阵;b. 明文矩阵的逆矩阵;c. 最终解得的密钥矩阵K。5.最终运行结果:输入如下所述:已知明密文对每对的字符个数:2已知的明文:fr,与之相对的密文:PQ;已知的明文:id,与之相对的密文:CF;输出为下图所示:出现的问题以及解决方案:问题1:所做出的密钥矩阵K中元素的数值是小数。解决方案:由于忽视了每次矩阵的mod26计算,造成了最终得出的密钥矩阵K中的小数。只需对每一个被除数每次+26直到除尽即可。最后统一进行mod 26直到最简。专心-专注-专业

    注意事项

    本文(Hill算法实验报告(共3页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开