第二章信息加密技术(3) 网络安全 NETWORK SECURITY 本节学习目标: ·掌握常用加密算法及其相关知识 >对称加密算法:DES、IDEA >非对称加密算法:RSA 3
3 第二章 信息加密技术(3) • 本节学习目标: ▪ 掌握常用加密算法及其相关知识 ➢对称加密算法:DES、IDEA ➢非对称加密算法:RSA
非对称密码算法原理 网络安全 NETWORK SECURITY 对称密钥密码系统的缺陷 ·密钥必须经过安全的信道分配 ·无法用于数字签名 ·密钥管理复杂0(n) ·76年Diffie和Hellman发表了“密码学的新方向”,奠定了公 钥密码学的基础 ·公钥技术是二十世纪最伟大的思想之一,是密码学历史上唯一 的一次真正的革命 ·改变了密钥分发的方式 ·可以广泛用于数字签名和身份认证服务 ·基于数学函数而不是代替和换位
4 非对称密码算法原理 • 对称密钥密码系统的缺陷 ▪ 密钥必须经过安全的信道分配 ▪ 无法用于数字签名 ▪ 密钥管理复杂 O(n2) • 76年Diffie和Hellman发表了“密码学的新方向”,奠定了公 钥密码学的基础 • 公钥技术是二十世纪最伟大的思想之一 ,是密码学历史上唯一 的一次真正的革命 ▪ 改变了密钥分发的方式 ▪ 可以广泛用于数字签名和身份认证服务 ▪ 基于数学函数而不是代替和换位
公钥密码系统的加密原理 网络安全 NETWORK SECURITY 每个通信实体有一对密钥(公钥,私钥)。公钥公开, 用于加密和验证签名,私钥保密,用作解密和签名 A向B发送消息,用B的公钥加密 B收到密文后,用自己的私钥解密 A C的公钥 B的公钥 B的私钥 加密 解密 PlainText 算法 算法 PlainText 任何人向B发送信息都可以使用同一个密钥(B的公钥)加密 没有其他人可以得到B的私钥,所以只有B可以解密
5 • 每个通信实体有一对密钥(公钥,私钥)。公钥公开, 用于加密和验证签名,私钥保密,用作解密和签名 • A向B 发送消息,用B的公钥加密 • B收到密文后,用自己的私钥解密 PlainText 加密 算法 解密 算法 A B cipher PlainText B的私钥 任何人向B发送信息都可以使用同一个密钥(B的公钥)加密 没有其他人可以得到B的私钥,所以只有B可以解密 公钥密码系统的加密原理
公钥密码系统的签名原理 网络安全 NETWORK SECURITY A A的私钥 A的公钥 加密 PlainText 解密 PlainText 算法 算法 ·A向B发送消息,用A的私钥加密(签名) ·B收到密文后,用A的公钥解密(验证) 6
6 • A向B 发送消息,用A的私钥加密(签名) • B收到密文后,用A的公钥解密(验证) PlainText 加密 算法 解密 算法 cipher PlainText A B A的私钥 公钥密码系统的签名原理
公钥密码算法的表示 网络安全 NETWORK SECURITY ·对称密钥密码 ·密钥:会话密钥(Ks) ·加密函数:C=EKs[P] ·对密文C,解密函数:DkKs[C] ·公开密钥 (KUa,KRa) ·加密/签名:C=EKub[P],EKRa[P] ·解密/验证:P=DKRb[C],DKua[C] 7
7 公钥密码算法的表示 • 对称密钥密码 ▪ 密钥:会话密钥(Ks) ▪ 加密函数:C= EKs[P] ▪ 对密文C,解密函数:DKs[C], • 公开密钥 ▪ (KUa,KRa) ▪ 加密/签名:C= EKUb[P],EKRa[P] ▪ 解密/验证:P= DKRb[C],DKUa[C]
数字签名和加密同时使用 网络安全 NETWORK SECURITY A B 加密 加密 解密 Y 解密 签名 验证 X KUb KRb 产生密钥对 KRa KUa 产生密钥对 Y=EKRa (X),Z=EKUb[Y]EKUb EKRa (X)] Y=DKRb (Z)X=DKUa[Y]DKUa DKRb (Z)] 8
8 X 加密 (签名) 加密 解密 解密 (验证) X Y Z Y = EKRa (X), Z= EKUb[Y] = EKUb [ EKRa (X)] Y = DKRb (Z), X= DKUa[Y] = DKUa [ DKRb (Z)] A B 产生密钥对 产生密钥对 KRa KUa KUb KRb 数字签名和加密同时使用 Y
基本思想和要求 网络安全 NETWORK SECURITY ·涉及到各方:发送方、接收方、攻击者 ·涉及到数据:公钥、私钥、明文、密文 ·公钥算法的条件: ·产生一对密钥是计算可行的 ·已知公钥和明文,产生密文是计算可行的 ·接收方利用私钥来解密密文是计算可行的 ·对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的 ·(可选)加密和解密的顺序可交换 9
9 基本思想和要求 • 涉及到各方:发送方、接收方、攻击者 • 涉及到数据:公钥、私钥、明文、密文 • 公钥算法的条件: ▪ 产生一对密钥是计算可行的 ▪ 已知公钥和明文,产生密文是计算可行的 ▪ 接收方利用私钥来解密密文是计算可行的 ▪ 对于攻击者,利用公钥来推断私钥是计算不可行的 ▪ 已知公钥和密文,恢复明文是计算不可行的 ▪ (可选)加密和解密的顺序可交换
如何设计一个公钥算法 网络安全 NETWORK SECURITY ·公钥和私钥必须相关,而且从公钥到私钥不可 推断 ·必须要找到一个难题,从一个方向走是容易的, 从另一个方向走是因难的 ·如何把这个难题跟加解密结合起来 ·计算可行和不可行的界 10
10 如何设计一个公钥算法 • 公钥和私钥必须相关,而且从公钥到私钥不可 推断 ▪ 必须要找到一个难题,从一个方向走是容易的, 从另一个方向走是困难的 ▪ 如何把这个难题跟加解密结合起来 • 计算可行和不可行的界
公钥密码学的研究情况 网络安全 NETWORK SECURITY ·与计算复杂性理论密切相关 ·计算复杂性理论可以提供指导 ·但是需求不尽相同 >计算复杂性通常针对一个孤立的问题进行研究 >而公钥密码学往往需要考虑一些相关的问题 比如,密码分析还需要考虑已知明文、选择明文等相关的情形 ·讨论的情形不同 >计算复杂性考虑最坏的情形 >而对于公钥密码学则是不够的 ·,一个困难问题必然会导致一个保密性很好的密码系统吗? ·不一定,还需要有好的构造 11
11 公钥密码学的研究情况 • 与计算复杂性理论密切相关 • 计算复杂性理论可以提供指导 ▪ 但是需求不尽相同 ➢ 计算复杂性通常针对一个孤立的问题进行研究 ➢ 而公钥密码学往往需要考虑一些相关的问题 比如,密码分析还需要考虑已知明文、选择明文等相关的情形 ▪ 讨论的情形不同 ➢ 计算复杂性考虑最坏的情形 ➢ 而对于公钥密码学则是不够的 • 一个困难问题必然会导致一个保密性很好的密码系统吗? ▪ 不一定,还需要有好的构造
RSA算法简介 网络安全 NETWORK SECURITY ·77年发明,78年公布 。Ron Rivest,Adi Shamir,Leonard Adleman(这是 三位发明人) ·RSA的安全性基于大数分解的难度 ·RSA在美国申请了专利(2000年9月已经到期),在其 他国家没有 ·RSA已经成了事实上的工业标准,在美国除外 12
12 RSA算法简介 • 77年发明,78年公布 • Ron Rivest, Adi Shamir , Leonard Adleman (这是 三位发明人) • RSA的安全性基于大数分解的难度 • RSA在美国申请了专利(2000年9月已经到期),在其 他国家没有 • RSA已经成了事实上的工业标准,在美国除外