【问题标题】:why does Apple FileVault use a block encryption algorithm instead of a stream encryption algorithm?为什么 Apple FileVault 使用块加密算法而不是流加密算法?
【发布时间】:2018-09-24 14:24:07
【问题描述】:

FileVault 2 使用高级加密标准 (AES) 加密算法,可为存储的数据提供强大的保护。直到 2013 年年中,它只支持使用 128 位密钥,不支持 256 位密钥。尽管 128 位密钥在许多环境中在技术上是可接受的,但组织正在迅速转向 256 位密钥以阻止新出现的威胁。

来源:https://searchsecurity.techtarget.com/feature/Apple-FileVault-2-Full-disk-encryption-software-overview

流算法不是更快更容易处理吗?使用块密码不会消耗更多磁盘空间吗? 现代 CPU 中是否像块算法一样为流式加密算法设置了指令集?

谢谢

【问题讨论】:

    标签: algorithm encryption filevault


    【解决方案1】:

    文件系统必须有效地支持所有常见用例。

    现在考虑数据库文件的情况。 (例如,一个使用 SQLite 的。)知道你的记录在哪里,打开你的文件,寻找那个地方,读取那个记录,可能重写它,然后关闭你的文件是很常见的。使用基于块的算法,只需加载正确的块、解密、返回,然后在返回的路上对其进行加密。使用基于流的算法,您需要读取整个数据库文件才能理解文件的那一部分,并且需要再次重写整个数据库文件以在中间进行一些修改。

    因此,基于流的算法在此用例中效率极低,而基于块的算法运行良好。

    顺便说一句,只要加密密钥在块外部,基于块的算法将具有非常少的空间开销。或者,更准确地说,将迫使您将文件大小四舍五入到最后一个块。

    【讨论】:

    • 你好@btilly,谢谢!为了实现您所提到的,是否不需要具有可并行化的算法模式,例如 ECB,我知道这被认为是不安全的(因为如果我可以轻松地提取一个块,对其进行解密,编辑,重新加密它和把它放回原处,攻击者可以很容易地猜出我的加密密钥分析一些重复块)?编辑:也许我误解了:你在哪里谈论磁盘块而不是密码块?是否有任何单个磁盘块使用 CBC 之类的东西加密?
    • @AlessandroD'Armiento 我不认为它需要可并行化。但还有其他考虑。请参阅en.wikipedia.org/wiki/Disk_encryption_theory 了解其中的一些内容,并确认流式传输不起作用。
    猜你喜欢
    • 2012-12-10
    • 2014-09-05
    • 2018-01-08
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2011-03-20
    • 2012-07-17
    • 1970-01-01
    相关资源
    最近更新 更多