0. 介绍
- information security(protect information: CIA) and cyber security(CIT中的漏洞)
- attack 方式: passive / active + 预防措施
- type:traffic analysis/ replay/伪装/数据泄漏/DDos /
- one-way function
1. 数学方面
- 中国剩余定义,计算x --> 列表
- 模的计算
- gcd计算 + extend gcd(代码实现)--> get inverse(if remainder == 1,有;else 无)
- Euler‘s公式 :计算O
- Fermat’s Theorem:计算x^a
2. Symmetric Cryptography
- 基本概念,需求(key保密+加密算法足够强)
- 5种攻击方式:选择明文/密文,已知明文,唯密文,选择文本
- 破解方式:暴力/密码学分析
- 替换:
- Caesar:移动相同的位数/ key:25 / 破解:暴力
- 单表代替 Monoalphabetic Cipher:密文是26个字母的随机置换/ key:4*10^26. / 破解:字母频率
- Affine Cipher 仿射 : 将字母变成数字
- 多字母Polyalphabetic Ciphers
- 置换
- Rail Fence cipher / Row Transposition Ciphers / 多次置换
- 一次一密:绝对安全
3. Asymmetric Cryptography
- Limitations of Symmetric Key Systems (密钥分发/存储)
- 基本概念:5个
- 应用: 加密解密/验证/密钥分发
- 数字认证基本概念
- 典型算法:RSA 和 Diffie-Hellman Public Key Protocol
Diffie-Hellman Public Key Protocol
- 算法的流程:public:q和g
- 中间人攻击:图解;一个人在中间窃听,分别和A和B共享不同的密钥
- 安全性:取决于离散对数的求解,g^a mod q .
- 作用:只有密钥分发
RSA
- 算法的流程:n p q e d M C
- 具体数字的计算:e d C
- 安全性分析:RSA自身的计算+大数难分解
- 受到的4种攻击:穷举;计时;因子分解;CCA+填充
4. 数字签名
- 作用:确定信息发送方的真实性
- 一般过程:
- 生成:使用要发送的信息M和选择的数字签名生成算法+ private key --》 sign
- 验证:public key + sign --》 M’, if(M‘ == M)
- 典型算法:RSA --- 3 version: M (容易被伪造blinding)--> 冗余函数(sign对于相同的M重复) --> hash(最好)
- 安全性:暴力;数学难题(上面提到one way 函数和大数分解);广播攻击(使用相同的e向每个人发送相同的M。n不同但是公开,);Elementary Attacks;计时攻击;已知明文攻击;
5. 流密码和分组密码
- 二者区别:流密码(密码流),分组密码(block--比较常用)
- 流密码:一次一密(绝对安全/弊端:纯随机+长度和plain text一样+使用一次的浪费)
- block
- feistel:16次/ 置换+替换/ 64bit+54bit(key)-->公式推导
- DES---使用了feistel模型(开始和结束存在置换/缺点:key 太小,容易被暴力破解) --> 2DES(中间人攻击) ---> 3DES(加密--解密--加密,两次加密使用的key是一样的)
- AES(DES的改进(key的大小增加了),128bit+128bit) --- 是迭代,但是没有使用feistel,中间的处理是矩阵。
- Block cipher model of operation:ECB/CBC/CFB/OFB/CTR(每种模式的图解和利弊)
6. Hash 函数
- 介绍+特征(any input --> fixed output(可以补位);当M发生微小的更改,H(M)更改较大)
- MDC:作为检测自然状态下发送数据的错误 --> 消息验证 (攻击方式:中间者可以完全伪造一个M'和新的H(M‘))
- 4种消息认证的方法 : 对称密钥(加密H(M)和M);对称密钥(加密H(M));共享秘密值S,串联M和S后H处理;共享秘密值S+对称密钥加密(加密H(M)和M)
- 数字签名:使用公钥密码的private key加密H(M)。
- 安全性(6个指标;暴力破解(2^m-1 / m^1/2--生日攻击);安全分析--迭代,取决于f的安全性);hash+block(中间人攻击))
7 信息验证(message authentication)
- 介绍:basic level(认证符)+ higher level(验证)
- 方式:hash(第6部分提到的),MAC,message encryption
- 加密(4个图)
- symmetric key encryption(用来验证B收到的加密信息是否为有效的:internal and external error control )
- 公钥体制
- MAC
- 通讯双方也需要共有一个K值,和加密的方式相比,这里的函数C不需要可逆。
- 多对1函数
- 攻击:穷举+安全分析(和hash相似),但是比hash还困难,因为它需要M和C一对的信息。
- HMAC