我正在研究基于AES-SIV (rfc 5297)的分组密码.S2V的构建是建立在AES-CMAC和dbl及异或运算基础上的.给定一个AAD的大小为L和128位的块操作,我有些担心,如果L<16bytes,初始块与所有的0输入是不超过一个PRF函数产生的"IV“为第二个块的操作。我的问题是,S2V构造SIV的操作是否可以由于L<16bytes而减少到较小的随机性,从而破坏了从分组报头合成IV的设计目的。同时,与AES-GCM或CCM相比,AES-SIV需要更多的时间和内存来进行操作。
发布于 2013-07-14 10:16:51
合成的IV不需要是随机的。
AES-SIV是一种确定性的经过身份验证的加密模式:如果攻击者能够多次(在相同密钥下)传输相同的消息,则可以在不引起关注的情况下使用该加密模式。隐私和身份验证仍然得到保障。
SIV建议使用nonce (更准确地说,将其作为传递给S2V的第二个字符串)来覆盖该场景。如果您这样做,并未能保持它的独特性,其影响仍然不是灾难性的模式,如GCM和CCM,那里的隐私受到严重损害。
通常,保持一个不存在是不容易的,而且使用随机数据更实用,它依赖于这样一个事实--通过使用足够的随机性--它不太可能获得两次相同的值。
总结一下,用SIV:
你说得对,SIV不是很有效率。要对现在的重用具有鲁棒性,所付出的代价是SIV是一种非在线的2通模式。您需要将整个消息存储在内存中才能启动加密(与GCM不同),并且明文需要处理两次(不像OCB)。SIV是作为密钥包装模式提出的,虽然当键通常非常小的时候。
https://crypto.stackexchange.com/questions/9186
复制相似问题