非对称密码体制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-7-9
yky_wenfeng@163.com
非对称密码体制:Diffie-Hellman密码体制
Diffie和Hellman在《密码学新方向》一文中给出了非对称密码算法
的思想 它不是真正意义上的非对称密码实例,仅仅是一个单向函数;
算法的目的是使得两个用户安全地交换一个会话密钥。
Page: 3 2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:非对称密码的提出
对称密码的局限性 密钥管理的困难性问题 陌生人间的保密通信问题
数字签名问题
非对称密码(1976年由W. Diffie和M. Hellman提出)与对称密码的几 点区别:
双钥——双钥密码、公钥密码
密钥交换(秘密共享) 发送方和接受方基于公钥密码体制交换会话密钥; 会话密钥采用对称加密体制加密需要保密传输的消息。
Page: 13
2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:密钥交换系统工作 原理
发送者
接收者的公 钥加密 接收者的私 钥解密
2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:对称密码面临的困难
明文 加密器 EK 密文 解密器 DK 明文
K
密钥产生器
K
密钥管理:若N个人相互保密通信,每人必须拥有(N-1)个私钥,N 很大时,需要保存的私钥很多。如何解决? 可信中心分发:共需要发N*(N-1)/2个私钥:例如N =1000时, 999 *1000/2 = 499500 双方事先约定:用户之间自己秘密会面(第一次远距离通信如何 办?)
用户Alice和用户Bob之间安全交换会话密钥,已知一个素数q和一个整
数a,其中整数a是素数q的一个本原元。 DH密钥交换协议不支持认证功能,需要 1—Alice随机选择一个数xA < q ,计算 yA ≡ axA modq,发送给
额外的身份认证机制来保证安全性。 Malice(Bob);
1’—Malice随机选择一个数m < q ,计算 yM ≡ am modq,发送给Bob; 2—Bob随机选择一个数xB < q ,计算 yB ≡ axB modq,发送给 Malice(Alice); 2’—Malice将 yM ≡ am modq发送给Alice。
对“几乎所有xA‖由f(x)求x―极为困难”,以至于实际上不可
能做到,则称f为一单向(One-way)函数。 定义中的“极为困难”是对现有的计算资源和算法而言。
Page: 9 2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:单向函数
例一:令f是在有限域GF(p)中的指数函数,其中p是大素数,即 y = f(x) = ax。式中,xGF(p),x为满足0 x<p-1的整数,其逆运算是 GF(p)中定义的对数运算,即 x=logay (0 x<p-1)
背包密码体制的奥秘:超递增背包序列 超递增序列:它的每一项都大于它之前所有项之和; 例一:{1, 3, 6, 13, 27, 52} 超递增背包问题的解 计算其总重量并与序列中最大的数比较
非对称密码体制
杨秋伟 湖南大学 计算机与通信学院
Page: 1
2013-7-9
yky_wenfeng@163.com
非对称密码体制组成
非对称密码体制的基本概念
Diffie-Hellman密码体制 背包密码体制
RSA密码体制
Elgamal密码体制 椭圆曲线密码体制
Page: 2
实体通过有效渠道获取;
SK:俗称私钥(Secret Key),通常私钥是保密的,不能被任何 实体通过非法渠道获取;
Page: 5 2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:设计要求
参与方B容易通过计算产生一对密钥; 在知道公开密钥和待加密消息的情况下,发送方A容易产生密文; 接受方B使用私有密钥容易通过计算解密所得密文,以便恢复原来
接收者
会话密钥交换阶段 加密 解密
保密信息交换阶段
Page: 14
2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:本原元和离散对数
本原元:对于一个素数q
如果数值amodq, a2modq,…,aq-1modq是各不相同的整数; 并且以某种排列方式组成了从1到q-1的所有整数;
非对称密码基本概念:非对称密码的原理
非对称密码体制:加密密钥与解密密钥不同
明文 密文
加密器 EK
PK 密钥产生器
解密器 DK
SK
明文
非对称密码、认证系统的的安全性主要取决于构造非对称算法所 依赖的数学问题。要求加密函数具有单向性,即求逆的困难性。 因此,设计双钥体制的关键是先要寻求一个合适的单向函数。
Page: 8
2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:单向函数
令函数f是集A到集B的映射,以f:AB表示。若对任意x1x2 ,x1, x2A,有f(x1)f(x2),则称f为单射,或1-1映射,或可逆的函数。 f为可逆的充 要条件是:存在函数 g:BA,使对任意xA有 g[f(x)]=x。 一个可逆函数f:AB,若它满足: 对所有xA,易于计算f(x);
如果陷门信息的保密性不强,求逆也就不难。
Page: 11 2013-7-9
yky_wenfeng@163.com
非对称密码体制组成
非对称密码体制的基本概念
Diffie-Hellman密码体制 背包密码体制
RSA密码体制
Elgamal密码体制 椭圆曲线密码体制
Page: 12
密钥生成KG( )
根据输入的安全参数 ,输出公钥和私钥对(PK, SK) 加密E( )
根据输入的公钥和消息,输出密文。
解密D( ) 根据输入的解密私钥和密文,算法输出消息或输出表示密文不 合法的特殊符号“?‖
Page: 7
2013-7-9
yky_wenfeng@163.com
基于数学函数,而非替换和换位 解决了对称密码的诸多局限性
Page: 4 2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:非对称密码体制
明文 加密器 EK 密文 解密器 DK 明文
PK
密钥产生器
SK
密钥—(PK, SK) PK:俗称公钥(Public Key),通常公钥是公开的,可以被任何
的消息;
敌手在知道公开密钥的情况下,确定私有密钥计算上不可行; 敌手在知道公开密钥和密文的情况下,恢复消息计算上不可行; 两个密钥中的任何一个可以用来加密,对应的另一个用来解密。
Page: 6
2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:非对称密码的算法组 成
发送给Bob;
Bob随机选取她的秘密指数37,计算337 ≡ 20 mod43,并将结果 发送给Alice;
Alice和Bob分别计算会话密钥 9 ≡ 208 ≡ 2537 mod43。
Page: 17
2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:算法安全性
Deffie-Hellman密钥交换算法安全性源于在有限域上计算离散对数,
它比计算指数更为困难。 攻击者只知道a、q、yA、yB,除非计算离散对数,恢复xA、 xB,
否则无济于事。
a和q的选取 (q-1)/2应该是一个素数,并且q应该足够大:系统的安全性取 决于与q同样长度的数的因子分解的难度; 可以选择任何模n的本原元a,通常选择最小的a(一般是一位数)。
由x求y:即使当p很大,也不难实现。为方便计算令a=2。例如
p=2100时,需作100乘法。利用高速计算机由x计算ax可在0.1毫 秒内完成。
从ax计算x:当p=2100时,以平均速度的计算机进行计算需时约
1010.7 秒(1年=107.5 秒,故约为1600年!其中假定存储量的要求 能够满足)。
Page: 16 2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:实例
例一:令p = 43,3作为mod43的本原根。令Alice和Bob知道公共参
数(p, a)=(43, 3),Alice和Bob试图协商一个会话密钥。 Alice随机选取她的秘密指数8,计算38 ≡ 25 mod43,并将结果
则称整数a是素数q的一个本原元。
离散对数:对于一个整数b和素数q的一个本原元a,可以找到一个 唯一的指数i,使得 b ≡ aimodq (0≤i ≤q-1) 成立,则指数i称为b的以a为基数的模q的离散对数。
Page: 15
2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:算法
Page: 18
2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:中间人攻击
Alice Bob Alice Malice Bob
1
2
1
1’ 2
2’
Page: 19
2013-7-9
yky_wenfeng@163.com
Diffie-Hellman密码体制:中间人攻击
非对称密码体制:背包密码体制
Ralph Merkle和Martin Hellman开发了第一个非对称密码算法——背
包算法。(背包算法只能用于加密) 背包问题的描述:给定一堆物品,每个重量不同,能否将这些物
品中的几件放入一个背包中,使之等于一个给定的重量???
给定一系列值m1,m2,…,mn和一个和s,计算bi使之满足 s = b 1 m 1 + b 2 m 2 + … + b im i 背包密码体制的安全性基于背包难题,它证明了如何将一个NP完 全问题应用到非对称密码学,后来被证明是不安全的。
Page: 10
2013-7-9
yky_wenfeng@163.com
非对称密码基本概念:单向陷门函数
满足下列条件的函数f称为单向陷门函数: 给定x,计算y = f(x)是容易的; 给定y,计算x使y = f(x)是困难的; 存在z,已知z时, 对给定的任何y,若相应的x存在,则计算x使y = f(x)是容易的。 两个难题 陷门函数其实就不是单向函数,因为单向函数是在任何条件下 求逆都是困难的; 陷门可能不止一个,通过试验,一个陷门就可容易地找到逆。
Page: 22
2013-7-9
yky_wenfeng@163.com
背包密码体制:背包算法的基本思想
背包算法的思想是将消息编码为背包问题的解
明文分组长度等于堆中物品的个数,且明文位与{bi}的值相对应; 密文是计算得到的和值。
明文
111 0 0 1
010 1 1 0
000 0 0 0
用户A和用户B之间安全交换会话密钥,已知一个素数q和一个整数
a,其中整数a是素数q的一个本原元。 用户A随机选择一个数xA < q ,计算 yA ≡ axA modq;
用户B随机选择一个数xB < q ,计算 yB ≡ axB modq;
用户A和用户B分别公开yA、yB; 用户A计算k1 ≡ (yB)xA modq,用户B计算k2 ≡ (yA)xB modq ,k即为 共享的会话密钥。 k1 ≡ (yB)xA modq ≡ (a)xAxB modq ≡ (axA)xB modq ≡ (yA)xB modq ≡ k2
Page: 20
2013-7-9
yky_wenfeng@163.com
非对称密码体制组成
非对称密码体制的基本概念
Diffie-Hellman密码体制 背包密码体制
RSA密码体制
Elgamal密码体制 椭圆曲线密码体制
Page: 21
2013-7-9
yky_wenfeng@163.com
011 0 0 0
背包
密文
1 5 6 11 14 20
1+5+6+20=32
1 5 6 11 14 20 1 5 6 11 14 20
5+11+14=30 0=0
1 5 6 11 14 20
5+6=11
Page: 23
2013-7-9
yky_wenfeng@163.com
背包密码体制:超递增Hale Waihona Puke Baidu包序列