FileVault 2 uses the Advanced Encryption Standard (AES) encryption algorithm, which delivers robust protection for stored data. Until mid-2013, it only supported the use of 128-bit keys, not 256-bit keys. Although 128-bit keys are technically acceptable in many environments, organizations are rapidly moving toward 256-bit keys to thwart emerging threats.
流算法不是更快更容易处理吗?使用分组密码不会占用更多磁盘空间吗? 现代 CPU 中是否有用于流式加密算法的指令集,就像它用于 block 算法一样?
谢谢
最佳答案
文件系统必须有效地支持所有常见用例。
现在考虑数据库文件的情况。 (例如,使用 SQLite 的一个。)通常知道您的记录在哪里,打开您的文件,搜索到那个地方,读取该记录,可能重写它,然后关闭您的文件。使用基于 block 的算法,这只是一个加载正确 block 、解密、返回、然后在返回途中加密的问题。使用基于流的算法,您需要读取整个数据库文件才能理解文件的那部分,并且需要再次重写整个数据库文件以修改中间的一点。
因此,对于这种用例,基于流的算法效率极低,而基于 block 的算法运行良好。
顺便说一句,只要加密 key 在 block 外部,基于 block 的算法的空间开销就会非常小。或者,更准确地说,将强制您将文件大小四舍五入到最后一个 block 。
关于algorithm - 为什么 Apple FileVault 使用 block 加密算法而不是流加密算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52481488/