我在玩磁盘加密。https://gitlab.com/cryptsetup/cryptsetup/-/wikis/DMCrypt#iv-generators说:
essiv:“加密扇区\ salt初始向量”,扇区编号使用大容量密码加密,使用salt作为密钥。 salt通过hashing.注释从大容量密码的密钥中导出,虽然密码算法总是与用于数据加密的算法相同,但密钥大小取决于已使用的哈希algorithm.,换句话说,数据加密可以使用AES-128,而SHA256的ESSIV计算将使用AES-256。 ESSIV采用哈希算法作为选项,因此格式为essiv: hash,例如essiv:sha256.,自1.1.0 (内核2.6.10)起可用。
在我看来,我散列原始密钥(32B),使用这个散列作为大容量密码(?)的密钥。加密扇区号(8B):结果作为AES-256的IV。
现在,你知道这是关于哪一批密码的吗?那它的静脉注射呢?我在代码中找不到任何关于它的信息:https://elixir.bootlin.com/linux/v3.10/source/drivers/md/dm-crypt.c#L256。谢谢。
编辑:由于ESSIV占用8B扇区的长度,它也必须填充,可能是零或PKCS7。
发布于 2020-06-14 20:55:55
在我的例子中,使用AES-256欧洲央行来生成ESSIV似乎已经足够了。我可能通过误解句子来欺骗自己:
请注意,虽然密码算法总是与用于数据加密的算法相同。
虽然这是有意义的,因为在这种情况下,在主IV的生成中使用IV是不必要的。
https://security.stackexchange.com/questions/233069
复制相似问题