密码学的基本目标就是解决信息安全的三个基本安全需求,即:
1 信息的机密性保证(由加密算法完成)
2 信息的真实性认证(由认证算法和配套的协议完成)
3 承诺的不可否定认性保证(由数字签名算法.配套的协议和仲裁机构完成)
二 加密算法的一些基本概念
示范图:
密码算法应当使得:一切的秘密蕴于秘钥之中!
假设敌手知道:
1 所使用的密码算法:(包括五个方面: 1 加密算法 2 脱密算法 3 明文空间 4 密文空间 5 密钥空间)
2 知道明文的概率分布规律
3 知道密钥的概率分布规律
4 知道所有可能的破译方法
如此假设的原因:
1 不能保证敌手得不到这些信息, 绝对不能赌
2 如果在这么优越的条件下仍不能破译,说明密码算法在实际中将会更加安全
3 对于实现性能相同的两个密码算法,我们一定选择强度高的密码算法
2三类主要的攻击方法
1 唯密文攻击: 敌手除加密算法.明文和密钥的概率分布外,还知道很多由同一个密钥加密的密文
2 已知明文攻击:敌手除具备唯密文攻击的条件外,还知道许多密文对应的明文.
3 选择明文攻击:敌手除具备已知明文攻击的条件外,还可任意选择对他有利的明文,并能得到相应的密文.
3 最基本的破译方法–对密钥的穷举攻击
如果对每个可能的密钥都逐个测试,则一定可以碰到正确的密钥.利用它就可脱密!这就是穷举攻击方法!穷举攻击就是逐一利用每个可能的密钥对密文进行脱密测试,并将脱密结果最合理的那个密钥判断为正确密钥,
可能密钥总数的安全界限:
要想能抵抗穷举攻击,一个加密算法的可能总数不能太少!
目前,可能密钥的总数少于2的64次方的密码算法不能对抗穷举攻击,因而是不安全的
可能密钥的总数为2的128次方的密码算法是能够对抗穷举攻击的!
银行的对策:限制试密码的次数
衡量攻击方法的有效性需要的:
1 计算量
2 存储量
3 已知的数据量
4 成功率衡量
密码学的三个主要分支
分之一:密码编码学,研究密码算法的编制技术
分支二: 密码分析学
密码分析学的主要任务是研究密码破译的原理和技术
密码破译包括密码加密算法的破译和信息认证算法的破译
信息加密算法的破译目的是获取被加密的信息
信息认证算法的破译目的是伪造合理的消息,以达到伪造和欺骗的目的.
分支三:密钥管理学
密钥管理学是研究密钥的生成,分配与管理的理论,技术和方法的科学.
密码算法最基本的三个编码技术
1 信息加密的一般流程
消息通过处理成数字 通过加密算法和加密密钥生成密文发给对方,对方通过脱密算法和脱密密钥将密文转成明文,再还原成原始的消息.
基本编码技术的分类
1代替密码
1 利用预先设计的代替规则,对明文逐字符或逐字符组进行代替的密码,分为单表代替和多表代替两种
2移位密码
对各字符或字符组进行位置移动的密码
3 加减密码
将明文逐字符或逐字符组与乱数相加或相减的密码.
#####单表代替密码
利用预先设计的固定代替规则,对明文逐字符或逐字符组进行代替的密码
单表代替的缺点: 明文字符相同时密文字符也相同
Caesar密码(凯撒密码)
三 代替密码的优缺点分析
单表代替的缺点是: 只要有两个明文字符组相同,则对应的密文字符组一定相同
多表代替密码可以克服这个缺点
根据密钥的指示,来选择加密时使用的单表的方法,称为多表代替密码
一次一密的密码体制的缺点
密钥序列是随机序列意味着:
1 密钥序列不能周期重复
2 密钥序列必须与明文序列等长
3 这些密钥序列必须在脱密之前分配完毕
4 大量通信时不实用
5 分配密钥和存储密钥时安全隐患大
解决方案: 密钥序列由少量真随机的数按固定的算法生成,只要它很像随机序列即可,这种序列称为伪随机序列
序列密码算法的基本结构
移位密码
移位密码就是对明文字符或字符组的进行位置移动的密码
移位密码的优点:明文字符的位置发生变化
移位密码的缺点:明文字符的形态没有改变
代替密码的优点: 明文字符的形态发生改变
代替密码的缺点:明文字符的位置没有改变
加减密码–一种特殊的代替密码
仿射密码