-
-
[原创]解析棋盘密码(古典)
-
发表于:
2009-7-20 13:32
18712
-
标 题: 【原创】解析棋盘密码(古典)
作 者:qsyqsy
时 间: 2009-07-20,13:35
作者邮箱: qsyqsy@126.com
代有一种称之为棋盘密码的加密方法,其实方法十分简单,在密码学并不发达的古代,也够用了。、
这种密码的原理是:通信双方各掌握一个m*n列的矩阵,比如A列第一行写上“我”,A列第2行写上“的”……以此类推,构成:
所以,“我的名字叫XXX”的密文即:A1 A2 A3 A4 B1 B2。这样,一份密文就出来了。
PS:这密文还真要简练,不然人工要被累死。
其实,就是记下行号,列号,传出去就OK了。(中国密码学还真不发达,六韬里也就记载了个笨办法。)
好了好了,言归正传。这种加密方法的密匙就是这个矩阵了。在现代,这种方法也应用得非常广泛,只是很少应用在密码学上了。在计算机上,只要映射一个字符集,这个字符集就是密匙。当然,是通过写程序来实现了。
不过对不起,本人的C和C++属于入门阶段,错误百出,就不献丑了。
解密方法:这只不过是一种单表置换加密,频率统计就可以破译了,所以这种方法是一种很不安全的方法。现在在密码学上已经基本销声匿迹。
至于我刚才说的应用广泛,很多人可能不理解。举一个例子吧。相信我们中间大多数都是用拼音打字的。其实,这就是一个字符集。
以声母为列号,韵母为行号,就可以映射一个字符集(白痴都能破解,但白痴不能理解为什么这样破解)。
其实,这种密码没有什么技术含量,很多概念也不涉及。唯一涉及的矩阵给我画个EXCEL就彻底GAME OVER,也没有什么知识点,权当了解一下,就当消遣也不错。
附:文中说六韬里记载了个笨办法是指:把明文分成3端,3路送出去
请各位大侠赐教!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课