RSA公开密钥算法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RSA公开密钥算法
教育技术学 王肖肖
RSA加密算法原理
一、产生密钥对
质数(素数)是这样的整数,它除了能表 示为它和1的乘积以外,,计算:n=p*q
然后,随机选择加密密钥e,要求密钥e和(p1)*(q-1)互质,且0<e< (p-1)*(q-1). 最后,计算解密密钥d,要求满足:e*d=1{mod (p1)*(q-1)}(意思是e*d除以(p-1)*(q-1)的余数为1)
可取质数p=2,q=5,则n=p*q=10
然后随机选择加密密钥e,要求e和(p-1)*(q-1)=4互质 且0<e< (p-1)*(q-1),显然,满足e=3满足要求
最后计算解密密钥d,要求满足e*d=1{mod (p-1)*(q-1)}, 其中n和d也互质,根据例一可知等式的意思是3*d除 以4的余数为1,且d和10互质,可取d=7
例1 假设明文信息M=14。
设p=5,q=11,则n=p*q=55 然后随机选择加密密钥e,要和(p-1)*(q-1)=40互质, 且满足0<e<40,可取e=3. 最后,计算解密密钥d,要满足e*d=1{mod (p-1)*(q-1)}, 这句等式的意思是3*d除以40的余数为1. 那么则可以表 示40t+1=3d,使t从1开始取值,可取t=2时,d=27.
则对应的密文是:
C1=m13mod10=13mod10=1 C2=m23mod10=13mod10=1 C3=m33mod10=03mod10=0 C4=m43mod10=53mod10=5 C5=m53mod10=23mod10=8 C6=m63mod10=53mod10=5 所以C=C1C2C3C4C5C6=110585
加密运算:c=memodn=143mod55=49
解密运算:m=cdmodn=4927mod55=14
由于RSA算法速度慢,经常把明文M分成几个等长 数据m1m2m3m4m5..mi。然后对等长数据加密。 例2 明文信息M=key
解题:令a=01,b=02,c=03.....z=26,则 m=key=110525,把m=key分成6个等长数据,则是 m1=1,m2=1,m3=0,m4=5,m5=2,m6=5
其中n和d也要互质,e和n是公钥,对所有使用 者公开,d和n是私用。
二、加密
信息发送者取得对方的公钥e和n后,对明文信 息m进行加密运算可获得加密信息c,对应的密文计 算方法是c= me mod n,然后通过通信渠道发送出 去。
三、解密 接受者利用d和n进行解密,获取明文m,运算方 式:m= cd mod n
接收方接收到密文,然后采用解密密钥对c进行解密。 把密文也分成几个等长部分,然后运算:
M1=c17mod10=17mod10=1 以此类推,可得到明文110525,对应的英文就是key
相关文档
最新文档