ppt 链接:
KDF :密钥推导函数。
原密钥是均匀分布的,用PRF构造KDF。
CTX:上下文字符串,是一个唯一的字符串,作为应用的身份。在一个系统中可能有多个应用。多个应用试着建立多个安全密钥。CTX试图将它们区分。
即使源密钥是相同的,CTX也可以用来区分不同的应用。
源密钥不是均匀分布的。
密钥交换协议很有可能生成一个高熵的的密钥,高熵意味着字符串的分布接近均匀,但不是均匀分布。KDF必须接受密钥交换协议不能生成均匀分布的字符串这一事实。
硬件随机数生成器也可能生成不是均匀分布的字符串。
先提取后扩展的机制。
提取器最后不一定产生均匀分布的输出,但生成的分布与均匀的分布不可区分。
提取器输入一个盐,作用是捣乱,不管输入分布如何,输出分布依然与随机分布不可区分。不需保密,可公开,要是随机的。盐是用来防御可能会干扰提取器的恶意的坏的分布。
HKDF。
密钥的提取和扩展都用HMAC。
基于密码的KDF。
如何从密码中提取密钥?密码通常具有很少的熵,约为20位左右的熵。不能直接用HKDF。
一个慢的哈希函数,就用迭代使用一个哈希函数很多很多次,如一百万次。。。。。。
一个加密系统总是将给定明文映射到同一个密文。
查找加密的数据库。
有一个服务器,存储了一个加密的数据库。存储了一个记录,每个记录都有一个索引,密钥k1加密索引,密钥k2加密数据。
加密好的记录发给数据库。同样的事情发生在许多记录上。这样整个数据库保存了许多加密的记录。
当服务器想访问数据库一条记录时,只需要发送k1加密后的索引即可。
确定性的加密不是CPA安全的。
如果两个记录在索引位置正好有相同的密文,那么他就知道这两条记录对应着同一个索引。
形式化表达。
解决办法。
让加密者永远不要用单个密钥来加密同样的明文信息。明文密钥对永不重复。
确定性的CPA安全。
带固定IV的CBC加密不是确定性的CPA安全。
例题。
二次密码本攻击。
回顾。
SIV构造方法。适合消息大于16字节的加密。
r集合R的一个元素。
加密机制E是随机计数器模式。随机性R就是随机IV,IV会随密文一并输出,密文比明文略长。
因为我们用F来处理多个信息,F生成的随机字符串将看起来像是真随机字符串,所以是CPA安全的。
SIV提供了密文完整性。
DAE:确定性的认证加密,包括 确定性的CPA安全和密文完整性。
加密过程:
解密过程:解密过程中重新计算IV,判断IV是否为我们使用过的IV。足以提供密文完整性。
直接使用PRP。适合消息短的加密。
注意:并不提供完整性。
构造一个适用于长消息的PRP。
EME构造方法。
EME使用两个密钥K和L。事实上,在EME中,L是由K推出的。我们假设K和L是不同的密钥。首先取明文X,将它分成若干组。然后把每个分组都异或一个特定的密码本函数,我们使用密钥L和函数P来推导密码本。我们对每个分组推到一个不同的密码本,然后我们计算密码本和分组的异或。接下来使用PRP E,密钥k,对每个分组进行操作。我们把这些输出叫做ppp0,ppp1和ppp2。我们把所有的ppp异或起来,我们把异或结果叫做MP。然后用E和K加密MP,输出加密结果叫做MC。计算MP异或MC,得到M。然后用P和M来推导更多的密码本,把这个密码本的输出和所有ppp异或得到ccc。然后把所有的ccc异或,得到一个值叫做ccc0,然后再用E加密一次,再用P和L推导出密码本,异或后,得到EME所有的输出。
可并行,但是比SIV慢很多。
PRP实现DAE。
证明。
硬盘加密-没有扩充。
即确定性CPA安全 PRP
存在的问题。
每个扇区使用不同的密钥。有一个主密钥 k ,然后每个扇区的密钥都有一个PRF和k生成。
微调分组加密。
我们使用扇区号作为微调,这样一来每个扇区都有它自己独立的PRP。
安全的微调分组函数定义。
实验1选择一个真随机置换的集合,是与微调数目一样多的置换。
实验0选择一个随机密钥,定义置换集合,根据微调空间里的微调定义。
与常规分组密码的区别,在常规分组密码中,你只能与一个置换进行互动,目标是分辨出是在和一个伪随机置换交互,还是和一个真随机置换交互。而在此实验中,你在和|T|个随机置换交互,目标是区分这|T|个随机置换是真是伪。
举例1 简单机制
一次加密给定的微调,一次加密给定的数据。
举例2 XTS机制
比简单机制快了一倍。注意左面的k2应该为k1。
例题。
硬盘中使用XTS。
总结。
加密信用卡号。
加密信用卡号产生类似信用卡号的消息。
构造原理。
第一步。
取AES分组密码,把它当成128位的PRF,我们获得21位数据在后面填0补充到128位,应用AES,然后截断输出,取低21位(针对信用卡号)。
7轮机制更好。
第二步。
安全性。
文献推荐。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。