RSA算法的.pptVIP

  • 5
  • 0
  • 约1.63千字
  • 约 23页
  • 2017-08-20 发布于浙江
  • 举报
RSA算法 ;概况;算法原理;如何确定e,d,n;这样确定的e,d,n是否能使Med mod n=M成立呢?;如果M和n不互素,即gcd(M,n)≠1,即M和n有大于1的公约数。 因为n=pq,而p、q都是素数,不可再分解,所以M一定包含了p或q为因子。 又因为Mn,所以M不可能既是p的倍数又是q的倍数。 不妨设M是p的倍数,M=cp。 由于M不是q的倍数,所以gcd(M,q)=1,则 M?(q) ≡1 mod q ,所以:[M?(q) ] ?(p) ≡1 mod q 即M?(n) ≡1 mod n,即M?(n) =1+kq;M?(n) =1+kq 两边同乘以M=cp,则: M?(n)+1=M+kqcp=M+kcn 把kc看作一个常数,则:M?(n)+1=M+tn 即:M?(n)+1 ≡M mod n,即M?(n) ≡1 mod n 因为ed=1 mod ?(n), 所以: Med ≡ Mk?(n)+1 ≡ M[M?(n) ]kmod n ≡ M[1]kmod n ≡ M mod n 综上,这样的e,d,n可以实现加密C=Me mod n和解密M=Cd mod n;密钥;RSA算法在计算上的可行性;RSA算法在计算上的可行性;素性检验;素性检验;素性检测;Miller-Rabin算法可以确定一个整数是合数,但不能确定其一定是素数。 要找到一个2200左右的素数,在找到素数之前大约要进行ln(2200)/2=70次尝试 在N附近平均每隔lnN个整数就会有一个素数。;RSA算法在计算上的可行性;① 选两个保密的大素数p和q。 ② 计算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数值。 ③ 选一整数e,满足1eφ(n),且gcd(φ(n),e)=1。 ④ 计算d,满足d·e≡1 mod φ(n),即d是e在模φ(n)下的乘法逆元,因e与φ(n)互素,由模运算可知,它的乘法逆元一定存在。 ⑤ 以{e,n}为公开钥,{d,n}为秘密钥。;选p=7,q=17。 求n=p×q=119,φ(n)=(p-1)(q-1)=96。 取e=5,满足1eφ(n),且gcd(φ(n),e)=1。确定满足d·e=1 mod 96且小于96的d,因为77×5=385=4×96+1,所以d为77。 因此公开钥为{5,119},秘密钥为{77,119}。设明文m=19,则由加密过程得密文为 C=195 mod 119≡2476099 mod 119=66 解密为6677mod 119=19;RSA的安全性;RSA-129的故事 ;一批松散组成的因子分解迷,大约有六百多人,分布在二十几个国家。他们经过八个月的努力最后于1994年4月为RSA-129找到了64位数和65位数两个素数因子。 11438 16257 57888 86766 92357 79976 14661 20102 18296 72124 23625 62561 84293 57069 35245 73389 78305 97123 56395 87050 58989 07514 75992 90026 87954 3541 = 34905 29510 84765 09491 47849 61990 38981 33417 76463 84933 87843 99082 0577 * 32769 13299 32667 09549 96198 81908 34461 41317 76429 67992 94253 97982 88533 “The magic words are squeamish ossifrage” ;来自两个方面的威胁;几个建议;其它公钥密码算法

文档评论(0)

1亿VIP精品文档

相关文档