欢迎来到天天文库
浏览记录
ID:51608379
大小:536.00 KB
页数:37页
时间:2020-03-25
《公钥密码技术理论及应用介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、第三章公钥密码技术第三章公钥密码技术1公钥密码的概念公钥密码学的理论基础公钥密码算法密钥交换公钥密码算法的应用提出公钥密码的动因密钥分配问题。使用对称加密算法的通信双方要进行加密通信时,需要通过秘密的安全信道协商加密密钥,而这种安全信道如何实现呢?机械阶段数字签名问题。信息的电子化对密码学提出了新的要求:电子报文和电子文件需要一种与书面材料中使用的签名等效的认证手段。公钥密码的初始化阶段加密通信阶段公钥密码的概念公钥密码学的理论基础公钥密码算法密钥交换公钥密码算法的应用第三章公钥密码技术2计算复杂度与公钥密码计算复杂度P问题和NP完全问题密码与计算复杂度的
2、关系单向陷门函数单向陷门函数的数学问题分解整数问题。离散对数问题。RSA问题。公钥密码的概念公钥密码学的理论基础公钥密码算法密钥交换公钥密码算法的应用第三章公钥密码技术3公开密钥算法公钥算法的种类很多,具有代表性的三种密码:基于离散对数难题(DLP)的算法体制,例如Diffie-Hellman密钥交换算法;基于整数分解难题(IFP)的算法体制,例如RSA算法;基于椭圆曲线离散对数难题(ECDLP)的算法体制;RSA算法麻省理工学院的RonRivest,AdiShamir和LenAdleman于1977年研制,并于1978年首次发表;RSA是一种分组密码,其
3、理论基础是一种特殊的可逆模幂运算,其安全性基于分解大整数的困难性;既可用于加密,又可用于数字签名,已得到广泛采用;RSA已被许多标准化组织(如ISO、ITU、IETF和SWIFT等)接纳;RSA-155(512bit),RSA-140于1999年分别被分解;Euler函数欧拉函数(Euler’stotientfunction),记为φ(n),表示小于n而且与n互素的正整数个数;对于任一素数p,φ(p)=p-1;对于两个不同的素数p和q,若n=p×q,则φ(n)=φ(p×q)=φ(p)×φ(q)=(p-1)×(q-1);Euler函数举例设p=3,q=5,那
4、么n=p×q=15;1)小于15而且与15互素的正整数是:{1,2,4,7,8,11,13,14}因此,φ(15)=8;2)φ(15)=(3-1)*(5-1)=8欧拉定理对于任何互素的整数a和n,(modn),或者写作a(modn)给定两个素数p和q,以及整数n=p×q,和m,其中05、ed=Mmodn;2)对于所有M6、则可以算出φ(n)=(p-1)(q-1),然后由公开的e,解出秘密的dRSA算法举例设p=7,q=17,n=7*17=119;参数T={n=119};φ(n)=(7-1)(17-1)=96;选择e=5,gcd(5,96)=1;计算d,d*e=1mod96;d=77;因为77×5=385=4×96+1设:明文m=19加密:(19)5mod119=66解密:(66)77mod119=19RSA算法的安全性分析密码分析者攻击RSA体制的关键在于分解n,若分解成功使n=p×q,则可以算出φ(n)=(p-1)×(q-1),然后由公开的e,解出秘密的d;若使RSA安全7、,p与q必为足够大的素数,使分析者没有办法在多项式时间内将n分解出来,建议选择p和q大约是100位的十进制素数,模n的长度要求至少是512比特;RSA算法的安全性分析EDI攻击标准使用的RSA算法中规定n的长度为512至1024比特位之间,但必须是128的倍数;国际数字签名标准ISO/IEC9796中规定n的长度位512比特位;为了提高加密速度,通常取e为特定的小整数,如EDI国际标准中规定e=216+1;ISO/IEC9796中甚至允许取e=3;这时加密速度一般比解密速度快10倍以上;RSA算法的安全性分析为了抵抗现有的整数分解算法,对RSA模n的素因子8、p和q还有如下要求:(1)9、p-q10、很大,通常p和q的长度相同;(
5、ed=Mmodn;2)对于所有M6、则可以算出φ(n)=(p-1)(q-1),然后由公开的e,解出秘密的dRSA算法举例设p=7,q=17,n=7*17=119;参数T={n=119};φ(n)=(7-1)(17-1)=96;选择e=5,gcd(5,96)=1;计算d,d*e=1mod96;d=77;因为77×5=385=4×96+1设:明文m=19加密:(19)5mod119=66解密:(66)77mod119=19RSA算法的安全性分析密码分析者攻击RSA体制的关键在于分解n,若分解成功使n=p×q,则可以算出φ(n)=(p-1)×(q-1),然后由公开的e,解出秘密的d;若使RSA安全7、,p与q必为足够大的素数,使分析者没有办法在多项式时间内将n分解出来,建议选择p和q大约是100位的十进制素数,模n的长度要求至少是512比特;RSA算法的安全性分析EDI攻击标准使用的RSA算法中规定n的长度为512至1024比特位之间,但必须是128的倍数;国际数字签名标准ISO/IEC9796中规定n的长度位512比特位;为了提高加密速度,通常取e为特定的小整数,如EDI国际标准中规定e=216+1;ISO/IEC9796中甚至允许取e=3;这时加密速度一般比解密速度快10倍以上;RSA算法的安全性分析为了抵抗现有的整数分解算法,对RSA模n的素因子8、p和q还有如下要求:(1)9、p-q10、很大,通常p和q的长度相同;(
6、则可以算出φ(n)=(p-1)(q-1),然后由公开的e,解出秘密的dRSA算法举例设p=7,q=17,n=7*17=119;参数T={n=119};φ(n)=(7-1)(17-1)=96;选择e=5,gcd(5,96)=1;计算d,d*e=1mod96;d=77;因为77×5=385=4×96+1设:明文m=19加密:(19)5mod119=66解密:(66)77mod119=19RSA算法的安全性分析密码分析者攻击RSA体制的关键在于分解n,若分解成功使n=p×q,则可以算出φ(n)=(p-1)×(q-1),然后由公开的e,解出秘密的d;若使RSA安全
7、,p与q必为足够大的素数,使分析者没有办法在多项式时间内将n分解出来,建议选择p和q大约是100位的十进制素数,模n的长度要求至少是512比特;RSA算法的安全性分析EDI攻击标准使用的RSA算法中规定n的长度为512至1024比特位之间,但必须是128的倍数;国际数字签名标准ISO/IEC9796中规定n的长度位512比特位;为了提高加密速度,通常取e为特定的小整数,如EDI国际标准中规定e=216+1;ISO/IEC9796中甚至允许取e=3;这时加密速度一般比解密速度快10倍以上;RSA算法的安全性分析为了抵抗现有的整数分解算法,对RSA模n的素因子
8、p和q还有如下要求:(1)
9、p-q
10、很大,通常p和q的长度相同;(
此文档下载收益归作者所有