如何识别单词是否没有意义,也许是一些不可能的音节?

时间:2012-11-13 17:12:33

标签: cryptography linguistics frequency-analysis text-analysis

最初,我有 m n 字符数组,其中每个数组都包含所需单词的未知(对我而言)(条件:单词有意义)。

例如, m = 4, n = 3:array0 = {' t ',' e ',' c '},array1 = {' g '' o '' a '}, array2 = {' w '' d '' y '},array3 = {' e ''< em> o '' s '}。每个数组只包含一个正确的字母:在array0中是第一个字母,在array1中 - 第二个......所以,可能的秘密字是' code ':array0 [2] =' c < / em>',array1 [1] =' o ',array2 [1] =' d ',array3 [0] =' e ”。

我需要找到所有现有的字母组合,即排除生成的无意义字词。 英语中是否存在“不可能”音节/字母组合的规则/规则?

我正在攻击Vigenere的密码。所以,我知道密钥的长度及其可能的字符。我正在改变我的阵列,并得到许多毫无意义的话。问题是过滤它们。当我得到它时,一些条件可以帮助识别不正确的单词。例如,如果字长> 4然后所有的元音字符,或所有辅音字符的单词是错误的。一般来说,某些音节,例如 kk * hh * ww 也是不可能的。我在哪里可以找到这样的规则?

2 个答案:

答案 0 :(得分:0)

我想你的意思是“有意义”这是一个英语字典词。

我相信你应该像GregS建议的那样从另一个方向解决问题,并通过字典。英语在字母和拼写方面有很多例外,看起来英语的单词数量远远大于英语单词的实际数量。你将无法以这种方式减少你的搜索。

但是因为你知道长度和可能的字符,你能够迅速抛出许多字典单词。此外,如果消息不是太短,尝试使用可能的单词解码消息也会非常快,并且通过letter,digram或trigram frequencies抛出不太可能的解码。

答案 1 :(得分:0)

我不确定我是否遵循了攻击Vigenere密码的策略。但是,回应:

  

我需要找到所有现有的字母组合,即排除生成的无意义字词。英语中是否存在“不可能”音节/字母组合的规则/规则?

是的,的确有很多这样的规则。有两种学习和实施这些规则的方法:

  1. 认真研究英语的形态,并认真执行规则。
  2. 在英文文本语料库中训练马尔可夫模型。
  3. 1的工作量将大大减少,只会带来额外的好处。