上下文:一个加密游戏,从网上(链接到它:https://overthewire.org/wargames/krypton/krypton6.html,也好获得更多的信息),在这里,给定密文,你必须获得明文。
在这个级别上,我们可以访问一个二进制文件,它通过流密码加密任何文件,使用来自我们没有访问权限(keyfile.dat)和随机数的文件中的密钥。我们也有一个提示:8位LFSR。
我的问题如下。为什么我不能拿回加密密文的纯文本?
我对这一索赔的两个假设是:
1)我们处理的是流密码,所以加密密文应该总是给出明文,只要密钥流在两种情况下是相同的,我就会引出第二点;
2)我试图加密两个不同的文件,但内容(文本)相同,加密的输出在两种情况下都是相同的,所以密钥流必须相等。
我知道我错了,因为加密密文并没有给我明文,而是一些没有意义的随机甚至更加密的文件。你能帮我理解我的推理有什么问题吗?
提前感谢您的帮助。
发布于 2021-09-12 07:23:01
在流密码中,加密密文应该始终给出明文。
对于“密文”的适当定义是这样的,这意味着它与明文大小相同;使用相同的初始化向量(我猜是“随机数”,以下简称IV)。
我怀疑试图再次加密密文的实验实际上加密了加密程序的输出,而不是上面定义的密文。加密程序的输出必须在某种程度上包括密文,但是有一些常见的实践可以解释为什么尝试失败的经验,包括
接下来的操作可以是比较加密二进制文件的输入和输出大小,试图定位IV和实际的密文,然后只使用实际的密文作为重新加密的输入来重做实验。
或者,流密码的另一个属性可以提供帮助:在相同的IV下加密两个不同字节的明文,并比较它们的密文。差异的位置指示实际密文的起始位置。
https://crypto.stackexchange.com/questions/95013
复制相似问题