学习
实践
活动
专区
工具
TVP
写文章
专栏首页包罗万想Dan Boneh密码学笔记8

Dan Boneh密码学笔记8

8.Odds and ends

1.Key Derivation

2.Deterministic Encryption

3.Deterministic Encryption Constructions:SIV and wide PRP

4.Tweakable encryption

5.Format preserving encryption

1.Key Derivation

密钥推导函数KDF,SK=source key

CTX上下文变量,用来分离各个进程

原密钥不是均匀分布怎么办?

密钥交换协议会生成一个高熵的密钥,

高熵意味着字符串的分布接近均匀,但不是均匀分布。

硬件随机数发生器RNG也会生成不均匀输出

先提取再扩展机制

加盐的效果是得到一个看起来与随机分布不可区分的分布

盐值可以公开,但是要保证随机产生。盐永远是固定的

盐是用来防御可能会干扰提取器的恶意的坏分布

在step1中,用这个盐作为HMAC的密钥,把源密钥作为HMAC的数据

密码通常含有很小的熵,约为20位左右的熵

我们需要根据密码推导加密密钥和MAC密钥怎么做?

用HKDF,推导出的密钥对所谓的字典攻击是脆弱的

Slow hash function

我们描述一种从密码推导密钥的标准方法,PKCS#5

慢哈希,就是把哈希迭代c次,最后结果作为这个密钥推导函数的密钥输出

这样做减缓了字典攻击

2.Deterministic Encryption

确定性加密

一致性加密机制,对特定的明文加密总是输出同样的密文

K1加密索引,k2加密数据

确定性加密机制不可能是CPA安全的,因为攻击者每次看到同样的密文两次时,他就知道底层的明文是相等的

确定性选择明文攻击

加密者永远不要使用同一密钥多次加密同样的明文信息

3.Deterministic Encryption Constructions:SIV and wide PRP

可以提供对抗确定性的CPA的安全性

确定性的加密是需要的。例如,加密数据库索引。

第一个安全机制是SIV

使用R作为随机性,r实际上是集合R的一个元素

如果加密机制E是随机计数器模式。随机性R就是随机IV,这个IV会随密文一并输出,这意味着密文比明文略长。

这是CPA安全的,如果我们用F来处理多个信息,那么F生成的随机字符串将看起来像是真随机字符串。

SIV更适合有长度的信息加密。

使用SIV可以获得密文完整性,不必使用特定的MAC。

DAE确定性的认证加密,保证了CPA安全和密文完整性

加密过程:

解密过程:

在解密后检查我们重新推出的IV是否是正确的IV,如果不是就拒绝。足以提供密文完整性。

如果明文长度小于16字节的话,SIV不合适。所以提出第二种机制。

完全可以直接使用PRP,甚至AES。但是这个不提供完整性。

如果明文长于16字节,继续使用机制2 的话,怎么办,能否构建PRP它的明文空间比16字节大?

组建大明文空间的PRP

EME机制,把窄的PRP扩展成宽的PRP,分组并行加密,有点复杂

计算输出的校验和是串行的。

SIV比这种模式快一倍。

所SIV更适合处理长消息,PRP更适合处理短消息。

PRP机制如何获得密文完整性,从而成为DAE确定性的认证加密.

非常简单

在明文信息后面附一堆0,然后应用PRP。

解密时如果最低位不等于0,拒绝这个密文。

在末尾附加n个0,需要满足1/2^n是可以忽略的。

4.Tweakable encryption

微调加密,应用于硬盘加密,也是确定加密

扩建一个不扩展的加密,密文长度严格等于明文长度

因为没有空间添加随机性nonce,所以最多保证CPA安全

使用不同密钥加密不同扇区

也会泄露信息,比如改动明文的一位,整个密文都变了,一旦撤销,攻击者可以看出一个改变做出后又撤销了。

微调分组密码

只需要一个主密钥推导很多PRP,使用PRP数加密密钥K。

这个PRP数就是所谓的微调。

加密解密算法中,取密钥为输入,微调T为输入

如果我们固定密钥和微调,会得到一个可逆的函数,集合X上的一一映射的函数。

这个函数事实上与随机函数不可区分。

我们使用这里的扇区号作为微调,这样每个扇区都有它自己的独立的PRP。

XTS模式,给定普通分组密码定义微调分组密码

T是微调,I 是索引,X是n位字符串

在微调前加密它

好处是,如果想加密n+1个分组,只需要计算n次,然后对索引1234对每个分组。

我们只需要计算PRP E一次。所以我们需要加密n个分组T1T2T3T4。

我们只需要n+1次分组密码E的计算,这比简单机制要快出一倍。

有必要在用微调前加密它吗?

攻击者可以计算挑战者的两个回复的异或,然后比较合适的密码本函数值的异或。

5.Format preserving encryption

保格式加密,应用于加密信用卡卡号

信用卡号前六位是BIN代表了发行方的ID,后九位数字是账号

最后一位数字是一个校验和

保格式加密的目标:加密的信用卡号应该看起来像一个正常的有效信用卡号

第一步压缩PRF的定义域

s是所有信用卡号的总数

s是个很大的数。接近2^41,t=42

需要一个PRF F' 在长度t/2的分组上操作

一种方法是使用AES生成128位输入的PRF,然后截断输出,取低21位。得到21位的值,在后面附0,以获得128位,然后对它应用AES,将结果截断成21位。在这种方法简单,但不是最好的。

有更好的截断n位PRF的方法,以生成t位PRF,但是对于本节,使用上面的方法已经足够好了。

现在我们已经把AES分组密码转换成了一个t/2位的PRF,比如说21位。

但我们真正想要的是一个PRP,所以我们只要把我们的新PRF F'直接带入到luby-rackoff机制中。

是一个feistel机制。(DES)

我们使用21位PRF输入,这个网络会给我们一个安全的42位PRF也是安全的42位PRP

迭代7次,使用7个不同的密钥,

第一篇,HKDF机制

第二篇,确定性加密,SIV模式

第三篇,EME模式

第四篇,微调分组密码,XTS模式

第五篇,保格式加密

文章分享自微信公众号:
包罗万想

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:安包
原始发表时间:2019-08-30
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Dan Boneh密码学笔记7

    1.Active attacks on CPA-secure encryption

    安包
  • Dan Boneh密码学笔记2

    实际上我的学习时间得在四个小时才够,而且得是脑子清醒的四个小时。这还是刚开始简单的流密码......感觉也就听懂了90%,真正消化完......尤其那些安全性的...

    安包
  • Dan Boneh密码学笔记9

    TTP发送给Alice用Alice密钥加密的信息,包括”这个共享密钥是AB之间的“和Kab。

    安包
  • Dan Boneh密码学笔记5

    ⇒ attacker cannot produce a valid tag for a newmessage

    安包
  • Dan Boneh密码学笔记6

    这个定理:如果底层MAC是安全的,且H是抗碰撞的,那么这个组合可以计算长信息的MAC,得到的MAC也是安全的。

    安包
  • Dan Boneh密码学笔记15

    Boneh, D., & Franklin, M. (2001, August). Identity-based encryption from the Wei...

    安包
  • Dan Boneh密码学笔记3

    安包
  • Dan Boneh密码学笔记10

    更新本节用了三天。最近开学事情有点多,学习上有点不知道先学哪个。要学的东西太多了,区块链安全的15篇论文、以太坊的课程、密码学课程(进度10/13)、UC安全框...

    安包
  • Dan Boneh密码学笔记1

    https://crypto.stanford.edu/~dabo/courses/OnlineCrypto/

    安包
  • Dan Boneh密码学笔记13

    Boneh的课程更新到12章就没了,好像明年会继续更新,第一次像追剧一样追一门课。可太刺激了。

    安包
  • Dan Boneh密码学笔记4

    4.modes of operation: many time key (CBC)

    安包
  • Dan Boneh密码学笔记12

    12.Public key encryption from Diffie-Hellman

    安包
  • Dan Boneh密码学笔记11

    11.Public Key Encryption from trapdoor permutations

    安包
  • Dan Boneh密码学笔记14

    Elliptic Curve Diffie-Hellman Key Exchange

    安包
  • 密码学安全归约6 Simulation and Solution

    密码学安全归约1 Algorithm and Security Model Definitions

    安包
  • Pairings in Cryptography

    Dan Boneh密码学笔记14这篇part3介绍了bilinear pairing。

    安包
  • 第九届BIU密码学冬令营1 Introduction to Zero Knowledge

    这套笔记我尽量写,毕竟我才研二,水平有限,确实感到困难。写的不对的地方,欢迎大家评论区指正,有疑惑的地方可以私信讨论。强调一下,这套课程需要有一定的密码学基础,...

    安包

扫码关注腾讯云开发者

领取腾讯云代金券