如何解决使用Java进行密文的密码分析
| 我正在寻找关于作业的一些想法。 我有7个密文文件,所有文件都使用相同的对称密钥加密,该对称密钥长3个字符,并且是字母。没有提供加密算法,但规格说明它是一种自制算法,并且过于幼稚(无论这意味着什么)。我的目标是解密这些文件。我只是在寻找可以对这些文件进行攻击的想法。 到目前为止,我已经进行了频率分析,蛮力攻击以检测Ceasar Cipher,Krasinsky的方法以检测Vigenere Cipher,Ciphertext XOR来检测流密码的简单版本。我怀疑文件是使用某种混合密码加密的。 顺便说一句,解密后的明文应该只包含一条明文消息,但是密文揭示了使用了97种以上的ASCII符号! 任何一般性的帮助,想法或指示都将不胜感激!老实说,我不希望解密这些文件,但是我不妨证明我的教授在您的帮助下是错误的。谢谢! 编辑 我正在寻找针对分组或流密码的攻击。至少那是我所怀疑的...解决方法
著名的Enigma机器使用3个字符的对称字母键。 97个ASCII符号? ASCII从32到126,给出94个符号。 \\ n和\\ r为96增加了两个,然后在消息标记的末尾添加了一个,例如\\ 0为97。样式的文本数据将很好地匹配这些线索。
谜机器有一些已知的缺陷。如果您的教授非常友善,他将在早期复制德国海军所使用的薄弱体系。这是用一个时间密钥对每条消息进行加密,但是随后允许解密在使用标准密钥加密的消息开始时两次传输一次时间密钥。通过两次传输,他们为密码分析提供了额外的环境。
第二个众所周知的缺陷是角色永远不会映射到自己。因此,如果您有潜在的纯文本格式,则不会匹配任何字符。
如果您知道转子和反射镜的外观,则可以对Enigma进行强力攻击。在这种情况下,不知道您有大约10 ^ 15的可能性进行探索。
,为什么不继续使用蛮力强制每种最受欢迎的对称密钥算法的所有“ 0”可能性:
fish鱼
蛇
AES(Rijndael)
河豚
CAST5
还有其他您可以找到的。
,由于该算法既简单又自制,因此您可以尝试以下天真的算法:
每第3个字符用密钥重复XOR
每第2个或第1个字符使用密码密钥重复进行XOR
XOR和旋转/移位:密码与密文进行异或并旋转/移位
由于您知道纯文本是常规文本,因此请在密文的前几个字符中查找模式,然后查看它们是否可以与密匙结合使用以得出字母/数字的ASCII码。
,现在,您说您已经完成了统计分析。如果算法实际上是幼稚的,则符号的频率将不会均匀分布。一些符号会更常见。是这样吗如果是这样,我会从那里开始。
我不妨证明我的教授
你的帮助错了
有了“我们的帮助”,我们就能证明您的教授错了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。