斯坦福大学密码学公开课——一些零碎的知识(Odds & Ends
Deterministic Encryption
确定性加密中没有随机数nonce,对于输入相同的消息,返回也一定是相同的密文. 这个可以用于searchable encryption. 数据和index使用不同密钥进行加密,那么这样我们在查询的时候,发送密文可以进行查询,server不会知道具体查询的范围,也不会知道具体查询的内容..
但是确定性加密有一个严重的问题在于,它不是CPA Secure. 攻击者可以根据密文推断出对应的明文是否相等. 或者当数据空间很小的时候,攻击者可以通过exhausted search的方式破解密文.
针对上面的情况,有一种解决方案,就是用不同的加密每一个消息. 这样的话,它就具有CPA security.
Dan在这里举了一个具体例子去说明,CBC with fixed IV is not det. CPA secure.
image同样的道理可以适用于 CTR mode with a fixed IV. 对于单个消息而言相当于 one time pad. 而对于多个消息而言,则相当于 two time pad..显然就不安全了..
Deterministic Encryption Constructions : SIV and wide PRP
上一章节回复
imageConstruction1: Synthetic IV (SIV)
这里的随机值r属于R.
SIV-CTR 同时可以确保加密和完整性验证两个方面,系统图可以参考下图. 因为随机值IV在最后会和密文在一起连接起来,因此对于每个确定的IV,这是属于确定性加密的方案.
image解密的过程中,我们可以通过消息原文生成对应的iv来检查消息是否被篡改了.
imageConstruction2: Just use a PRP
用AES(Det. CPA Secure)方案去加密的问题在于,如果消息长度超过了一个block的长度,我们需要重新构建block 方案.
EME
我们通过消息结尾加0000..的方式来保证消息完整性. 如果解密出来的结果不是以n个0结尾的话,那么就会返回错误信息. 而且根据PRP的性质,随机密文返回的结果要想以n个0的方式,其概率为 .
image image