0

我有一个使用回调提供结果数据的库。然后,我首先使用 CipherOutputStream 进行 AES 加密,将数据写入文件。不幸的是,这个库似乎还需要寻找已经提供(和写入)的数据来更改它。我可以以某种方式对加密文件执行此操作吗?

据我了解,这可能通过某些算法实现,例如 AES ECB,Android 应该支持这些算法。这是正确的还是我错了?

假设库要求我寻找 40 字节的偏移量并写入一些字节,如果可能的话,我该怎么做?

4

1 回答 1

-1

每次更改时,都必须使用新的初始化向量重新加密整个文件。任何其他方法都是不安全的。

ECB模式支持不重新加密的随机访问,但ECB本身并不满足“安全”要求。CBC 模式不支持随机访问。CTR 模式确实支持随机访问,但绝对不能这样使用,因为它算作 nonce 重用,会导致明文恢复。

于 2013-07-30T17:37:48.747 回答