密码学总结

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. 数字签名

  • 作用:确定信息发送方的真实性
  • 一般过程:
  1. 生成:使用要发送的信息M和选择的数字签名生成算法+ private key --》 sign
  2. 验证: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 
  1. feistel:16次/ 置换+替换/ 64bit+54bit(key)-->公式推导
  2. DES---使用了feistel模型(开始和结束存在置换/缺点:key 太小,容易被暴力破解)   --> 2DES(中间人攻击) ---> 3DES(加密--解密--加密,两次加密使用的key是一样的)
  3. AES(DES的改进(key的大小增加了),128bit+128bit) --- 是迭代,但是没有使用feistel,中间的处理是矩阵。
  4. 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个图)
  1. symmetric key encryption(用来验证B收到的加密信息是否为有效的:internal and external error control )
  2. 公钥体制
  • MAC
  1. 通讯双方也需要共有一个K值,和加密的方式相比,这里的函数C不需要可逆。
  2. 多对1函数
  3. 攻击:穷举+安全分析(和hash相似),但是比hash还困难,因为它需要M和C一对的信息。
  • HMAC

 

 

 

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值