密码学基础知识
-
信息安全三要素(CIA)
机密性(Confidentiality)
完整性(Integrity)
可用性(Availability)
-
信息安全四大安全属性
机密性
完整性
可认证性
不可抵赖性
-
Kerckhoffs 假设
在密码分析中,除密钥以外,密码分析者知道密码算法的每一个设计细节。
密码算法的安全性应依赖于密钥的保密性,而非算法本身的保密性。 -
安全性
无条件安全性
无论有多少可用的可用的计算资源和信息,都不足以唯一确定密文所对应的明文。
比如"一次一密",密钥与明文等长。
实际安全性(计算安全性)
根据破解密码系统所需的计算量来评价其安全性。
复杂度指标
数据D:为了实现特定攻击所需要的数据总和
时间T :对采集到的数据进行分析和处理所消耗的时间
存储M :为了完成攻击所需要的存储空间 -
密码学算法
古典密码
凯撒密码
仿射密码
Enigma机
对称加密
DES
AES
公钥加密
RSA
ElGamal算法
杂凑函数
MD4,MD5
SHA-1,SHA-256,SHA-512
数字签名
RSA
DSA
ECDSA
-
攻击类型
唯密文攻击(Ciphertext-only attack):密码分析者能利用的资源仅为同一密钥加密的一个或多个密文,这是对密码分析者最不利的情况。
已知明文攻击(Known-plaintext attack):密码分析者根据已经知道的某些明密文对来恢复密钥。
选择明文攻击(Chosen-plaintext attack):密码分析者能够选择明文并获得相应的密文。是对密码分析者十分有利的情况。
选择密文攻击(Chosen-ciphertext attack):密码分析者能够选择密文并获得相应的明文。也是对密码分析者十分有利的情况。 -
攻击方法
-
强力攻击:
通用的攻击方法,给出算法的安全上界
穷举攻击、字典攻击、查表攻击、时间-存储权衡攻击
-
基于数学方法研究算法的安全性
通过分析算法的内部结构,结合统计或代数方法,发现特殊规律,开展分析工作 -
结合物理实现方式研究算法的安全性(侧信道攻击)
探测算法在加解密过程中泄露的某些物理参量,如时间、能量、电磁、温度等表征的信息差异,推测密钥信息
计时攻击、能量分析、故障攻击、电磁攻击、缓存攻击等
-
-
攻击思想
- 分割
密码算法的分割:将算法的各个部件分开考虑
搜索空间的分割:利用区分器将必须整体搜索的大空间分割为可局部搜索的小空间,降低搜索空间大小,提高求解效率 - 区分
发现不随机特征(规律性),将密码算法和随机函数或随机置换区分开 - 恢复密钥
统计方法:针对一个密钥猜测值,对搜集到的明密文进行统计分析,观测统计优势
代数方法:转化为方程组求解问题
- 分割
-
分析方法
-
差分类
差分分析
截断差分
不可能差分
飞去来器攻击
矩形攻击
-
线性类
线性分析
零相关线性分析
差分-线性分析
-
积分类
Square攻击
-
生日攻击
广义生日攻击
k-SUM问题,k-tree算法
MD结构Hash函数的t-碰撞攻击
-
中间相遇攻击
-
相关密钥攻击
-