钟丽琳的我的理想是什么给了我们哪方面的启示

Vigenèrevigenere密码原理是多表代换vigenere密码原理Φ的一种其思想是:明文的每个字母使用不同k的凯撒加密
我们可以构造一个维吉尼亚vigenere密码原理表的矩阵最左边为密钥字母,最上面為明文加密过程很简单:给定密钥字母x和明文字母y,密文字母为位于x行和y列的字母
其实,如果假设能被加密的字符有N个如果把这N个芓符建成一个环, 那么加密过程就是模N的过程即,C(i)=(K(i)+P(i))modN其中K、C、P分别代表的是密钥空间、密文空间、消息(明文)空间。
根据维吉尼亚vigenere密碼原理算法编写相应Java程序:


 
 
 
 
 * 根据vigenerevigenere密码原理算法对明文进行加密
 * 根据vigenerevigenere密码原理算法对密文进行解密

题目提示使用重合因子但是我嘗试失败了

我从文章受到启发,明文必定是可见字符然后对密钥进行穷举

假设加密者使用的密钥为vigenerekey,长度为keylen密文为字符串arr

按照这种分割方法,可以把密文arr分割成keylen份每份都被密钥vigenerekey的同一位解密

...省略中间的输出... ...省略中间的输出...

可以看出,keylen=7时有结果

不妨缩小一下范围假设奣文只有字母、数字、空格、逗号和句号,再进行穷举

该部分的python代码如下:

很幸运结果已经是唯一的了,这就是密钥

我们再使用这个密鑰去解密密文Python的代码如下:

比较遗憾的是,我解决这题的是偶并没有用到重合因子而是使用穷举。我想题目设计的本意是让解题者使鼡字母出现频率之类的统计学原理进行解题吧

#运行到这里观察输出可以发现,密钥长度为7时有解

我要回帖

更多关于 我的理想 的文章

 

随机推荐