crypto4cch密钥管理及其他公钥体制.ppt
- 文档编号:1387519
- 上传时间:2022-10-21
- 格式:PPT
- 页数:42
- 大小:795KB
crypto4cch密钥管理及其他公钥体制.ppt
《crypto4cch密钥管理及其他公钥体制.ppt》由会员分享,可在线阅读,更多相关《crypto4cch密钥管理及其他公钥体制.ppt(42页珍藏版)》请在冰豆网上搜索。
第10章密钥管理及其他公钥体制,10.1密钥管理10.2Diffie-Hellman密钥交换10.3椭圆曲线算术10.4椭圆曲线密码学ECC,“公开”密钥?
简单?
使用对称密码体制时,一个非常烦人的问题是如何协商会话密钥。
公钥体制中只需公开发布公钥(且保密私钥),因此通常被认为是减轻了密钥管理的负担。
但当认真考虑如何发布公钥时,你会发现:
原来可靠地发布公钥其实也很难。
公钥的发布体制-证书体系(CA),是PKI的核心和基础。
事实上,证书体系的过于复杂阻碍了PKI的普及。
10.1密钥管理,公钥的分配公钥体制用于传统密码体制的密钥分配,公钥的分配方法,1.公开发布(自由发布)2.公开的目录服务(在线方式)3.公钥授权(在线中心方式)4.通过证书中心CA(离线中心方式),1.自由发布,当要通信时向对方索要其公钥没有先验知识,不能确定对方的身份,不能提供认证特性只能用在不究身份时的加密,如萍水相逢的两人之间的防偷听聊天扩散通过可信的朋友之间的辗转交换PGP中就有这种公钥发布机制朋友并不总可信,2.公开目录,公开的目录服务目录的维护得由信得过的机构执行每个用户在目录里有一项身份信息,其公钥面对面的审核和注册可以更新或废止提供网络的访问手段,可公开查询目录中心的安全负担太重,也是性能瓶颈,3.公钥授权:
在线中心,有在线中心帮助的公钥交换A请求中心给予B的公钥,带时间戳中心用私钥签署的消息,包括:
原始请求和时间戳,B的公钥A用B的公钥加密:
IDa和会话标识号N1B也如法取得A的公钥B用A的公钥加密:
N1和N2A用B的公钥加密N2,以最后确认会话在线中心容易成为单点故障和性能瓶颈,公钥授权:
在线中心,4.公钥证书:
离线中心,CA是受信任的权威机构,有一对公钥私钥。
每个用户自己产生一对公钥和私钥,并把公钥提交给CA申请证书。
CA以某种可靠的方式核对申请人的身份及其公钥,并用自己的私钥“签发”证书。
证书主要内容:
用户公钥,持有人和签发人的信息,用途,有效期,签名等。
证书在需要通信时临时交换,并用CA的公钥验证。
有了经CA签名保证的用户公钥,则可进行下一步的身份验证和交换会话密钥等。
CA,使用公钥分配会话密钥,公钥算法太慢密钥产生及加/解密过程计算量大只用来传递会话密钥(假设B已经有A的公钥PUa)A发起和B的通信B产生会话密钥Ks,并用PUa加密后传给AA能用自己的私钥PRa解密他人不会知道Ks,Merkle方案,因为B临时获取A的公钥,所以存在“中间人攻击”的问题,中间人攻击,A产生密钥对(PUa,PRa),并将含有PUa和其标识IDa的消息发送给B。
E截获该消息,产生密钥对(PUe,PRe),并将PUe|IDa发送给B。
B产生会话密钥K,并发送E(PUe,K)。
E截获该消息,并利用PRe解密出K,再将E(PUa,K)发送给A。
结果:
A和B共享密钥K,但他们不知道E也知道K。
E可解密所有消息。
具有保密性和真实性的密钥分配,(事先拥有对方公钥),10.2Diffie-Hellman密钥交换,定义离散对数yxmodq,其中是q的本原根的幂能产生1到q-1之间所有整数,即:
modq,2modq,q-1modq各不相同,它们是整数1到q-1的一个置换。
对任意整数y和素数q的本原根,可以找到惟一的指数x使得xmodq=y,指数x称为以为底的模q离散对数。
已知x计算y很容易已知y计算x很困难,目前没有有效的方法,Diffie-Hellman密钥交换算法,步骤选取大素数q和它的本原根,这些参数公开A选择随机数Xa,B选择随机数XbA计算Ya=Xamodq,B计算Yb=Xbmodq交换Ya,YbA计算K=YbXamodq,B计算K=YaXbmodq事实上,K=K,DH密钥交换的证明,证明K=KK=YbXamodq=(Xb)Xamodq=(XbXa)modqK=YaXbmodq=(Xa)Xbmodq=(XaXb)modq,DH密钥交换举例,q97,5
(1)A选Xa36,B选Xb58,则:
Ya536mod9750Yb558mod9744
(2)A将Ya发送给B,B将Yb发回给A。
A计算K4436mod9775B计算K5058mod9775(3)A和B共享密钥K,作为会话密钥。
案例分析,在DH密钥交换中,设q=11,=2证明2是11的本原根。
若用户A的公钥Ya=9,则私钥Xa=?
若用户B的公钥Yb=3,则共享的密钥K=?
案例分析,在DH密钥交换中,设q=11,=2证明2是11的本原根。
若用户A的公钥Ya=9,则私钥Xa=?
若用户B的公钥Yb=3,则共享的密钥K=?
案例分析,在DH密钥交换中,设q=11,=2证明2是11的本原根。
若用户A的公钥Ya=9,则私钥Xa=?
若用户B的公钥Yb=3,则共享的密钥K=?
Xa=6K=YbXamodq=36mod11=3,DH密钥交换,分析(攻击者如何计算K?
)若攻击者窃听到Ya和Yb,但需要计算Xa或Xb,即要计算离散对数根据YaXamodq,或YbXbmodq当q较小时,用穷举法可计算出Xa和Xbq应选取大素数,中间人攻击,交换公钥Y的过程中,Y有可能被替换或假冒,而且不容易被发现。
形式上,可以理解为一个中间人在跟双方同时通信,而通信内容在中间人处是可见的。
在协议中加入数字签名和公钥证书可以解决这个问题。
中间人攻击示意,A将Ya发给B。
D截获Ya,并将Yd1发给B。
D计算K2=(Ya)Xd2modq。
B收到Yd1,并将Yb发给A。
B计算K1=(Yd1)Xbmodq。
D截获Yb,并将Yd2发给A。
D计算K1=(Yb)Xd1modq。
A收到Yd2,计算K2=(Yd2)Xamodq。
结果:
A和D共享密钥K2,B和D共享密钥K1。
相关结论,结论破译DH密钥交换协议等价于计算离散对数RSA的安全性是否等价于大数的因子分解?
ElGamal公钥密码算法,准备素数q,本原根,公开参数密钥对(X,Y),私钥X,公钥Y=XmodqA发送信息给B,利用公钥Yb加密对明文Mq,选随机数t(1tq-1)K=(Yb)tmodq密文(C1,C2)C1=tmodq,C2=MKmodqB利用私钥Xb解密,ElGamal公钥密码算法,B利用私钥解密K=(C1)XbmodqM=(C2K-1)modq证明解密过程K=(C1)Xbmodq=(tXb)modq=(Xb)tmodq=(Yb)tmodqM=(C2K-1)modq=(MKK-1)modq=Mmodq,ElGamal算法举例,设公开参数q=71,其本原根=7
(1)若B的公钥Yb=3,A选择的随机数t=2,则当明文M=30时,其密文=?
(2)若A选择的t值使得M=30的密文为C=(59,C2),则整数C2=?
(1)K=(Yb)tmodq=32mod71=9C1=tmodq=72mod71=49C2=MKmodq=(309)mod71=57
(2)由7tmod71=59推导出t=3K=(Yb)tmodq=33mod71=27C2=MKmodq=(3027)mod71=29,ElGamal评价,基于离散对数难题缺点需要随机数密文长度加倍ElGamal可用于签名,10.3椭圆曲线,背景RSA中用到了因子分解的困难性,而为了增加困难得加大数的位数,从而导致计算速度变慢。
ECC可以用较小的密钥长度达到较高的计算难度EllipticCurvey2axybyx3cx2dxe其中a、b、c、d、e是满足某个简单条件的实数另有O点被定义为无穷点/零点点加法PQR定义为过P、Q和椭圆曲线相交的第三点的X轴对称点R,EC:
PQR,素域上的EC,在有限域Zp上的简化ECy2x3axbmodp其中4a327b2modp0(这是一个离散点的集合)举例y2x318x15mod23y2x317x15mod23,EC
(1),EC
(2),EC上的离散对数问题(ECDLP),QkP中的k计算也是极其困难的kP表示k个P相加:
P+P+P在DH密钥交换中使用了ygxmodp中x的计算困难性同样在ECC中将使用QkP中计算k的困难性有两个应用密钥交换加密解密,10.4椭圆曲线密码学ECC,ECC利用EC上的离散对数难题(ECDLP),这和利用Zp*上的离散对数难题(DLP)是一样的方法。
在一般数域上的离散对数问题(以及大数分解问题)存在亚指数级时间复杂度求解算法,而ECDLP只有纯指数算法。
使用EC的密钥交换(D-H),步骤y2x3axbmodp选择素数p(得约160比特)和参数a、b选择一个生成点G(x1,y1)p、a、b和点G是公开的A:
选取秘密的数Na,计算PaNaGB:
选取秘密的数Nb,计算PbNbG交换Pa,PbA:
计算KNaPbNaNbGB:
计算KNbPaNbNaG分析攻击者得求Na和Nb,就是P?
G中的?
用EC的加解密,准备曲线参数p、a、b、G,y2x3axbmodpA有自己的私钥Na,并产生公钥PaNaGB有自己的私钥Nb,并产生公钥PbNbG加密(A要给B发送消息)对明文m的编码点Pm,选择随机数k,密文CC1,C2kG,PmkPb解密:
编码点PmC2NbC1,因为(PmkPb)NbkGPmkNbGNbkGPm,用EC的加解密,原理先是通过kPb掩盖Pm(即m),又通过kG掩盖k知道陷门Nb则可以轻松恢复之分析攻击者解C1kG中的k困难性,关于速度,速度在密钥长度相等的情况下,RSA和ECC的速度相当;但是在相同的安全强度要求下,ECC可以使用较少的位数就可以;故ECC较好适合嵌入式设备中,ECCvs.RSA,小结,公钥算法没有对称算法那样多,但是对称算法都是基于替代和置换的组合应用技巧,而公钥算法各自使用不同的背景难题。
目前常用有三个背景难题:
大数分解(IFP),离散对数问题(DLP),椭圆曲线上的DLP(ECDLP)。
随着计算能力的日益增长,公钥算法的密钥宽度也需要与时俱进。
公钥算法仍需要和对称算法结合使用,各自发挥优点,避免缺点。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- crypto4cch 密钥 管理 及其 体制