《现代密码学》

本文介绍了密码学的基础,包括信息安全的五个方面、密码学的历史、古典密码体制和对称密码体制,涉及DES、AES算法,以及公钥密码体制和数字签名技术。此外,还讨论了密钥管理和密码法规的重要性。
摘要由CSDN通过智能技术生成

绪论

信息安全与密码学

  • 经典的信息安全三要素(CIA)——机密性、完整性和认证性是信息安全的核心原则。
  • 以密码学为基础的信息安全的五个方面:信息及信息系统的机密性、完整性、可用性、认证性和不可否认性。机密性可通过加密变换实现访问控制;完整性使用消息摘要算法防止篡改;认证性分为实体认证和消息认证。
  • 攻击分为主动攻击(中断、篡改:对完整性的攻击、伪造:对认证性的攻击、重放:可使用时间戳进行预防)和被动攻击(截取:对机密性的攻击)。
  • 密码学是保障信息安全的作用。

  

 

密码学发展史

  • 发源:1949年香农发表一篇题为《保密系统的通信理论》的经典论文。
  •  密码学的发展经历了两个阶段:传统密码学和现代密码学。
  • 传统密码:古代密码学、近代密码。
  • 现代密码学:1949年香农发表《保密系统的通信理论》标志着现代密码学的真正开始(第一次质的飞跃)。1976年,Diffie和Hellman发表《密码学的新方向》,标志着公钥密码体制的诞生(第二次质的飞跃)。1978年,Rivest、Shamir和Adleman提出了RSA公钥密码体制。

密码及法律法规

  • 密码法规是社会信息化密码管理的依据。

密码学基础

密码学分类

  • 密码学分为密码码编码学密码分析学。编码学主要分为保密体制和认证体制,从使用密钥的策略上分为:对称密码体制和非对称密码体制(亦称公钥密码体制)。
  • 密码分析学中:设计和使用密码系统必须遵守:柯克霍夫准则,要求算法必须公开,对密钥进行保护。
  • 保密体制模型:明文空间、密文空间、密钥空间、加密算法和解密算法。
  • 保密体制的安全性:
  1. 按照安全性递减的顺序划分:全部破解、全盘推导、实例推导和信息推导。

         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(希尔密码)
  • [p]1*n≡([c]1*n*[k]-1m*n)(mod 26)62333333
  • 所使用的矩阵必须为非奇异矩阵
  • 安全性:能较好抵抗统计分析法,对抗唯密文攻击的强度较高,但易受已知明文攻击

 

 

 

  • 逆矩阵的求法:
  • 转轮密码机

古典密码的分析——统计分析法

单表代换密码分析

  • 使用字母或汉字的统计规律

多表代换密码分析

  • 确定密钥长度:
  1.  卡西斯基(Kasisks)测试法:找相同字母间隔字母数的最大公因子,有可能是周期k
  2. 重合指数法:计算概率分析重合指数IC=Σpi ,IC高的可能是单表代换,低的可能是多表代换。
  • 确定密钥:拟重合指数测试法:x=Σriqi
  • 恢复明文并验证

明文-密文对分析法

对称密码之分组密码

对称密码
  • 特点:加密速度快、安全性好、基于标准化··· ···
  • 应用:数据保密传输、加密存储··· ···

分组密码概述

  • 将明文消息编码表示后的二进制序列,划分为固定大小的块
  • 加密和解密是一一映射的
  • 设计应满足要求
  1. 分组足够长
  2. 密钥长度足够长
  3. 由密钥确定的置换算法足够复杂
  4. 加密和解密运算简单
  5. 一般无数据扩展
  • 理想分组密码
  • 分组密码的设计原则:扩散、混乱
  • 乘积密码体制:在密钥控制下扩散和混乱两种密码操作的多次迭代
  • 迭代结构
  1. Feistel密码
  2. SP网络
组成 S盒(代换):混乱作用,P盒(置换):扩散作用
效果 雪崩效应
设计原则
  1. 分组长度
  2. 密钥长度
  3. 轮函数F的设计原则:基本原则:非线性、可逆性、雪崩效应,性能指标:安全性、速度、灵活性
  4. 子密钥的生成方法
  5. 迭代的轮数

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位

特点:

  1. 非线性
  2. 每一行包括所有16种四位二进制码
  3. 两个输出相差1bit,输出至少相差2bit
  4. ··· ···
置换运算(P盒)  
  • 安全性
  • 缺陷
  1. 互补性&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值