欢迎来到天天文库
浏览记录
ID:53432204
大小:371.00 KB
页数:13页
时间:2020-04-19
《RSA公钥密码算法的加密和解密.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、RSA公钥密码算法的加密和解密RSA公钥密码算法RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者RonRivest,AdiShamir,LeonardAdleman的名字首字母命名。其安全性是基于大整数因子分解的困难性。一、RSA算法1、RSA算法描述假设m为要传送的报文。选取两个大素数p,q(2)计算n=pq,(n)=(p-1)(q-1)(3)随机选取e:12、密钥加密算法发送方:(1)获取公钥e,对明文m加密(2)计算密文c≡memodn(3)发送密文c解密算法接收方:(1)接收密文c(2)利用私钥d解密,恢复明文mm≡cdmodn例子已知p=3,q=11,明文m.(1)求密钥;(2)写出相应的加密算法和解密算法;(3)对明文m=8加密,解密。解:n=p×q=33,且(n)=(p-1)(q-1)=20取e=7,e满足满足13、3)加密算法:密文c=m7mod33解密算法:明文m=c3mod33对m=8加密密文c=87mod33=2097152mod33=2对c=2解密明文m=23mod33=8RSA算法中的计算问题1.RSA的加密与解密过程RSA的加密、解密过程都为求一个整数的整数次幂,再取模。如果按其含义直接计算,则中间结果非常大,有可能超出计算机所允许的整数取值范围。而用模运算的性质:(a×b)modn=[(amodn)×(bmodn)]modn就可减小中间结果密钥产生确定两个素数p和q选择e或d计算另外一个素数选取为了避免攻击者用穷举法求出p和q,4、应该从足够大的集合中选取p和q。即p和q必须是大素数。没有产生任意的大素数的有效技术,通常的作法是随机选取一个需要的数量级的奇数并检验这个数是否是素数。若不是则挑选下一个随机数直至检测到素数为止。RSA的安全性对RSA的攻击方法主要有以下三种:1.强力攻击(穷举法):尝试所有可能的私有密钥2.数学分析攻击:有多种数学攻击方法,其本质等价于试图分解两个素数的乘积3.计时攻击:记录计算机解密消息所用的时间。谢谢!
2、密钥加密算法发送方:(1)获取公钥e,对明文m加密(2)计算密文c≡memodn(3)发送密文c解密算法接收方:(1)接收密文c(2)利用私钥d解密,恢复明文mm≡cdmodn例子已知p=3,q=11,明文m.(1)求密钥;(2)写出相应的加密算法和解密算法;(3)对明文m=8加密,解密。解:n=p×q=33,且(n)=(p-1)(q-1)=20取e=7,e满足满足13、3)加密算法:密文c=m7mod33解密算法:明文m=c3mod33对m=8加密密文c=87mod33=2097152mod33=2对c=2解密明文m=23mod33=8RSA算法中的计算问题1.RSA的加密与解密过程RSA的加密、解密过程都为求一个整数的整数次幂,再取模。如果按其含义直接计算,则中间结果非常大,有可能超出计算机所允许的整数取值范围。而用模运算的性质:(a×b)modn=[(amodn)×(bmodn)]modn就可减小中间结果密钥产生确定两个素数p和q选择e或d计算另外一个素数选取为了避免攻击者用穷举法求出p和q,4、应该从足够大的集合中选取p和q。即p和q必须是大素数。没有产生任意的大素数的有效技术,通常的作法是随机选取一个需要的数量级的奇数并检验这个数是否是素数。若不是则挑选下一个随机数直至检测到素数为止。RSA的安全性对RSA的攻击方法主要有以下三种:1.强力攻击(穷举法):尝试所有可能的私有密钥2.数学分析攻击:有多种数学攻击方法,其本质等价于试图分解两个素数的乘积3.计时攻击:记录计算机解密消息所用的时间。谢谢!
3、3)加密算法:密文c=m7mod33解密算法:明文m=c3mod33对m=8加密密文c=87mod33=2097152mod33=2对c=2解密明文m=23mod33=8RSA算法中的计算问题1.RSA的加密与解密过程RSA的加密、解密过程都为求一个整数的整数次幂,再取模。如果按其含义直接计算,则中间结果非常大,有可能超出计算机所允许的整数取值范围。而用模运算的性质:(a×b)modn=[(amodn)×(bmodn)]modn就可减小中间结果密钥产生确定两个素数p和q选择e或d计算另外一个素数选取为了避免攻击者用穷举法求出p和q,
4、应该从足够大的集合中选取p和q。即p和q必须是大素数。没有产生任意的大素数的有效技术,通常的作法是随机选取一个需要的数量级的奇数并检验这个数是否是素数。若不是则挑选下一个随机数直至检测到素数为止。RSA的安全性对RSA的攻击方法主要有以下三种:1.强力攻击(穷举法):尝试所有可能的私有密钥2.数学分析攻击:有多种数学攻击方法,其本质等价于试图分解两个素数的乘积3.计时攻击:记录计算机解密消息所用的时间。谢谢!
此文档下载收益归作者所有