网络安全02密码学ppt课件.ppt_第1页
网络安全02密码学ppt课件.ppt_第2页
网络安全02密码学ppt课件.ppt_第3页
网络安全02密码学ppt课件.ppt_第4页
网络安全02密码学ppt课件.ppt_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络安全 第二章密码学 1 主要内容 密码学简介古典密码学对称密码学公钥密码学 2 密码学简介 3 密码学发展历史 古典密码近代密码现代密码 4 古典密码 起始时间 从古代到19世纪末 长达几千年密码体制 纸 笔或者简单器械实现的简单替代及换位通信手段 信使例子 行帮暗语 隐写术 藏头诗 5 近代密码 起始时间 从20世纪初到20世纪50年代 即一战及二战时期密码体制 手工或电动机械实现的复杂的替代及换位通信手段 电报通信 6 现代密码 起始时间 从20世纪50年代至今密码体制 分组密码 序列密码以及公开密钥密码 有坚实的数学理论基础 通信手段 无线通信 有线通信 计算网络等 7 现代密码学的重要事件 1949年Shannon发表题为 保密通信的信息理论 为密码系统建立了理论基础 从此密码学成了一门科学 第一次飞跃 1976年后 美国数据加密标准 DES 的公布使密码学的研究公开 密码学得到了迅速发展 1976年 Diffe和Hellman提出公开密钥的加密体制的思想 1978年由Rivest Shamire和Adleman提出第一个比较完善的公钥密码体制算法 第二次飞跃 8 现代 密码学的基本概念 密码学 Cryptology 是结合数学 计算机科学 电子与通讯等诸多学科于一体的交叉学科 是研究密码编制和密码分析的规律和手段的技术科学 密码学不仅具有信息通信加密功能 而且具有数字签名 身份认证 安全访问等功能密码学提供的只是技术保障作用 9 密码学分支 密码学的两个分支密码编码学研究密码变化的客观规律 设计各种加密方案 编制密码以保护信息安全密码分析学研究如何分析和破译密码相互对立 相互促进 10 密码学的基本思想 用秘密方式写东西的艺术对机密信息进行伪装将机密信息表述为不可读的方式有一种秘密的方法可以读取信息的内容 信息 不可读消息 原始信息 伪装 去伪装 11 密码系统 密码体制 密码系统一个用于加 解密 能够解决网络安全中的机密性 完整性 可用性 可控性和真实性等问题中的一个或几个的系统 也叫做密码体制由明文 密文 加密算法和解密算法 密钥五部分组成 明文 需要加密的原始信息 用m表示密文 明文经过变换或伪装 形成密文 用c表示密码算法加密变换与解密变换的具体规则商业上多公开 而军事上多保密密钥空间加密和解密算法的操作是在密钥k控制下进行的 密钥的全体称为密钥空间加密和加密加密 对明文实施的一系列变换过程Ek m 解密 对密文施加的一系列的逆变换还原明文的过程Dk c 12 密码体制分类 对称密码体制 SymmetricSyetem 加密密钥和解密密钥相同 或者虽然不相同 但由其中的任意一个可以很容易地推出另一个 又称传统密码体制 秘密密钥体制或单密钥体制 非对称密码体制 AsymmetricSystem 加密密钥和解密密钥不相同 并且从一个很难推出另一个 又称公开密钥体制用一个密钥进行加密 而用另一个进行解密 其中一个密钥可以公开 成为公开密钥 pulickey 简称公钥 另一个密钥成为私人密钥 privatekey 简称私钥 13 密码系统的模型 密码系统的安全性是基于密钥而不是加密和解密算法的细节 这意味着算法可以公开 甚至可以当成一个标准加以公布 14 密码系统的安全性 1 可破译 由密文推出明文或密钥 或者由明文和密文可以寻求密钥无条件安全性 理论上不可破译不论提供的密文有多少 密文中所包含的信息都不足以惟一地确定其对应的明文 具有无限计算资源 诸如时间 空间 资金和设备等 的密码分析者也无法破译某个密码系统 15 密码系统的安全性 2 计算安全性理论上可破译 但是需要付出十分巨大的计算 不能在希望的时间或可行的经济条件下求出准确的答案 16 密码分析 密码攻击 借助窃听到的密文以及其它信息 通过各种方法推求原来的明文甚至密钥的过程 叫做密码分析或密码攻击被动攻击 窃听 分析 破坏明文信息的机密性防范措施 加密主动攻击 篡改 伪装等 破坏明文信息的完整性防范措施认证数字签名 17 密码攻击方法 1 密码分析 常用的方法有以下4类 惟密文攻击已知明文攻击选择明文攻击选择密文攻击 18 密码攻击方法 2 惟密文攻击密码破译者除了拥有截获的密文 以及对密码体制和密文信息的一般了解外 没有什么其它可以利用的信息用于破译密码 在这种情况下进行密码破译是最困难的 经不起这种攻击的密码体制被认为是完全不保密的 已知明文攻击密码破译者不仅掌握了相当数量的密文 还有一些已知的对 通过各种手段得到的 可供利用 比如 电子金融消息往往有标准化的文件头或者标志现代的密码体制 基本要求 不仅要经受得住唯密文攻击 而且要经受得住已知明文攻击 19 密码攻击方法 3 选择明文攻击密码破译者不仅能够获得一定数量的对 还可以选择特定的明文 并通过某种手段 如欺骗 得到对应的密文 选择密文攻击密码破译者能选择不同的被加密的密文 并还可得到对应的解密的明文 据此破译密钥及其它密文 20 密码体制的基本原则 密码体制是不可破的 理论上不可破 计算上不可破 密码体制的安全性是依赖密钥的保密 而不是依赖于对加密体制的保密 加密和解密算法适用于密钥空间中的所有元素 密码体制既易于实现又便于使用 密钥空间应足够大 使得试图通过穷举密钥空间进行搜索的方式在计算上不可行 21 网络安全 古典密码 22 古典密码体制 古典密码体制是指那些比较简单的 大多数采用手工或机械操作对明文进行加密 对密文进行解密的密码体制 古典密码技术以字符为基本加密单元 大都比较简单反映了密码设计和破译的思想 是学习密码学的基本入口 对于理解 设计和分析现代密码仍然具有借鉴的价值 23 传统加密的基本技巧 置换对明文字符按某种规律进行位置的交换而形成新的排列代换将明文字母替换成其他字母 数字或符号的方法 24 置换技术 1 一维倒置报文倒置 将一整段明文整体倒置 并截成固定长度的字母组 形成密文 分组倒置 首先将明文分成固定长度的字符串 再对每组明文的字符分别进行倒置 形成密文 明文 iamastudentinnuist 密文 tsiunnitnedutsamai 25 置换技术 2 二维易位首先根据约定的书写顺序填入明文 再按照约定的抄写顺序读出密码比如 按行写入 按列读出 密文 iunadnmeuaniststit 明文 iamastudentinnuist 26 代换技术 1 Caesar密码对字母表中的每个字母用它之后的第3个字母来代换 明文meetmeafterclass密文PHHWPHDIWHUFODVV 如果让每个字母等价于一个数值 则加密算法 C E 3 P P 3 mod26解密算法 P D k C C k mod26 27 代换技术 2 单表代换 加密函数 解密函数 明文 ifwewishtoreplaceletters密文 WIRFRWAJUHYFTSDVFSFUUFYA 28 代换技术 3 多表密码 多表密码是利用多个单表代换密码构成的密码体制 它在对明文进行加密的过程中依照密钥的指示轮流使用多个单表代替密码 M m1 m2 mn K k1 k2 kn C c1 c2 cn 加密变换 ci Ei mi mi kimodN解密变换 mi Di mi ci kimodN 29 K 1 2 3 明文 nuist密文 OWLTV 30 网络安全 对称密码学 31 现代密码的算法 秘密密钥算法 对称密码体制加密和解密使用相同的密钥公开密钥算法 公钥密码体制不要求通信双方共享密钥 而是每个通信实体拥有两个密钥公钥 向其他人公开 用于加密私钥 不公开 用于解密不需要传递解密密钥 私钥哈希算法由任意长的消息计算出一个固定长度数值的数学变换 m h m 32 秘密密钥算法 在算法中 加密和解密过程中的密钥相同 它要求发送者和接收者在安全通信之前 商定一个密钥 又称为对称密码算法 传统密码算法秘密密钥算法的安全性依赖于密钥 泄漏密钥就意味着任何人都能对消息进行加密解密 只要通信需要保密 密钥就必须保密 33 秘密密钥算法的模型 明文 原始信息 加密算法 以密钥为参数 对明文进行变换结果为密文 密钥 加密与解密算法的参数 直接影响对明文进行变换的结果 密文 对明文进行变换的结果 解密算法 加密算法的逆变换 以密文为输入 密钥为参数 变换结果为明文 34 秘密密钥算法的分类 序列密码 流密码分组密码 35 序列密码 序列密码是对称密码体制中的一类 主要用于政府 军事等领域 加密过程 先把明文转换成明文数据序列 然后同密钥序列进行逐位加密生成密文序列发送给接收者 解密过程 用相同的密钥序列对密文序列进行逐位解密以恢复出明文序列 36 分组密码 分组密码是现代密码学中的重要体制之一 也是应用最为广泛 影响最大的一种密码体制 分组密码的加密原理是将明文按照某一规定的nbit长度分组 最后一组长度不够时要用规定的值填充 使其成为完整的一组 然后使用相同的密钥对每一分组分别进行加密 37 分组密码的设计思想 扩散混乱目标 使得对于不知道密钥的人来说 从明文到密文的映射看起来是随机的 以防止用统计的手段来破译 38 扩散 所谓扩散 是将算法设计得使每一比特明文的变化尽可能多地影响到输出密文序列的变化 以便隐蔽明文的统计特性 将每一位密钥的影响也尽可能迅速地扩展到较多的输出密文比特中去 扩散的目的是希望密文中的任一比特都要尽可能与明文 密文相关联 或者说 明文和密钥中任何一比特的改变 对密文的每个比特都有影响 能够以50 的概率改变密文的每个比特 39 扩散的举例说明 无扩散技术的加密p1 00000000c1 00000010p2 00000001c2 00000011有扩散技术的加密p1 00000000c1 01011010p2 00000001c2 11101011 40 混乱 所谓混乱 是指在加密变换过程中使得明文 密钥以及密文之间的关系尽可能地复杂化 以防密码破译者采用统计分析法进行破译攻击 混乱可以用 搅拌机 来形象地解释 将一组明文和一组密钥输入到算法中 经过充分混合 最后变成密文 但是 执行这种 混乱 作业的每一步都必须是可逆的 即明文混乱以后能得到密文 反之 密文经过逆向的混乱操作以后能恢复出明文 41 分组密码常用技术 s p网络 Substitution PermutationNetwork 代换 置换网络s p网络由s变换和p变换交替进行多次迭代 它属于迭代密码 也是乘积密码的常见表现形式 42 DES简介 数据加密标准 DataEncryptionStandard DES 1977年由美国国家标准局发布分组加密算法 明文和密文为64位分组长度 对称算法 加密和解密除密钥编排不同外 使用同一算法 密钥长度 56位 看起来是64位 但每个第8位为奇偶校验位 可忽略 采用混乱和扩散的组合 每个组合先代换后置换 共16轮 只使用了标准的算术和逻辑运算 易于实现 43 DES基本结构 56比特密钥 生成16个轮密钥 16个48比特轮密钥 44 初始置换IP和初始逆置换IP 1 45 DES的一轮加密运算 64比特输入 32比特Li 1 32比特Ri 1 32比特Li 32比特Ri 64比特输出 F函数 ki 加密 Li Ri 1Ri Li 1f Ri 1 Ki 46 F函数 ki 47 扩展变换 48 S盒替换 共8个S盒 49 S盒的规则 S 盒2 S 盒3 S 盒4 S 盒6 S 盒7 S 盒8 S 盒1 S 盒5 50 S 盒的构造 51 P盒置换 保证上一轮某个s盒的输出对下一轮多个s盒产生影响 52 DES解密 解密算法和加密算法相同区别在于子密钥 轮密钥 使用次序相反加密 K1 k2 k3 k16解密 k16 k3 k2 k1 53 DES子密钥的生成 54 DES问题讨论 DES的强度 56比特的密钥长度理论上的强度 97年 100000的机器可以在6小时内用穷举法攻破DES 实际攻破的例子 97年1月提出挑战 有人利用Internet的分布式计算能力 组织志愿军连接了70000多个系统在96天后攻破 这意味着随着计算能力的增长 必须相应地增加算法密钥的长度 最近的一次评估是在1994年1月 当时决定1998年12月以后 DES不再作为联邦加密标准 AES 128位 取代DES 55 三重DES 克服密钥长度较短而造成的不安全使用3倍DES密钥长度的密钥 执行3次DES算法四种模式 包括 DES EEE3模式 使用三个不同的密钥 k1 k2 k3 进行三次加密DES EDE3模式 使用三个不同的密钥 k1 k2 k3 采用加密 解密 加密模式DES EEE2模式 使用两个不同的密钥 k1 k3 k2 进行三次加密 DES EDE2模式 使用两个不同的密钥 k1 k3 k2 采用加密 解密 加密模式 56 三重DES的优缺点 首先 密钥长度是112位 两个不同的密钥 或168位 三个不同的密钥 对抗穷举攻击的能力得到极大加强 其次 3DES的底层加密算法与DES的加密算法相同 而DES算法是安全的 缺点在于用软件实现该算法的速度比较慢这是因为DES一开始就是为硬件实现所设计的 难以用软件有效地实现 而3DES的底层加密算法与DES的加密算法相同 并且计算过程中轮的数量三倍于DES中轮的数量 故其速度慢得多 57 AES 1997年 美国国家标准技术研究所 NIST 在全球范围内征集高级加密标准算法 2002年10月 NIST宣布 Rijndael数据加密算法 最终入选 并将于2002年5月正式生效 实际上 目前通称的AES就是指的Rijndael对称分组密码算法 AES用来在将来取代DES 成为广泛使用的新标准 58 AES结构 AES算法也是迭代分组密码 明文分组长度有三个可选值 包括128 196 256比特 128位是使用最广泛的 密钥长度也有128 196 256比特三种 实现中也多取为128位 AES加解密的流程首先进行轮密钥加 然后进行完全相同的10轮迭代 得到最终输出 59 60 RC4 流密码加密和解密每次只处理数据流的一个符号 如一个字符或一个比特 密钥输入到一个伪随机数 比特 发生器 该伪随机数发生器产生一串随机的8比特数 称为密钥流 通过与同一时刻一个字节的明文流进行异或 XOR 操作产生密文流 解密需要使用相同的伪随机序列 与密文相异或 得到明文 61 RC4算法 一种可变密钥长度的 面向字节操作的流密码 以一个足够大的表S为基础 对表进行非线性变换 产生密钥流 一般S表取作256字节大小 用可变长度的种子密钥K 1到256个字节 初始化表S S的元素记为S 0 S 1 S 255 加密和解密的时候 密钥流中的一个字节由S中256个元素按一定方式选出一个元素而生成 同时S中的元素被重新置换一次 62 秘密密钥算法的特点 优点 效率高 算法简单 系统开销小适合加密大量数据明文长度与密文长度相等缺点 需要以安全方式进行密钥交换密钥管理复杂 63 在操作方式上与链路加密是类似 加密密钥分配 64 加密 链路加密加密功能设置在在通信链路两端结点加密在操作方式上与链路加密是类似但结点加密不允许消息在网络结点以明文形式存在 它先把收到的消息进行解密 然后采用另一个不同的密钥进行加密 这一过程是在结点上的一个安全模块中进行 端到端加密加密的过程在两端系统中进行 65 密钥分配 对称密码要求消息交换双方共享密钥 并且此密钥不为他人所知 此外 密钥要经常变动 以防攻击者知道 因此 任何密码系统的强度都与密钥分配方法有关 常用方法密钥由A选择 并亲自交给B 第三方C选择密钥后亲自交给A和B 如果A和B以前或最近使用过某密钥 其中一方可以用它加密一个新密钥后再发送给另一方 A和B与第三方C均有秘密渠道 则C可以将一密钥分别秘密发送给A和B 66 典型的密钥分配模式 67 公钥密码学 68 主要内容 公钥密码学原理RSA算法基于公钥密码学的密钥管理 69 公钥密码学简介 70 回顾 1976年W Diffie和Hellman在 密码学的新方向 中首次提出了非对称密码算法的思想 1978年后Rivest Shamir和Adleman提出的RSA算法体现了公钥算法的思想 公钥密码体制是现代密码学的一个标志 到目前为止 是密码学史上最大也是唯一真正的革命 引起密码界高度关注 并得到迅速的发展 尤其在信息安全的应用中涉及公钥密码技术 71 公开密钥算法的思想 不同于以往的加密技术 公钥密码体制是建立在数学函数基础上的 而不是建立替换和置换这些初等方法的加 解密时 分别使用了两个不同的密钥 一个可对外界公开 称为 公钥 一个只有所有者知道 称为 私钥 公钥和私钥之间具有紧密联系 用公钥加密的信息只能用相应的私钥解密 反之亦然 同时 要想由一个密钥推知另一个密钥 在计算上是不可能的 72 公开密钥算法加 解密模型 A查找B的公钥 A采用公钥加密算法以B的公钥作为加密密钥对明文加密 A通过非安全信道将密文发送给B B收到密文后使用自己的私钥对密文解密还原出明文 73 公钥密码体制 6个组成部分 74 公开密钥算法的基本工作过程 每一个终端产生其自身用于通信的加密和解密密钥各个终端将其自身的加密密钥通过某种方式向外界公布目录服务 公共服务器 公共文件等被公布的加密密钥称为公开密钥另一个被个终端自己保存的解密密钥称为私有密钥通常 公开密钥和私有密钥应可以互为加密 解密密钥若A需向B发送消息 可用B的公开密钥对消息进行加密B收到消息后 可用其私有密钥对消息进行解密由于公钥密码算法的特性 可以保证只有B才能正确地解读消息任何人都可以使用B的公开密钥来向B发送加密消息 但只有B能够解密 75 对称密码和公钥密码对比 76 公钥密码的两种基本用途 加密认证 77 加密 78 认证 79 保密和认证 80 对公钥密码的要求 产生一对密钥 公钥PU 私钥PR 在计算上是容易的 已知接收方B的公钥PUB和要加密的消息M 消息发送方A产生相应的密文在计算上是容易的消息接收方B使用其私钥对接收的密文解密以恢复明文在计算上是容易的已知公钥PUB时 攻击者要确定对应的私钥PRB在计算上是不可行的 已知公钥PUB和密文C 攻击者要恢复明文M在计算上是不可行的 81 公钥密码算法的分类 背包问题基于大整数素因子分解问题 RSA Rabin等基于有限域乘法群上的离散对数问题 Elgamal DSA 椭园曲线上的离散对数问题 ECC 82 RSA Rivest Shamir Adleman联合提出的简称为RSA公钥密码系统 理论基础是数论中 大整数的素因子分解是困难问题 的结论即求两个大素数的乘积在计算机上时容易实现的 但要将一个大整数分解成两个大素数之积则是困难的 83 欧拉函数 给定一个正整数n 用 n 表示比n小且与n互为素数的正整数的个数 称 n 为欧拉函数 n r1a1 1 r1 1 r2a2 1 r2 1 rnan 1 rn 1 其中n r1a1r2a2 rnan 例如 24 23 31 24 23 1 2 1 31 1 3 1 8 1 5 7 11 13 17 19 23 84 欧拉定理 若整数a和n互素 则a n 1 modn 举例说明 24 8 1 5 7 11 13 17 19 23 是小于24并与24互素的数18 1mod24即 1 24 1mod2458 1mod24即 5 24 1mod2478 1mod24即 7 24 1mod24 85 RSA的密钥对生成算法 选取两个大素数p和q 两个数长度接近 一般在256比特长计算n p q n p 1 q 1 随机选取整数e 满足gcd e n 1计算d 满足d e 1 mod n n公开 p和q保密 e为公钥 d为私钥 86 RSA的加解密过程 消息m n加密算法 c E m me modn 解密算法 m D c cd modn 签名 s md modn 87 RSA算法的安全性 对RSA算法的数学攻击实际上等效于对模n乘积因子的分解 随着计算机计算能力的不断提高 原来被认为是不可能分解的大数已被成功分解 目前密钥长度介于1024比特和2048比特之间的RSA算法是安全的 对素数p和q的选取的一些限制 p和q的长度相差不能太大p 1和q 1都应有大的素数因子gcd p 1 q 1 应该偏小 88 RSA公钥密码的小结 第一个较完善的公开密钥算法 目前使用最多的一种公钥密码算法 RSA的基础是数论的欧拉定理 RSA的安全性依赖于大对数的因数分解的困难性 密码分析者既不能证明也不能否定RSA的安全性 既能用于加密也能用于数字签名 RSA算法在美国申请了专利 2000年9月30日到期 但在其他国家无专利 89 公钥密码体制的优缺点 优点 解决密钥传递的问题大大减少密钥持有量提供了对称密码技术无法或很难提供的服务 数字签名 缺点 计算复杂 耗用资源大非对称会导致得到的密文变长 90 混合加密体制 91 网络安全 密钥管理 92 密钥管理的简介 密码系统的安全性取决于密钥的保密性 在考虑密码系统的设计时 需要解决的核心问题是密钥管理问题 而不是密码算法问题 密钥管理在保证数据系统的安全中是极为重要密钥管理是一门综合性技术 它除了技术性的因素外 还有人的因素 93 密钥管理 在一种安全策略指导下密钥的产生 存储 分配 删除 归档及应用 对密钥自产生到最终销毁的整个过程中的有关问题进行处理密钥的分配和存储是最困难 密钥管理目的是维护系统中各实体之间的密钥关系 以抗击各种可能的威胁 94 密钥管理的组织结构 95 密钥类型 1 基本密钥 BaseKey 又称初始密钥 PrimaryKey 用户密钥 Userkey 是由用户选定或由系统分配给用户的 可在较长时间内 相对于会话密钥 由一用户所专用的秘密密钥 在某种程度上 基本密钥还起到了标识用户的作用 也称为用户密钥 UserKey 会话密钥 SessionKey 在一次通信或数据交换中 用户之间所使用的密钥 是由通信用户之间进行协商得到的 它一般是动态地 仅在需要进行会话数据加密时产生 并在使用完毕后立即进行清除掉的 也称为数据加密密钥 DataEncryptingKey 96 密钥类型 2 密钥加密密钥 KeyEncryptingKey 一般是用来对传输的会话密钥进行加密时采用的密钥 又称为二级密钥 SecondaryKey 密钥加密密钥所保护的对象是实际用来保护通信或文件数据的会话密钥 主机主密钥 HostMasterKey 对应于层次化密钥结构中的最高层次 它是对密钥加密密钥进行加密的密钥 主机主密钥应受到严格的保护 在公钥体制下还有公开密钥 秘密密钥 加密密钥 签名密钥之分 97 密钥管理重要阶段简介 1 密钥生成 包括对密钥密码特性方面的测量 以保障生成密钥的随机性和不可预测性 以及生成算法或软件在密码上的安全性 用户可以自己生成所需的密钥 也可以从可信中心或密钥管理中心申请 密钥长度要适中 密钥使用 利用密钥进行正常的密码操作 如加密 解密 签名等 注意

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论