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 条评论