密码学要点整理

CH1 古典密码学

  1. 维吉尼亚密码的破解
    • Kasiski测试法+指数重合法确定密钥长度:找长度至少为3的相同的密文段
    • 指数重合法确定密钥:\(M_g=0.065\)

CH2 完善保密加密机制

  1. 完善保密的定义:攻击者即使有无限的计算资源,也无法攻破密码体制
    • \(Pr\left[ M=m|C=c\right] =Pr[M=m]\)
      \(Pr[C=c|M=m]=Pr[C=c]\)
      证明,利用Bayes定理
    • 给出数据,会计算概率
    • 给出密码体制,会证明无条件安全
  2. 敌手能力
    • 四种攻击能力下攻击实验的不同
    • 完善保密的等价定义:\(Pr[Privk(n)=1]\leqslant 1/2+negl(n)\)
  3. 证明一次一密是无条件安全的,全概率公式

CH3 对称加密与伪随机性

理论

  1. 计算安全的定义:攻击者具有有限的计算资源时,很难攻破密码体制
  2. 可忽略函数的定义及性质
  3. 对称加密体制:\(\left( Gen, Enc, Dec\right)\),三个算法,一个性质
  4. 攻击实验:定义,从攻击角度定义计算安全\(Pr[Privk(n)=1]\leqslant \frac{1}{2}+negl(n)\)

流密码

  1. 伪随机生成器\(G(s)\):扩展性\(l(n)>n\),伪随机性(计算不可区分)
  2. 流加密方案:加密解密过程都是密钥扩展之后再异或
    • \(k\leftarrow \{0,1\}^n\)
    • \(c:=G(k)\oplus m\)
    • \(m:=G(k)\oplus c\)
  3. 安全性
    • CPA不安全
    • CPA安全的方案:\(\langle r, G(r\oplus k)\oplus m\rangle\)
    • CCA不安全:如何攻击?

分组密码

  1. 伪随机函数:伪随机性(计算不可区分),x和y都是n位时,有\({2^n}^{2^n}\)种可能
  2. CPA安全的加密方案
    • \(k\leftarrow \{0,1\}^n\)
    • \(r\leftarrow \{0,1\}^n, c:=\langle r,F_k(r)\oplus m\rangle\)
    • \(c=\langle r,s\rangle , m:=F_k(r)\oplus s\)
  3. 工作模式
    • ECB电子密码本:\(y_i=e_K(x_i)\)\(x_i=d_K(y_i)\),直接分组加密,不安全
    • CBC密文分组链接:\(y_i=e_K(y_{i-1}\oplus x_i)\)\(x_i=d_K(y_i)\oplus y_{i-1}\),先异或再加密
    • CFB密文反馈模式:\(y_i=e_K(y_{i-1})\oplus x_i\)\(x_i=e_K(y_{i-1})\oplus y_i\),先加密再异或
    • OFB输出反馈模式:\(z_i=e_K(z_{i-1})\)\(y_i=z_i\oplus x_i\)\(x_i=z_i\oplus x_i\),反复加密IV得到密钥流,与明文异或
    • CTR计数器模式:\(T_i=ctr+i-1\)\(y_i=x_i\oplus e_K(T_i)\)\(x_i=y_i\oplus e_K(T_i)\),加密\(T_i\)后与明文异或(可并行计算)
    • 不需要加密子算法可逆的模式:CFB,OFB,CTR

流加密算法RC4

  1. RC4描述
  2. 变成非确定性算法
  3. WEP方案

分组加密算法DES、AES

  1. 代换置换网络SPN:异或轮密钥->代换->置换
  2. Feistel密码结构:右边到左边,用密钥加密右边后与左边异或作为右边
    • 加密:\(L_i=R_{i-1}, R_i=L_{i-1}\oplus F_{k_i}(R_{i-1})\)
    • 解密:\(R_{i-1}=L_i, L_{i-1}=R_i\oplus F_{k_i}(R_{i-1})\)
  3. DES:密钥长度56,分组长度64,循环次数16
  4. AES:分组长度128,密钥长度128,192,256,循环次数10,12,14
    四种操作:SubBytes代换,ShiftRows置换,MixColumns,AddRoundKey。

CH4 消息认证码和散列函数

理论

  1. 消息认证码体制:\((Gen, Mac, Vrfy)\),三个算法,一个性质
  2. 选择消息攻击:消息认证实验定义,安全标准\(Pr[MacForge(n)=1]\leqslant negl(n)\)

CBC-MAC

  1. 最普通 -> m1和IV的对称性:\((m_1\parallel m_2\parallel ...\parallel m_n, IV\parallel c_1\parallel c_2\parallel ...\parallel c_n)\) -> \((IV\parallel m_2\parallel ...\parallel m_n, m_1\parallel c_1\parallel c_2\parallel ...\parallel c_n)\)
  2. 只要cn -> m1和IV的对称性:\((m_1\parallel m_2\parallel ...\parallel m_n, IV\parallel c_n)\) -> \((IV\parallel m_2\parallel ...\parallel m_n, m_1\parallel c_n)\)
  3. 不要IV -> IV默认为0:\((m_1\parallel m_2\parallel ...\parallel m_n,c_n)\)->\((m_1\parallel m_2,\sigma_1), (\sigma_1,\sigma_2), (m_1\parallel m_2\parallel 0...0, \sigma_2)\)
  4. 在开头异或n是安全的
  5. 把n放在后面异或是不安全的

HASH函数

  1. 性质:单向性,抗若碰撞性,抗强碰撞性(原像稳固,第二原像稳固,抗碰撞),生日攻击\(2^\frac{n}{2}\)
  2. 压缩函数:定长输入,定长输出;哈希函数:无限长输入,定长输出
  3. MD结构:若压缩函数是抗碰撞的,则用MD结构构成的Hash函数也是抗碰撞的

MAC

  1. \(MAC(k,x)=H(k||x)\)是不安全的,攻击?
  2. NMAC: \(NMAC(k,x)=H(k_2\parallel H(k_1\parallel m\parallel n))\),开始用k1,最后加上分组长度n,最后用k2再压缩
  3. HMAC:\(HMAC(k,x)=H(k\oplus opad\parallel H(k\oplus ipad\parallel x))\)
  4. MD5*和SHA*

CH5 RSA密码体制

RSA密码体制

  1. 描述
    • 密钥:\(K=\{(n,p,q,e,d): n=pq,\ p\ and\ q\ are\ primers,\ ed \equiv 1 \ (mod\ \phi(n))\}\)
    • 加密:\(e_K(x)=x^e\ mod\ n\)
    • 解密:\(d_K(y)=y^d\ mod\ n\)
    • 其中,\(x,y \in \mathbb{Z}_n\),公钥为\((n,e)\),私钥为\((p,q,d)\)
  2. 生成算法:整体时间复杂度\(O(n^3)\)
    1. 随机化选择两个素数\(p\)\(q\)
    2. \(n=pq, \phi(n)=(p-1)(q-1)\)
    3. \(e\leftarrow \mathbb{Z}_n^*,\ d= e^{-1}\ mod\ \phi(n)\)
    4. \(y=x^e\ mod\ n\)
    5. \(x=y^d\ mod\ n\)
  3. 正确性证明
    • \(\mathbb{Z}_n^*\)中的元素满足
    • \(\mathbb{Z}_n/\mathbb{Z}_n^*\)中的元素亦满足
  4. 扩展欧几里得算法求逆元,快速幂
  5. 素性检验
    • 二次剩余
    • 欧拉准则
    • Legendre符号的定义
    • 欧拉运算与Legendre运算的的等价性
    • Jacobi符号的定义
    • 欧拉伪素数
    • 素性检验
  6. 攻击
    • CCA攻击:c', c/c' -> c=c' * c/c'
    • 低加密指数攻击
    • 公共模数攻击:
      • 同一个n生成对密钥e1,e2, 且e1 e2互素,那么有r*e1+s*e2=1
      • c1r*c2r = m(e1*r)*m(e2*s) = m

Rabin密码体制

  1. 描述
    • 密钥:\(K =\{(n,p,q): n=pq\wedge\ q\equiv 3\ (mod\ 4)\}\)
    • 加密:\(e_K(x)=x^2\ mod\ n\)
    • 解密:\(d_K(y)=\sqrt{y}\ mod\ n\)
    • 其中,\(x,y \in \mathbb{Z}_n\),公钥为\(n\),私钥为\((p,q)\),一个密文会对应四个明文
  2. 中国剩余定理
  3. 求平方根
  4. 攻击

CH6 离散对数

El Gamal 密码体制

  1. 描述(天然是非确定性的,因为有秘密随机数\(k\)

    • \(P=\mathbb{Z}_p^*,\ C=\mathbb{Z}_p^*\times \mathbb{Z}_p^*\)
    • 密钥:\(K=\{(p,\alpha, a, \beta): \alpha\in \mathbb{Z}_p^*,\ \beta=\alpha ^a\ (mod\ n)\}\)\((p,\alpha ,\beta)\)是公钥,\(a\)是私钥,
    • 加密:\(k\in \mathbb{Z}_{p-1},\ e_k(x,k)=(\alpha^k\ mod\ p,\ x\beta^k\ mod\ p)\)
    • 解密:\(d_k(y_1,y_2)=y_2(y_1^a)^{-1}\ mod\ p\)
    • 形象理解:“伪装”,“去伪装”
  2. 给出实例,要会具体计算

  3. 安全的必要条件:\(\mathbb{Z}_p^*\)上的离散对数问题是难处理的(\(p\)至少取300个十进制位,\(p-1\)应该具有一个较大的素因子)

Diffie-Hellman问题

  1. 计算Diffie-Hellman问题(CDH):已知\(\beta\)\(\gamma\),计算\(\delta\)使得\(\log_\alpha \delta=\log_\alpha \beta \times \log_\alpha \gamma\)
  2. 判定Diffie-Hellman问题(DDH):判定\(\log_\alpha \delta=\log_\alpha \beta \times \log_\alpha \gamma\)是否成立
  3. 安全性:
    • 破解El Gamal密码体制等价于求解CDH问题
    • 解决了CDH问题\(\rightarrow\)求出明文:已知\(y_1=\alpha^k,\ \beta=\alpha^a\),求出\(\delta=\alpha^{ak}\)
    • 区分出明文\(\rightarrow\)解决了DDH问题:

CH7 数字证书和数字签名

数字证书

  1. 权威机构CA

    • 一个证书认证机构
    • 最简单的形式是,证书把一个ID与公钥进行绑定,由CA完成
  2. 根证书

    • 在严格的层次模型中,根CA有一个自签名,自颁发的证书,用于标识CA身份
    • 根证书是未被签名的证书自由签名的证书
  3. 证书链

    • 根CA可以给下级CA颁发证书,任何CA可以给终端用户颁发证书
    • 而终端用户不可以给其他终端用户颁发证书,不符合信任模型
  4. 证书吊销

    • 证书在有效期内被撤销(有效期在证书内指定)
    • 由于一些不可预见的情形,如私钥丢失、被盗、被用于诈骗活动等
    • 需要颁发一张新证书来替代它
    • 证书上并没有标识来表示它是否被撤销,因此需要辅助机制

数字签名体制

  1. 数字签名的定义:\((Gen, Sig, Vrfy)\),三个算法,一个性质
  2. 攻击
    • 攻击模型:唯密钥攻击、已知消息攻击、选择消息攻击(最强的攻击)
    • 攻击目标:选择性伪造、存在性伪造(最弱的目标)
    • 攻击实验,从攻击角度定义安全性

RSA签名方案

  1. 直接RSA签名方案(不安全)
    • 描述:私钥\(d\)签名,公钥\(e\)验证
    • 攻击
      • 天然的伪造:\((y^e, y)\)
      • 乘法性质:\((x_1,y_1),\ (x_2,y_2)\rightarrow (x_1x_2,y_1y_2)\)
      • 拆分:\(x=x_1x_2,\ (x_1,y_1),\ (x_2,y_2)\rightarrow (x, y_1y_2)\)
  2. 先Hash再签名方案(安全)
    • 描述:利用带陷门的Hash函数\((Gen, H)\)
      • 公钥:\(\langle pk, s\rangle\),私钥:\(\langle sk, s\rangle\)
      • 签名:先Hash再签名
      • 验证:先Hash再验证

El Gamal签名方案

  1. El Gamal签名方案(天然是非确定性的,因为有秘密随机数\(k\)
    • 描述:私钥签名,公钥验证(给出实例要会计算)
    • 攻击:泄露秘密随机数k或使用相同的随机数k

Reference

课程PPT整理版PDF

posted @ 2017-08-06 10:48  达达Mr_X  阅读(476)  评论(0编辑  收藏  举报