Cryptanalysis

  • the science and art of breaking ciphers

(打他一顿比破RSA简单2333)

Password cracking

1. brute force

2. random gussing

3. strategic random guessing: dictionary attack

(使用常用password列表实验)

Warm up with one-time pad

  • 当明文全为0时, 暗文等于密码。
  • 但OTP只使用一次,所以没有影响。

How to know plaintexts?

How to know OTP in use?

Known-Plaintext Attack

  • 用P1~Pi得出C1=Ek(P1)~Ci=EK(Pi)
  • find key
  • or algorithm to infer Pi+i from Ci+1

Chosen-Plaintext Attack

  • C1=Ek(P1)…Ci=Ek(Pi)
  • chosen P1,…,Pi

Chosen-Ciphertext Attack

  • P1 = Dk(C1),…,Pi=Dk(Ci)
  • given ciphertext and plaintext pairs

Ciphertext-Only Attack

Known-Ciphertext Attack

  • The attacker has access only to a set of ciphertexts攻击者只能访问一组密文
  • The attack is completely successful if the corresponding plaintexts or the key can be deduced 如果可以推断出相应的明文或密钥,则攻击完全成功

Replay Attack

不需要直接得知内容,只需要同样发送暗文就可以了。

Defense: Limit Message Freshness

  • Timestamp 设置时间戳
  • One-time session key 下一次的Key与这一次的不同

Man-In-The-Middle Attack

  • hijacked key-channel
  • 劫持密钥分享的频道,密钥交换信息经过攻击者
  • 中间人与通信双方分别建立密钥链接
  • 当A发送消息时,M可以看到暗文并解密。

Defense: Guarantee connection authenticity

  • eg:https

Relay Attack

  • 通过一个中间设备实时获取数据。

Defense: Distance Bounding

  • additional transmission delay
  • RTT =  2 * Distance / velocity
  • 通过延迟来检测是否存在中继攻击。

Program: Control Flow Graph

  • build CFG over memory access patterns
  • 观察程序在内存上的运行

Side Channel Attack

Access patterns over cache

Prime+Probe Attack

  • 通过一定的方式映射到 Set 的位置,观测访问状态。
  • 把缓存的数据用自己的数据填满,如果命中则不会被替换掉,且访问时间很短。

de-conflict

  • random replacement 访问时间增加
  • dynamic remapping 周期性更改映射模式- overhead vs security

Plaintext Memory Address

de-conflict

  • Oblivious RAM
  • Path ORAM 对所有数据建立二叉树序列,以路径读和写。

address 有解决问题的意思

brute force 暴力

strategic 策略的

formulate 制定

hijack 劫持

tangling 纠结、乱成一团


0 条评论

发表评论

Avatar placeholder