经典密码学——行置换加密法


很多教材上对于行置换密码、列置换密码的定义都不是完全相同,甚至核心思想根本不一样。笔者就自己学习的经历,简单介绍一种一些教材上所谓的“行置换密码”的算法,大家一起交流、探讨。利用这种加密方法,明文按行填写在一个矩阵中,而明文则是以预定的顺序按列读取生成的。例如如果矩阵是4列5行,那么明文“encryption algorithm”(省去空格后)可以如下写入该矩阵:按一定的顺序读取列以生成密文。对于这个示例,如果读取顺序为递增顺序,则明文就是:“ctarm eyogt npnoh rilis”(添加空格只是为了便于观察)。这种加密法的密钥是列数和读取列的顺序。如果列数很多,记起来可能会比较困难,因此它可以表示成一个关键词,该关键词的长度等于列数,而其字母顺序决定读取列的顺序。例如,关键词“general”有7个字母,意味着矩阵有7列。由于“a”是“general”中字母顺序最低的,因此数字1放在第6列;从左往右,第一个“e”为其次,所以数字2放在第2列;第二个“e”则是使数字3放在第4列。最后的顺序如下:g e n e r a l4 2 6 3 7 1 5_______________________________________________________________________________________This scheme is to write the message in a rectangle, row by row, and read the message off, column by column, but permute the order of the columns.The order of the columns then becomes the key to the algorithm.For example, Key: 4 3 1 2 5 6 7 Plaintext: a t t a c k p o s t p o n e d u n t i l t 免费云主机域名 w o a m x y z Ciphertext: ttna aptm tsuo aodw coix knly petz (再次强调,空格只是为了便于观察)Thus, in this example, the key is 4312567.To encrypt, start with the column that is labeled 1, in this case column 3. Write down all the letters in that column.**************************************************************************************上述的是一次加密,也可把上述密文当做新一轮加密的明文,再次进行行置换加密。参考资料:《Cryptography and Network Security Principles and Practice, Fifth Edition》 ————William Stallings《Classical And Contemporary Cryptology》 ————Richard Spillman//同文件夹下需要有“plain.txt”文件,里面必须全部是英文字母,可大小写混杂,但是不能出现其他字符,如空格、回车换行、数字等。

相关推荐: 安装软件包的三种方法

rpm工具yum工具源码包先挂载光驱设备mount /dev/cdrom /mnt/安装一个rpm包rpm -ivh +包全名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度rpm -ivh –force +包全名rpm -ivh –…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/30 11:04
下一篇 01/30 11:05