绪论
信息安全与密码学
- 经典的信息安全三要素(CIA)——机密性、完整性和认证性是信息安全的核心原则。
- 以密码学为基础的信息安全的五个方面:信息及信息系统的机密性、完整性、可用性、认证性和不可否认性。机密性可通过加密变换实现访问控制;完整性使用消息摘要算法防止篡改;认证性分为实体认证和消息认证。
- 攻击分为主动攻击(中断、篡改:对完整性的攻击、伪造:对认证性的攻击、重放:可使用时间戳进行预防)和被动攻击(截取:对机密性的攻击)。
- 密码学是保障信息安全的作用。
密码学发展史
- 发源:1949年香农发表一篇题为《保密系统的通信理论》的经典论文。
- 密码学的发展经历了两个阶段:传统密码学和现代密码学。
- 传统密码:古代密码学、近代密码。
- 现代密码学:1949年香农发表《保密系统的通信理论》标志着现代密码学的真正开始(第一次质的飞跃)。1976年,Diffie和Hellman发表《密码学的新方向》,标志着公钥密码体制的诞生(第二次质的飞跃)。1978年,Rivest、Shamir和Adleman提出了RSA公钥密码体制。
密码及法律法规
- 密码法规是社会信息化密码管理的依据。
密码学基础
密码学分类
- 密码学分为密码码编码学密码分析学。编码学主要分为保密体制和认证体制,从使用密钥的策略上分为:对称密码体制和非对称密码体制(亦称公钥密码体制)。
- 密码分析学中:设计和使用密码系统必须遵守:柯克霍夫准则,要求算法必须公开,对密钥进行保护。
- 保密体制模型:明文空间、密文空间、密钥空间、加密算法和解密算法。
- 保密体制的安全性:
- 按照安全性递减的顺序划分:全部破解、全盘推导、实例推导和信息推导。
2.根据密码分析者可获得的密码分析的信息量把密码体制的攻击划分:
(1)唯密文攻击(仅知道一些密文)
(2)已知明文攻击(知道一些密文和相应明文)--------------------------------->密码系统至少应经受住的攻击;对流密码的攻击方式
(3)选择明文攻击(密码分析者可以选择一些明文并得到相应密文)
(4)选择密文攻击(密码分析者可以选择一些密文并得到相应明文)
(5)选择文本攻击
3.攻击方式的分类:
(1)穷举攻击(解决方法:增大密钥量)
(2)统计分析攻击(解决方法:使明文的统计特性和密文的统计特性不一样)
(3)数学分析攻击(解决方法:选用足够复杂的加密算法)
4.安全性级别:无条件安全性(H(P|C))=H(P))、计算安全性(计算出或估计出破译一个密码系统的计算量下限,利用已有的最好方法破译它所需要的代价超过了破译者的破译能力(时间、空间和资源等))和可证明安全性。
- 认证体制模型
认证体制包括实体认证和消息认证。这里主要指消息认证。
认证体制的安全性:按照攻击目标不同可分为完全摧毁、一般性伪造、选择性伪造和存在性伪造。
- 依照攻击者的资源,分为唯密钥攻击、已知消息攻击、一般的选择消息攻击、特殊的选择消息攻击、自适应的选择消息攻击。
香农理论
参看信息论与编码http://www.cnblogs.com/WittPeng/p/8988941.html
认证系统的信息理论
复杂度理论
算法的复杂度
- 度量要素:时间复杂度(计算复杂度)和空间复杂度
- 复杂度 O(*)
问题的复杂度
- P类问题:具有一个在多项式时间内求解的算法的问题
- NP类问题:不存在多项式时间求解算法的问题
- 量子计算机可以将NP类问题转化为P类问题
古典密码体制
1.置换密码
1.列置换密码
- 加密过程:(1)明文按照固定宽度m按行写出,不足部分按照双方约定方式填充,得到字符矩阵;
(2)进行置换操作;
(3)读出后即为密文
- 解密过程:将加密密钥逆置,按照加密过程操作,即可由密文得到明文。
- 如密钥e=(143)(56) 意思是1->4,4->3,3->1,5->6,6->5
2.周期置换密码
- 明文按照固定长度m分组,对字符串编号,重新排列位置从而得到密文;解密时将加密密钥逆置得到解密密钥,重新排列位置后得到明文。
2.代换密码
- 代换密码就是将明文中的字符替换为其他字符的密码体制。
单表代换密码
- 基于密钥的代换密码,明文字母对应的密文字母在密文中保持不变
- 仿射密码:e(x)=ax+b(mod26) (a,b属于Z26,gcd(a,26)=1)
x=d(e(x))=a-1(e(x)-b)(mod26)
多表代换密码
- 明文中不同位置的同一明文字母在密文中对应的密文字母不同,能够很好地对抗统计密码分析
- 实例:
Playfair密码 | 加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。 b.明文m1m2对应的密文c1c2的确定:m1和m2同行或同列,则c1为m1后的字符,c2为m2后的字符;若m1和m2既不同行也不同列,则c1c2在m1m2所确定的矩形的其他两个角上,c1和m1同行,c2和m2同行。 |
Vigenere(维吉尼亚密码) | 例:
|
Vernam(维尔姆密码) | |
Hill(希尔密码) |
|
- 转轮密码机
古典密码的分析——统计分析法
单表代换密码分析
- 使用字母或汉字的统计规律
多表代换密码分析
- 确定密钥长度:
- 卡西斯基(Kasisks)测试法:找相同字母间隔字母数的最大公因子,有可能是周期k
- 重合指数法:计算概率分析重合指数IC=Σpi2 ,IC高的可能是单表代换,低的可能是多表代换。
- 确定密钥:拟重合指数测试法:x=Σriqi
- 恢复明文并验证
明文-密文对分析法
对称密码之分组密码
对称密码
- 特点:加密速度快、安全性好、基于标准化··· ···
- 应用:数据保密传输、加密存储··· ···
分组密码概述
- 将明文消息编码表示后的二进制序列,划分为固定大小的块
- 加密和解密是一一映射的
- 设计应满足要求
- 分组足够长
- 密钥长度足够长
- 由密钥确定的置换算法足够复杂
- 加密和解密运算简单
- 一般无数据扩展
- 理想分组密码
- 分组密码的设计原则:扩散、混乱
- 乘积密码体制:在密钥控制下扩散和混乱两种密码操作的多次迭代
- 迭代结构
- Feistel密码
- SP网络
组成 | S盒(代换):混乱作用,P盒(置换):扩散作用 |
效果 | 雪崩效应 |
设计原则 |
|
DES算法
- 特点
分组长度 | 64位 |
密码体制 | 对称密码体制,加密和密钥使用同一密钥,仅子密钥编排顺序不同 |
有效密钥长度 | 56位(原64位的每个第8位为奇偶校验位,可忽略) |
迭代结构 | SP网络结构,共16轮 |
优点 | 只使用了标准的算术和逻辑运算 |
- 流程
①64位明文->②IP置换->
③分为两部分L0和R0:L0为下一轮的R1;R0和第一次置换得到的子密钥混合经过F函数得到下一轮的L1
->④置换IP-1->⑤得到64位密文
F函数:
扩展置换 | 8*4的矩阵 每行的头尾各补齐一位,变成8*6的矩阵 |
Ki子密钥的生成算法 | 将56位的有效的密钥压缩成48位 |
代换盒(S盒) | 步骤说明:b1b6确定行,b2b3b4b5确定列,将48位变成32位 特点:
|
置换运算(P盒) |
- 安全性
- 缺陷
- 互补性&#