密码学概述
秘密+编码
密码编码学:cryptography
密码分析学:cryptanalysis
密码学:cryptology,研究编制密码和破译密码的技术科学,保证信息的保密性、真实性、完整性、可用性和不可抵赖性
信息安全与密码技术
国家标准五大类信息安全服务
- 鉴别服务
- 访问控制服务
- 机密性服务
- 完整性服务
- 抗抵赖服务
===》【密码学】是信息安全研究和工程应用的核心基础
信息安全的基本属性
机密性(Confidentiality)
- 确保信息为授权者使用而不泄露给未授权者
- 确保未授权者对信息“看不懂”,甚至“看不到”
完整性(Integrity)
- 数据:未被非授权篡改或损坏
- 系统:数据未被非授权操纵,能按既定功能运行
- 确保信息没有“被动过”
可鉴别性(认证 Authentication)
- 消息鉴别,确保消息来源的真实性
- 身份鉴别,确保通信实体的真实性
- 证明“你就是你”
抗抵赖性(不可否认性 Non-repudiation)
- 要求通信实体不能抵赖先前的通信行为及传输的内容
可用性(Availability)
- 确保信息和信息系统随时为授权者提供服务,而不要出现对授权者拒绝服务,而非授权者滥用的情况
可靠性(Reliability)
- 特定行为与结果的一致性
可控性(Controllability)
- 授权实体可以控制信息系统和信息使用的特性
可追溯性(可审计性 Accountability)
- 确保实体的活动可被跟踪和追溯
密码学的起源与发展
起源:古典密码
原始符号--宗教符号--消息隐藏--达芬奇密码筒
密码技术迅速发展-近代密码时期
转轮密码机(Rotor)
主要特点:数据的安全基于密钥而不是算法的保密
现代密码时期
香农理论:密码技术进入科学的轨道
密码学基本概念
主要任务
解决:机密性、鉴别、完整性、抗抵赖性
密码编码学:寻求有效密码算法和协议
密码分析学:研究加密信息的破译或认证信息的伪造
两者相互对立,又互相促进和发展
保密通信模型
对保密系统基本要求
- 让普通信道的窃听者看不动加密传输的密文
- 窃听者利用可收集到的信息不能把密文恢复成明文,或分析出密文
- 加解密速度快
- 占用计算资源和存储资源少
- 实现加解密成本低
几个概念与符号
- 明文:待伪装或加密的消息,m、p表示
- 密文:对明文世家某种伪装或变换后的输出,可认为是不可直接理解的字符或比特集,c表示
- 加密:把原始的信息(明文)转换成密文的信息变换过程
- 解密:把已加密的信息(密文)恢复成原始信息明文的过程,也成为脱密
- 密码算法(Cryptography Algorithm):加、解密过程中所使用的信息变换规则
- 密钥(Secret Kkey):密码算法中的一个可变参数,通常是一组满足一定条件的随机序列,用来控制加密与解密函数,用k表示
密码系统的五元组:{M, C, K, E, D}
- 消息空间M(明文空间)
- 密文空间C
- 密钥空间K
- 加密算法E
- 解密算法D
对密码算法要求:
可逆——算法的授权者可将密文恢复成明文
不可逆——非授权者不可将密文恢复成明文
密码算法实际上是一个带有秘密参数的可逆函数
对密码系统的攻击
- 穷举攻击——增大密钥空间
- 统计分析攻击——设法使明文和密文的统计规律不一样
- 解密变换攻击——选用具有坚实的数学基础和足够复杂的加密算法
密码分析攻击类型
- 唯密文攻击:只知道密码算法和密文
- 已知明文攻击:除明文还有“明文——密文对”
- 选择明文攻击:还可以选择被加密的明文并获得相应的密文
- 选择密文攻击:选择一些密文,并得到相应的明文
衡量密码系统攻击的复杂性
- 数据复杂性
- 处理复杂性
- 存储需求
密码系统的安全性
评估方法:
- 无条件安全性
- 计算安全性
- 可证明安全性
密码算法的分类
模型
- 双锁箱子模型
- 单锁箱子模型
- 检举箱模型
根据密码算法的功能分类
- 加密算法
- 杂凑算法
- 数字签名算法
- 身份鉴别算法
- 密钥协商算法
- ……
根据密码算法所用的密钥数量分类
- 对称式密码算法(单钥)——单锁箱子模型
- 非对称式密码算法(双钥)——检举箱模型
对称密钥密码算法基于复杂的非线性变换与迭代运算实现算法安全性
非对称密钥密码算法基于某个公认的数学难题而实现安全性
根据对明文信息的处理方式
- 分组密码
- 序列密码