信息安全概论 段云所 课件 第四章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Communitions of the ACM. Vol.21.No.2. Feb. 1978, PP.120-126
公开密钥密码的重要特性
加密与解密由不同的密钥完成 加密: X Y: Y = EKU(X) 解密: Y X: X = DKR(Y) = DKR(EKU(X)) 知道加密算法,从加密密钥得到解密密钥 在计算上是不可行的 两个密钥中任何一个都可以用作加密而 另一个用作解密(不是必须的) X = DKR(EKU(X)) = EKU(DKR(X))
段云所 副教授 北京大学信息学院 软件研究所-信息安全研究室 http://ca.pku.edu.cn/ebusiness
Email: doyes@pku.edu.cn
第4章 公钥密码体制
• 公钥密码体制的发现是密码学发展史上的一次 革命。从古老的手工密码,到机电式密码,直 至运用计算机的现代对称密码,这些编码系统 虽然越来越复杂,但都建立在基本的替代和置 换工具的基础上,而公钥密码体制的编码系统 是基于数学中的单向陷门函数。 • 更重要的是,公钥密码体制采用了两个不同的 密钥,这对在公开的网络上进行保密通信、密 钥分配、数字签名和认证有着深远的影响。
•条件:
公钥密钥的应用范围
•加密/解密 •数字签名(身份鉴别) •密钥交换
算法 RSA DieffieHellman DSS 加/解密 数字签名 是 否 否 是 否 是 密钥交换 是 是 否
基本思想和要求
• 涉及到各方:发送方、接收方、攻击者 • 涉及到数据:公钥、私钥、明文、密文 • 公钥算法的条件:
Baidu Nhomakorabea
公钥密码基于的数学难题
• 背包问题 • 大整数分解问题
• (The Integer Factorization Problem,RSA 体 制 )
• 有限域的乘法群上的离散对数问题
• (The Discrete Logarithm Problem,ElGamal体制)
• 椭圆曲线上的离散对数问题
• (The Elliptic Curve Discrete Logarithm Problem, 类比的ElGamal体制)
W.Diffie and M.E.Hellman, New Directrions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654
• RSA公钥算法是由Rivest,Shamir和Adleman在 1978年提出来的, 见
密钥分配(Key Distribution)
• •
保密通信双方需共享密钥 共享密钥要经常更换
– – – –
A选择密钥并手工传递给B 第三方C选择密钥分别手工传递给A,B 用A,B原有共享密钥传送新密钥 与A,B分别有共享密钥的第三方C传送新密钥给A和/ 或B
• N个用户集需要N(N-1)/2个共享密钥 缓冲办法:密钥分发中心(Key Distribution Center)
– – – – – – 产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的 (可选)加密和解密的顺序可交换
陷门单向函数
单向陷门函数是满足下列条件的函数f: (1)给定x,计算y=fk(x)是容易的; (2)给定y, 计算x使x=fk-1(y)是不可行的。 (3)存在k,已知k 时,对给定的任何y,若相应的x 存在,则计算x使fk-1(x)是容易的。
c = (m ) = m
d i e d i
ed i
= mi ∗ m i
k ( p −1)( q −1)
= mi ∗1(mod n) = mi (mod n)
传统密钥管理:两两分别用一对密钥时,则n个 用户需要C(n,2)=n(n-1)/2个密钥,当用户量增大时 ,密钥空间急剧增大。如: n=100 时, C(100,2)=4,995
n=5000时, C(5000,2)=12,497,500
(2)数字签名的问题
传统加密算法无法实现抗抵赖的需求。
起源
• 公钥密码又称为双钥密码和非对称密码,是 1976年由Diffie和Hellman在其“密码学新方向” 一文中提出的,见划时代的文献:
密钥分发中心 (Key Distribution Center)
● 每个用户与KDC有共享密钥(Master ● N个用户,KDC只需分发N个Master
Key)
Key Key)
● 两个用户间通信用会话密钥(Session
用户必须信任KDC KDC能解密用户间通信的内容
问题的提出
(1)密钥管理量的困难
基于公开密钥的加密过程
基于公开密钥的鉴别过程
用公钥密码实现保密
•用户拥有自己的密钥对(KU,KR) •公钥KU公开,私钥KR保密 •A •B:
B: Y=EKUb(X) DKRb(Y)= DKRb(EKUb(X))=X
用公钥密码实现鉴别
两个密钥中任何一个都可以用作加密 而另一个用作解密 •鉴别: A ALL: Y=DKRa(X) ALL: EKUa(Y)=EKUa(DKRa(X))=X •鉴别+保密: A B: Z= EKUb(DKRa(X)) B: EKUa(DKRb(Z))=X
RSA算法
• 1977年由Ron Rivest、Adi Shamir和Len Adleman发明,1978年公布 • 是一种分组加密算法。
明文和密文在0-(n-1)之间,n是一个正整数
• 应用最广泛的公钥密码算法 • 只在美国申请专利,且已于2000年9月到期
RSA算法描述
RSA加、解密算法(1978 Rivest,Shamir,Adelman) 分组大小为k, 2k < n ≤ 2k+1 • 公开密钥 n(两素数p和q的乘积)(推荐p,q等长) e(与(p-1)(q-1)互素) ed≡1(mod(p-1)(q-1)) • 私人密钥 d(e-1 mod(p-1)(q-1) ) • 加密 • 解密 c=me mod n m=cd mod n
相关文档
最新文档