FileVault 2 使用高级加密标准 (AES) 加密算法,为存储的数据提供强大的保护。直到 2013 年年中,它只支持使用 128 位密钥,不支持 256 位密钥。尽管 128 位密钥在许多环境中在技术上是可接受的,但组织正在迅速转向 256 位密钥以阻止新出现的威胁。
流算法不是更快更容易处理吗?使用块密码不会消耗更多磁盘空间吗?现代 CPU 中是否像块算法一样为流式加密算法设置了指令集?
谢谢
FileVault 2 使用高级加密标准 (AES) 加密算法,为存储的数据提供强大的保护。直到 2013 年年中,它只支持使用 128 位密钥,不支持 256 位密钥。尽管 128 位密钥在许多环境中在技术上是可接受的,但组织正在迅速转向 256 位密钥以阻止新出现的威胁。
流算法不是更快更容易处理吗?使用块密码不会消耗更多磁盘空间吗?现代 CPU 中是否像块算法一样为流式加密算法设置了指令集?
谢谢
文件系统必须有效地支持所有常见用例。
现在考虑数据库文件的情况。(例如,一个使用 SQLite 的。)知道你的记录在哪里,打开你的文件,寻找那个地方,读取那个记录,可能重写它,然后关闭你的文件是很常见的。使用基于块的算法,只需加载正确的块、解密、返回,然后在返回的路上对其进行加密。使用基于流的算法,您需要读取整个数据库文件以理解文件的那一部分,并且需要再次重写整个数据库文件以在中间进行一些修改。
因此,基于流的算法对于这个用例来说效率非常低,而基于块的算法运行良好。
顺便说一句,只要加密密钥在块外部,基于块的算法将具有非常少的空间开销。或者,更准确地说,将迫使您将文件大小四舍五入到最后一个块。