第四讲公钥密码体制(第6章)
- 格式:ppt
- 大小:1.00 MB
- 文档页数:53
第一节公钥密码的思想和产生背景对称密钥(单钥)密码提供了很多加密技术中所需要的服务,它能够安全地保护你的秘密。
但是,使用对称密钥密码进行保密通信,仍然存在几个很难办的问题。
AB 会话密钥会话密钥通讯信道D E FC 秘密信道第一个问题:密钥管理问题因为通信双方不能通过非保密方式达成密钥共识,所以通信双方只能进行私人会面以交换密钥。
如果需要发送消息给许多用户,就需要建立许多新的密钥,那么,仅通过私人会面以达成密钥共识是不够的。
第二个问题:身份认证问题在A向B进行了对称密钥密码的通信后,A可能会否认向B发送过加密了的消息。
他可以说是B自己创建了这则消息,然后使用他们共享的密钥加密。
理由是用此密钥加密和解密的过程相同,并且他们都可以访问它。
综上,对称密钥密码虽然是很好的加密方式,但并不是完美的。
如果能够向对称密钥密码技术中添加一些附加的功能,那么,它将会更加完美。
公钥密码思想的提出Diffie和Hellman 于1976 年发表了《密码学的新方向》,提出了公钥密码体制的思想。
在20世纪70年代中期,斯坦福大学的研究生Whitefield Diffie和教授Martin Hellman研究了密钥分发问题。
他们提出了一个方案,由此能够通过公开信息建立一个共享的秘密(共享的对称密钥)。
这个方案称为Diffie-Hellman密钥交换协议,或者DH协议。
DH协议解决了一个秘密共享的问题——但不是加密。
Diffie和Hellman在那篇论文中概述了公钥密码体制(一个密钥用于加密,另一个密钥用于解密)的思想,但作者还没有一个这样的算法,描述了他们迄今为止所得的结果。
公钥密码体制的思想事实上,现实生活中到处都体现出公钥密码体制的思想,我们仅以一个例子来说明公钥密码体制的思想。
例:保密信盒设A、B两个人要进行保密通信,他们选择一个牢固的信盒。
他们经过下面四步:(1) A把需要发送的信件装入信盒,用自己的锁锁上信盒,钥匙自己保管好,把信盒送给B;(2) B收到信盒后,由于没有钥匙,当然不能打开信盒。
第六节基于离散对数问题的公钥密码体制ElGamal密码体制ElGamal公钥体制的安全性依赖于计算有限域上离散对数(discrete logarithm)的困难性。
因为用该体制加密的密文依赖于明文和加密者选取的随机数, 所以这种密码算法是非确定性的。
以有限乘法(或加法)群(G ,•)为数学环境,n 阶循环群为工具。
实例:乘法群(G , •),一个n 阶元素α∈G 和元素β∈<α>问题:找到惟一的整数a , 0 ≤a ≤n −1, 满足:αa =β我们将这个整数记为log αβ。
离散对数问题在密码学中主要应用离散对数问题的如下性质:求解离散对数是困难的,而其逆运算指数运算可以应用平方-乘的方法有效的计算出来。
换句话说,在相应的群G中,指数函数是单向函数。
ElGamal公钥密码体制•第一个同时也是最著名的公钥密码体制。
•在ElGamal密码体制中,加密运算是随机的,因密文既依赖于明文x,又依赖于选择的随机数k,所以,对于同一个明文,会有许多(p−1个)可能的密文。
•ElGamal密码体制的加密算法有数据扩展。
设p 是一个素数,使得群*(,)⋅Z p上的离散对数是难处理的。
*α∈Z p 是*Z p 的一个本原元。
令***,==×Z Z Z p p p M C 。
定义{(,,,)|(mod )}αββα=≡aK p a p其中1a p <−是随机选取的。
公开密钥为,p α和β。
α和p 可由一组用户共享。
私人密钥为a 。
如果用户A要对消息m进行加密, 先将m按照模p 进行分组,使每组都小于p(以下仍将m视为其中的一组)。
然后随机选取数x使gcd(x, p −1) =1。
计算(mod )(mod )αβ⎧≡⎨≡⋅⎩12xx y p y m p 则密文(,)(==1k c E m x y ,)2y 这里,密文是*pZ 中元素对12(,)y y ,故密文的大小恰为明文的两倍。
当用户B 收到用他的公钥加密的消息12(,)y y 时, 他用自已的私人密钥'k a =计算: '(,)()(mod )−≡11221a k D y y y y p (mod )(mod )12xx y p y m p αβ⎧≡⎨≡⋅⎩因为D k′(E k(m, x)) ≡D k′(y1, y2) ≡mβx(αax)−1≡m mod p所以用户B可以有效地解密任何用户用他的公开密钥加密的消息。