请教如何在没有密钥的情况下算出算出明文?(维吉尼亚密码)

zelkin 2008-02-17 05:29:46
RT! 没有密钥,只有密文
想推出密钥和明文,有什么思路么
我看有的文章里写到e和t用来替换出现最频繁的字母,其他呢?

以下是密文
BZWIEZSEHPVCIEBSYHAWWYLIIGWHMILZLMHTCSXWWCWXWWJLEIWOLMBSWPXWWXSVTZPWE
XVESXWWXPMHLPRXDLSMWSJPEQXZLHATOPVIQAYHMCYDLIPNPWSUUZVRDMEMRIZPJMTDOA
LTFDYHSWYPCBQDLIPXCSWTSYHWIGZHYEJTKLIOSMPTQZYVHZPEZTKREXWWCIHGGFRHBAY
IECVMSATVOSACLZMXWADFVDLSIVHKLMHIGSMQSGJSYXFEIRSLZVIXYYSZTJFWAXDWCSJS
NXYPDWCVJDPYWPFOXLTQSEXTVSMQPDWXLTEZVIQWNEYHWZJLXKOVIPELRHLZLXLTZLHWP
AO
...全文
781 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zelkin 2008-02-19
  • 打赏
  • 举报
回复
现在好了
zelkin 2008-02-19
  • 打赏
  • 举报
回复
谢谢mathe,我明白了
我想结贴,在得分处输入分数回车以后出现这样的错误

密码验证有误

Error Password 1


怎么回事?
mathe 2008-02-18
  • 打赏
  • 举报
回复
至于密钥,你比较明文和密文前五个字母不就出来了吗?
mathe 2008-02-18
  • 打赏
  • 举报
回复
首先用google搜索英文中字母分布的频率,比如:http://space.itpub.net/100788/viewspace-150465
这样我们有了26个字母频率的统计基础。
然后假设密钥长度为k,对k=1,2,3,...分别计算下面过程
对于密钥长度k,明文可以分成k份,每份使用一个固定的字母加密,
也就是对于第t份,加密过程为f(t,X)=(X+u(t))(mod 26) (这里的输入输出都看成0~25的整数)。
所以对于第t份,我们可以通过X=[Y-u(t)](mod 26)来解密,其中u(t)分别可能是0,1,2,...,25
由于第t份字母的分布应该也符合英文中字母分布的频率,所以我们可以分别对u(t)=0,1,...,25来查看符合程度
比如现在对于第t份,统计结果26个字母数目分别为C[0],C[1],...,C[25]
26个字母理论频率分别为p0,p1,...,p25
那么如果符合统计规律,那么熵值
-(C[0]log(p0)+C[1]log(p1)+...+C[25]log(p25))
会取比较小的值,不然熵值会比较大。
所以我们可以对不同的u(t)计算对应的熵值,熵值最小的u(t)就非常可能是正确的解码方案。
实际上可以进一步通过理论分析求出理论上熵值应该在那个范围,不过这个我就没有使用了,应为通过上面方法已经可以分别计算出
长度为1,2,3,...等情况下的熵值。全部打印出来可以看出k=1,5时候的熵值比其他情况都明显小(实际上如果计算出理论值,可能直接就可以推导出k=5的情况才是正确的)
查看这两种情况下对应的明文,发现k=5的时候才有意义。结果就出来了。

要给分,点"管理帖子"按钮就可以操作了
zelkin 2008-02-18
  • 打赏
  • 举报
回复
顺便告诉我一下怎么给分? 谢谢
zelkin 2008-02-18
  • 打赏
  • 举报
回复
无限感谢 ~mathe
能告诉我密钥和你推算的思路么?
dobear_0922 2008-02-18
  • 打赏
  • 举报
回复
看看
mathe 2008-02-18
  • 打赏
  • 举报
回复
Joseph had a dream. And when he told it to his brothers. They hated him all the more.
He said to them: Listen to this dream I had , we were binding
sheaves of corn out in the field. When suddenly my sheaf rose and stood upright
while your sheaves gathered round mine and boweddown to it.
His brothers saidto him: Do you intend to reign over us?
Will you actually rule us? And they hated him all the more.
Because of his dream and what he had said.
mathe 2008-02-18
  • 打赏
  • 举报
回复
没有断句,我很难拆分开,自己慢慢继续拆分吧。
密码长度是5
mathe 2008-02-18
  • 打赏
  • 举报
回复
JOSEPHHADADREAM ANDWHENHETOLD ITTOHISBROTHERS THEYHATEDHIM
ALLTHEMORE HESAIDTOTHEM LISTENTOTHIS DREAMIHAD WEWEREBINDING
SHEAVESOFCORNOUT INTHEFIELDWHEN
SUDDENLY MYSHEAFROSE ANDSTOODUP RIGHTWHILEYOUR SHEAVESGATHERED
ROUNDMINEAND BOWEDDOWNTO ITHISBROTHERS SAIDTOHIM DOYOUINTEND TOREIGNOVERUS
WILLYOUACTUALLY RULEUSAND THEYHATEDHIM ALLTHEMORE
BECAUSEOF HISDREAM ANDWHATHE HADSAID
arong1234 2008-02-17
  • 打赏
  • 举报
回复
要是加密算法都能凭借密文搞出来,那还有啥加密得意义。现在绝大多数使用得加密方法都是不可计算得
kenken123 2008-02-17
  • 打赏
  • 举报
回复
好像维吉尼亚密码是多表代替的,没有字母的频率特性哦,所以即使代替最频繁的字母应该也没用哦

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧