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

上传人:飞****2 文档编号:14480958 上传时间:2022-05-04 格式:DOC 页数:3 大小:36KB
返回 下载 相关 举报
Hill算法实验报告(共3页).doc_第1页
第1页 / 共3页
Hill算法实验报告(共3页).doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《Hill算法实验报告(共3页).doc》由会员分享,可在线阅读,更多相关《Hill算法实验报告(共3页).doc(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上密码编码学与网络安全实验报告题目:实验三 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+k22m

2、2+k2lmlcl=kl1m1+kl2m2+kllml通常对于字母加解密,使用mod 26的方法。以上线性方程可以采用矩阵表示。实验内容及过程:1.数据结构定义部分:cmatrix:double型二维数组,用于存储密文矩阵信息。newpmatrix:double型二维数组,用于存储矩阵转逆变换后的明文矩阵信息。oldpmatrix:double型二维数组,用于存储一开始未转逆的明文矩阵信息。pmatrix:double型二维数组,用于存储最终的明文矩阵信息。kmatrix:double型二维数组,用于存储密钥矩阵信息。 sc,sp:string型,明密文存储字符串。 r,c:int型,用于限制

3、每次明密文矩阵的已知字符数。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(in

4、t 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 /

5、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直到最简。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com