什么是单表代替密码算法?什么是多表代替密码算法?

2023年3月5日23:01:29什么是单表代替密码算法?什么是多表代替密码算法?已关闭评论

1 单表代替密码算法

密码算法如下:

什么是单表代替密码算法?什么是多表代替密码算法?

实例2-1:

明文:the quick brown fox jumps over the lazy dog(这是著名的测试文本,明文便于记忆,短小且包含所有26个英文字母)。

整理:THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG(上述明文-密文对照表中没有小写字母和空格符号,因此,在加密前要进行必要的整理)。

密文:VJGSWKEMDTQYPHQZLWORUQXGTVJGNCBAFQI。

整理:VJGSW KEMDT QYPHQ ZLWOR UQXGT VJGNC BAFQI。社会工程学研究表明,乱序英文字母,从视觉、听觉等感觉上,5个字母一组最合适,4个一组略显少,6个一组略显多。同理,乱序阿拉伯数字,4个一组最合适。

本例还可以从另一个角度看,如果将A、B、…、Y、Z编为数字0、1、…、24、25,则发现密文实际上是明文加2再模26,即:

密文=(明文+2)mod(26)

这可看成一种加减作业。加减作业是代替作业的一种特例,而且隐含着序列密码设计思想的雏形(下文还要涉及)。

理论上讲,可以构造出26!(26个英文大写字母的全排列, != -1)( -2)…3×2×1)个不同的单表代替的密码算法,其中包括一些“不好”的单表代替。比如,下面的单表代替就“不好”。

什么是单表代替密码算法?什么是多表代替密码算法?

如果再加上小写英文字母和10个数字,那就是26+26+10=62,可以构造出62!个不同的单表代替的密码算法,其中也包括了一些“不好的”单表代替。当然还可以再加上各种标点符号等,以构成更大的单表代替的密码算法。

2 多表代替密码算法

密码算法如下:

什么是单表代替密码算法?什么是多表代替密码算法?

约定第1个明文字母用密文1(也称为代替表1)代替,第2个明文字母用密文2代替,第3个明文字母用密文3代替,第4个明文字母用密文4代替,第5个明文字母用密文5代替,每5个字母一组。第6个明文字母又返回用密文1代替……以此类推,直至将明文完全加密。

实例2-2:

明文:the quick brown fox jumps over the lazy dog。

整理:THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG。

密文:VMTWPKHZHMQBCLJZOJSKUTKKMVMTRVBDSTB。

整理:12345 VMTWP KHZHM QBCLJ ZOJSK UTKKM VMTRV BDSTB。

注意,这时的密文多了一组“12345”。多表代替密码算法提高了破译难度,但只要代替表有限,提高的难度并不大。

  • A+
所属分类:SQL
  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。