在加密文件(使用 AES 的 GPG)并将其拆分为块(拆分)后,与完整文件相比,破解其中一个部分是否更容易?(也许是因为它可能会丢失一些重要的部分。)
加密文件的一部分是否更容易破解?
不,您仍然需要找到相同长度的加密密钥才能将数据解密为明文。找到密钥是困难的部分,一旦你有了密钥,解密整个或部分图像就变得微不足道了。
如果您使用的加密方案根据上次(de/en)加密的部分确定性地加密和解密文件,则可能更难可靠地以相同的明文结束,就像您执行时一样如果文件在加密后拆分,则对整个文件进行相同的解密。这与 CBC 加密方案半相关。如果您的存档将文件分成两个或多个密文块或更长的片段,您可以恢复纯文本块。如果您要将整个密文分成一个密码块的各个片段,您会将缺少相邻块的任何块都渲染为无法破译。
如果您使用的方案对每个较小的段应用不同的加密密钥,那么您将增加解密整个消息所需的密钥数量,但这非常具体。
编辑:
关于“丢失重要位” - 我假设您的意思是,如果您要拆分加密文件并删除一些段(或将它们存储在其他位置),您可能会删除确保文件安全的部分文件内容,例如校验和或其他内容。
现代加密的工作方式,你的最终结果是两条数据——你的加密密钥和密文。一个好的加密算法在密文中不会有不同的“部分”。理想情况下,它应该与白噪声无法区分。否则,您将打开密文以进行检测和逆向工程。因此,从密文来看,没有特别重要的位可以丢失。
思考“这是否使攻击更容易?”的一个好方法是问自己“攻击者可以轻而易举地做到这一点吗?”。
如果将文件分成块实际上更容易攻击,那么这将是每个攻击者的默认程序。这给我们带来了一个重要的观察:加密方案没有固定的“强度”。它们的强度仅与当前最知名的攻击一样强大。
让我们以 RSA 为例:RSA 依赖于素数分解很困难的事实。如果有人要开发一种算法,使分解大素数变得容易两倍,那么 RSA 会变得更弱。
不会。加密后拆分文件不会使攻击更容易。实际上,当您使用诸如 AES 之类的算法时,输出(您的加密文件)几乎等同于不知道所用密钥的人的一组随机位。因此,在任何情况下,删除这组的一部分都对他们没有帮助。
为了完整起见,我将指出以危险的方式拆分文件是可能的。
如何?好吧,如果以任何方式拆分的位置取决于密钥本身(例如,也许您将密钥拆分为 4 字节块,然后以每个 4 字节值给出的偏移量拆分文件),那么这显然会泄漏钥匙。
意外怎么会发生这种事?
你告诉你 12 岁的孩子以一种“有趣”的方式分割文件,他决定根据密钥给出的偏移量来分割文件。
您非常无聊并且没有意识到可能的安全问题,因此尝试对拆分进行“创造性”,因此做类似的事情。
实际上,如果您关注自己在做什么,就不会发生这种情况。