网络安全公钥密码学与RSAPPT文档格式.ppt
《网络安全公钥密码学与RSAPPT文档格式.ppt》由会员分享,可在线阅读,更多相关《网络安全公钥密码学与RSAPPT文档格式.ppt(42页珍藏版)》请在冰豆网上搜索。
参与方不对等,所以是非对称的;
n基于数论中的结论基于数论中的结论n是私钥密码的补充而不是代替是私钥密码的补充而不是代替2022/10/27西安电子科技大学计算机学院10为什么需要公钥密码为什么需要公钥密码?
n两个考虑:
两个考虑:
q密钥分配密钥分配-KDCq数字签名数字签名n公公认认该该发发明明属属于于StanfordUni的的WhitfieldDiffie和和MartinHellman,于,于1976年。
年。
nNewDirectionsinCryptography,IEEETrans.InformationTheory,IT-22,pp644-654,Nov1976nJamesEllis(UKCESG)在在1970年曾提出此概念年曾提出此概念2022/10/27西安电子科技大学计算机学院11公钥密码体制公钥密码体制n公钥公钥/双钥双钥/非对称非对称密码都是指使用两个密钥密码都是指使用两个密钥:
q公钥:
公钥:
可以对任何人公开的密钥,用于加密消息可以对任何人公开的密钥,用于加密消息或验证签名。
或验证签名。
q私钥:
私钥:
只能由接收者私存,用于解密消息或签名。
n非对称非对称q用于加密消息或验证签名的人不能进行消息的加密或用于加密消息或验证签名的人不能进行消息的加密或消息的签名。
消息的签名。
10.12公钥密码体制的一般思路公钥密码体制的一般思路公钥密码体制公钥密码体制思路思路10.13公钥密码体制公钥密码体制公私钥对公私钥对10.14公钥密码体制的一般思路公钥密码体制的一般思路公钥密码体制公钥密码体制加解密算法加解密算法C=E(Kpub,P)P=D(Kpriv,C)准则准则11公钥密码的设计准则1单向函数单向函数(One-WayFunction)定定义义:
一个函数:
一个函数ff,对对于定于定义义域内的任意域内的任意ff,计计算算ff(x)(x)都是容易的,然而都是容易的,然而对对于于值值域内的任域内的任意意yy,计计算算ff-1-1(yy)都是困都是困难难的。
的。
例:
蹦极例:
蹦极公钥密码的设计准则2:
已知加解密密钥时,进行加解密运算计算上是容易的准则准则22单向函数能够满足这一条件吗?
单向函数能够满足这一条件吗?
陷门单向函数TrapdoorOne-WayFunction定义:
包含一组秘密信息(陷门)的特殊定义:
包含一组秘密信息(陷门)的特殊单向函数,已知陷门信息时求逆是容易的。
单向函数,已知陷门信息时求逆是容易的。
邮筒例:
邮筒陷门单向函数陷门单向函数利用困难问题离散对数问题大整数分解问题困难问题困难问题公钥密码的设计就是陷门单向函数的构造2022/10/27西安电子科技大学计算机学院20公钥密码体制:
保密性和认证公钥密码体制:
保密性和认证2022/10/27西安电子科技大学计算机学院21公钥算法分类公钥算法分类nPublic-KeyDistributionSchemes(PKDS)q用于交换秘密信息(依赖于双方主体)q常用于对称加密算法的密钥nPublicKeyEncryption(PKE)q用于加密任何消息q任何人可以用公钥加密消息q私钥的拥有者可以解密消息q任何公钥加密方案能够用于密钥分配方案PKDSq许多公钥加密方案也是数字签名方案nSignatureSchemesq用于生成对某消息的数字签名q私钥的拥有者生成数字签名q任何人可以用公钥验证签名2022/10/27西安电子科技大学计算机学院22公钥密码体制的应用公钥密码体制的应用n分为三类分为三类:
q加密加密/解密解密(提供保密性提供保密性)q数字签名数字签名(提供认证提供认证)q密钥交换密钥交换(会话密钥会话密钥)n一些算法可用于上述三类,而有些只适用用一些算法可用于上述三类,而有些只适用用于其中一类或两类。
于其中一类或两类。
2022/10/27西安电子科技大学计算机学院232022/10/27西安电子科技大学计算机学院24公钥密码体制安全性分析公钥密码体制安全性分析n一样存在穷举攻击一样存在穷举攻击n但所使用的密钥一般都非常大但所使用的密钥一般都非常大(512bits)n安全性基于安全性基于容易容易(加解密)和(加解密)和困难困难(破译)之间(破译)之间巨大的差别巨大的差别n许多算法没有得到证明是安全的。
(包括许多算法没有得到证明是安全的。
(包括RSA)n需要采用一些特别大的数字需要采用一些特别大的数字n与私钥密码体制相比,速度慢。
与私钥密码体制相比,速度慢。
2022/10/27西安电子科技大学计算机学院259.2RSAn1977由由MIT的的Rivest,Shamir和和Adleman发明发明n已知的且被广泛使用的公钥密码方案已知的且被广泛使用的公钥密码方案n有限域中的乘方运算有限域中的乘方运算q乘方运算需要乘方运算需要O(logn)3)操作操作(容易的容易的)n使用一些大的整数使用一些大的整数(例如例如.1024bits)n安全性基于大数的素因子分解的困难性安全性基于大数的素因子分解的困难性q素因子分解需要素因子分解需要O(elognloglogn)操作操作(困难的困难的)2022/10/27西安电子科技大学计算机学院26RSAn1977由由MIT的的Rivest,Shamir和和Adleman发明发明n已知的且被广泛使用的公钥密码方案已知的且被广泛使用的公钥密码方案n有限域中的乘方运算有限域中的乘方运算q乘方运算需要乘方运算需要O(logn)3)操作操作(容易的容易的)n使用一些大的整数使用一些大的整数(例如例如.1024bits)n安全性基于大数的素因子分解的困难性安全性基于大数的素因子分解的困难性q素因子分解需要素因子分解需要O(elognloglogn)操作操作(困难的困难的)2022/10/27西安电子科技大学计算机学院272022/10/27西安电子科技大学计算机学院28公开公钥(公开公钥(e,n)保存私钥保存私钥dC=PemodnP=CdmodnRSA算法算法选择两个大素数p,q;
计算n=pq,(n)=(p-1)(q-1);
公钥的产生随机地选择e,满足1e(n),gcd(e,(n)=1私钥的产生求解同余方程:
ed1mod(n),0dnn两个限制两个限制qRSA明文消息明文消息M一定要比模数一定要比模数n小小qRSA的明文消息的明文消息M要和要和n互素?
互素?
为什么?
什么?
RSA算法算法1.选择:
p=17,q=11;
2.计算:
n=17*11=1873.计算:
(17*11)=(17-1)(11-1);
=160公钥的产生随机地选择e=7,满足17160,gcd(7,160)=1私钥的产生求解同余方程:
7d1mod160,d=23公钥目录Bob的公的公钥:
e=7,n=187Bob的私的私钥:
d=23Bob的公的公钥:
e=7,n=187明文消息M=88加密:
C=887mod18711解密:
M=1123mod18788RSA算法的例子算法的例子2022/10/27西安电子科技大学计算机学院32RSA的工作原理的工作原理nEuler定理定理:
qa(n)modn1其中其中(a,n)=1nRSA中中:
qn=pqq(n)=(p-1)(q-1)q仔细地选择仔细地选择e和和d使得使得mod(n)下,两者互逆下,两者互逆q因此存在某个整数因此存在某个整数k,使得,使得ed=1+k(n)成立成立n所以所以:
Cd=Med=M1+k.(n)=M1(M(n)kM1
(1)k=M1=Mmodn2022/10/27西安电子科技大学计算机学院33幂幂运运算算n可以用平方和乘法运算可以用平方和乘法运算nN次方,只需要次方,只需要O(log2n)次乘法运算次乘法运算q如如.75=7471=37=10mod11q如如.3129=312831=53=4mod112022/10/27西安电子科技大学计算机学院34加密的效率加密的效率n加密要计算加密要计算e次方幂次方幂n若若e较小较小,计算将很快计算将很快q通常选择通常选择e=65537(216-1)q或选择或选择e=3或或e=17n但若但若e太小太小(如如e=3)将易受到攻击将易受到攻击q用中国剩余定理用中国剩余定理n必须确保必须确保(e,(n)=12022/10/27西安电子科技大学计算机学院35解密的效率解密的效率n解密计算解密计算d次方幂次方幂q看起来很大,否则不安全看起来很大,否则不安全n用用中中国国剩剩余余定定理理分分别别计计算算modp和和modq,则可以得到所希望的答案则可以得到所希望的答案q比直接快约比直接快约4倍倍2022/10/27西安电子科技大学计算机学院36RSA密钥的产生密钥的产生nRSA的用户必须的用户必须:
q随机确定两个素数随机确定两个素数p,qq选择选择e或或d,并求出另一个,并求出另一个n素数素数p,q一定不能从一定不能从n=pq轻易得到轻易得到q意味着数要足够大意味着数要足够大q典型地用猜测或可能性测试典型地用猜测或可能性测试n指数指数e,d是互逆的是互逆的2022/10/27西安电子科技大学计算机学院37RSA安全性分析安全性分析n攻击攻击RSA可能的方法有可能的方法有:
q穷举搜索穷举搜索(对于给定的数字规模是不可行的对于给定的数字规模是不可行的)q数数学学攻攻击击(基基于于计计算算(n)的的困困难难性性,模模n的的因因子子分分解解的困难性的困难性)q计时攻击计时攻击(基于解密的运行情况基于解密的运行情况)q选择密文攻击选择密文攻击(RSA的已知特性的已知特性)2022/10/27西安电子科技大学计算机学院38RSA系统安全性与系统的参数系统安全性与系统的参数nRSA系系统统安安全全性性与与系系统统的的参参数数有有很很大大关关系系,X.931标准标准,ISO/IEC14752对此提出以下几点:
对此提出以下几点:
q如果公钥如果公钥e是奇数,是奇数,e应与应与p-1,q-1互质;
互质;
q如如果果公公钥钥e是是偶偶数数,e必必须须与与(p-1)/2,(q-1)/2互互质质,且且pqmod8不成立;
不成立;
q模数的长应该为模数的长应该为1024+256x,x=0,1;
q质数质数p,q应通过质数检测应通过质数检测qp-1,q-1,p+1,q+1应有大质数因子;
应有大质数因子;
qgcd(p-1,q-1)应该小;
应该小;
qp/q不应靠近两个小整数比值,且;
不应靠近两个小整数比值