下载此文档

置换加密算法2.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
置换密码算法的原理是不改变明文字符,而是按照某一规则重新排列消息中的比特或字符顺序,才而实现明文信息的加密。置换密码有时又称为换位密码。矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attackbeginsatfive,密钥为cipher,将明文按照每行6个字母的形式排在矩阵中,形成如下形式:根据密钥cipher中各个字母在字母表中出现的先后顺序,给定一个置换:由密钥cipher通过getTheMatrix方法得到f矩阵。根据上面的置换,将原有居住中的字母按照第1列、第4裂、第5裂、第3裂、第2列、第6列的顺序排列,则有下面的形式:这里经过了一点处理就是当输入的字母数不是密钥长度的整数倍时,在输入的备加密字符串加上几个“#”来完成补全,然后参加到加密的过程中去,从而得到如下的密文:asiteaetbvci#agt#knf#其解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由密钥给出的矩阵置换产生新的矩阵,从而恢复明文。本实验中也使用了上述的测试用例,主要经过两次依据矩阵的变换,都是使用矩阵f中的下面一行中的数值所在列来替换上面一行数值表示的列的值,从而来改变起序列、完成加密。解密中用到groupedSource[i][j]=temp[i][secretMatrix[secretMatrix[j]]];来完成将原来经过矩阵转变来的字符序列逆转,从而得到起加密前的矩阵。【代码部分】packagePractice1;;;lassReplaceDemo{privateStringsourceString="attackbeginsatfive";privateStringkeyString="cipher";privateint[]secretMatrix;privatechargroupedSource[][];privatevoidgetSource(){//GetthesourceStringScannerscan=newScanner();("Pleaseinputthestringwhatyouwanttoencrypt:\t");sourceString=();("Pleaseinputthekeystringforyou:\t");keyString=();}publicReplaceDemo(){//constructorforthisclassgetSource();}privatevoidgroupSourceString(){//ordingbythekeyStringintsourceLen=();intkeyLen=();groupedSource=newchar[sourceLen/keyLen+1][keyLen];if(sourceLen%keyLen!=0){for(inti=0;i<(keyLen-sourc

置换加密算法2 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小25 KB
  • 时间2019-10-25