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