美文网首页学习笔记(斯坦福大学密码学公开课)
斯坦福大学密码学公开课——Stream Cipher (2)

斯坦福大学密码学公开课——Stream Cipher (2)

作者: Scaryang | 来源:发表于2019-01-01 21:51 被阅读0次

Attacks on OTP & Stream ciphers

按以往一样,首先拍出上一章节的回顾


Review
  1. Attack 1: Two Time Pad is insecure
    OPT的含义是指,一个pad只加密一个密文(One Time),而且是绝对安全的,但如果一个pad用了两次,(即TTP)就变得不安全了。
    C_1 \leftarrow m_1 \oplus PRG(k);
    C_2 \leftarrow m_2 \oplus PRG(k);
    攻击者通过把两个公式结合,可以得到
    C_1 \oplus C_2 \rightarrow m_1 \oplus m_2
  2. Real World examples
  • Project Venona(1941-1946 cold war period)
  • MS-PPTP (Windows NT)
  • 802.11b WEP(bad protocol)
  • Disk Encryption(如果仅仅是更改一部分信息,密文也仅仅会变动一部分,这会导致文件位置的泄露,因此磁盘加密一般不使用stream cipher)
  1. Summary
    永远不要使用stream cipher key 超过一次..
  2. Attack 2: No Integrity (OTP is malleable)
    窃听者可以根据已知内容修改密文内容
    No Integrity

Real World Stream Ciphers

  1. RC4 (software mechanism)(used in HTTPS and WEP),问题如下:
  • Bias in intial output: Pr[2^{nd} byte = 0] = \frac{2}{256}
  • Prob.of (0,0) is \frac{1}{256^{2}}+\frac{1}{256^{3}}
  • Related key attacks(用相似的key也可以成功破译)
    2.Content Scramble System,CSS(hardware mechanism) (used in DVD) has beem badly broken.
    CSS 采用了 linear feedback shift register(LFSR)
    具体资料也可以参考Dan对应的书籍,3.8节也着重讲解了CSS
    Application
    击破CSS的基本方法
    image (原书90页)
    基本的做法是,已知一定数量的密文和明文的前缀(DVD的编码格式),根据前几个已知的结果猜测第一个LFSF可能的结果,然后可以计算出对应的第二个LFSF的值,再用已经得到的两个LFSF的值去比较之后的结果,如果不匹配,就再尝试一轮,一共需要\frac{1}{2^{16}}(这里Dan说成了17次方,因为有固定值1的存在,所以不需要那么多)
  1. eStream(2008)


    image

    通过nonce 来解决随机性的问题,每次输入的nonce都不一样保证了pair(k,r)不会被使用超过一次;
    Salsa20(Software & Hardware)


    image
    4.最后Dan的slides上还有一个现实生活中生成随机数的方法,但在视频中没有讲解..我就先截下来.
    image

PRG Security

Dan首先讲了,这一章节的目标就是讲清楚PRG的安全性,即一个PRG(伪随机生成器)和随机生成器是不可分辨的。
我们可以用一些统计学的测试(Statistical Test)来判断这个概念.

An algorithm that is used to distinguish a pseudo-random string G(s) from a truly random string r is called a statistical test

这里定义了一个advantage的概念,如果它的值为1,则代表能够明显区分,如果靠近0,则不能区分


image

在密码学的角度上来讲,对于任何一个有效的统计测试,它的adv都应该是negligible.

事实上,只要是安全的PRG便是不可预测的,反之也成立,不可预测的PRG也是安全的。

这个Dan给了一个例子,现在有一个PRG,根据它的后\frac{n}{2}位bit可以预测前\frac{n}{2}位bit,那么他也是不预测的。
理由如下: 因为这样的PRG是不安全的,所以肯定是不可预测的...
最后他给了最常见的计算不可分辨性。

image

相关文章

网友评论

    本文标题:斯坦福大学密码学公开课——Stream Cipher (2)

    本文链接:https://www.haomeiwen.com/subject/cblolqtx.html