凯撒解密,怎么知道密钥?
读了几遍的凯撒加密的原理,和解密的原理。本人就有一个疑问:要是得到一段加密过后的单词"dijob",要想破解这个密文,怎么得到密钥?难道也是要穷举么?是不是假设密钥是右移动1位到26位来穷举?要是这的是这样,会有26个解密过后得到的明文,那么这26个解密过后的单词哪个才是明文呢? 解密 加密 破解 移动
[解决办法]
本来就是猜,哪个像哪个就是
如果字符很多的话,可以先分析26个字符的出现频率,和日常生活中26个字符的使用频率一对照,就可以猜出来了
极端一点的情况,加密前后都只有一个字符,猜都没法猜——也没必要猜,这种情况一点意义都没有
[解决办法]
如果把每一个可能的结果丢给字典(open source dictionary) 来判断是否有意义,然後有意义的话,再确认所移的值…感觉这样应该是解的出来,但就是可能跑起来没效率… 求高手解~
[解决办法]
只是简单的替换而已。
密钥就是对应关系表。可以有多种。
这个样本量太少,无法判断解成什么是争确的。
dijob共5个不重复的字母,可以解成任意,包含5个字母,切不重复的单词如:
modle,group,first,forest等等,至少需要包含26个字母的一句密文才可以确定密钥。
[解决办法]
肯定是穷举或者计算出现概率,凯撒密码,用穷举法,一点都不过分,才26次,只要翻译出来有意义,就可以确定了。
[解决办法]