网络安全-RSA算法

1.RSA算法是非对称算法,密钥越长,越难破解。
2.互质关系(互质即除了1这个公因子,没有其它公因子)
(1)任何两个质数构成互质关系,比如5,13
(2)一个数为质数,另一个数只要不是它的前者的倍数,就可以构成互质关系。
(3)若两个数中,最大的数是质数,则两者构成互质关系,如57和97
(4)1和任何一个自然数构成互质关系,如1和99
(5)p是大于1的整数,则p和p-1构成互质关系,如12和13
(5)p是大于1的奇数,则p和p-2构成互质关系,如15和17
3.例子
密钥的生成过程

  1. 随意选择两个大的素数p和q,p不等于q,计算n = pq.

  2. 根据欧拉函数的性质3,求得r=φ(n)=φ§φ(q)=(p-1)(q-1).

  3. 选择一个小于r的整数e,且e与r互素;并求得e关于r的模反元素,命名为d.(模反元素存在,当且仅当e与r互质; 求d令ed≡1(mod r))

  4. 将p和q的记录销毁
      其中(n,e)是公钥,(n,d)是私钥. 例如:

  5. A随机选两个不相等的质数61和53,并计算两数的积n=61*53=3233,n的长度就是密钥长度。3233的二进制是110010100001,一共12位,
    所以这个密钥就是12位. 实际应用中,RSA密钥一般是1024位,重要的场合是2048位.

  6. 计算n的欧拉函数; φ(n)=(p-1)(q-1)=60*52=3120.

  7. A在1到3120上随机选择了一个随机数e=17,与3120互素.

  8. 计算e对φ(n)的模反元素d,即时,ed-1=kφ(n)。
    即使求解:17x+3120y=1.用扩展欧几里得算法求解。可以算出一组解(x,y)=(2753,-15),即d=2753. 公钥(3233, 17),私钥(3233,2753)
      至此完成计算.
      4.补充
      (1)模反元素:如果两个正整数a和n互质,可以找到整数b,使得ab-1被n整除(即ab被n整除的余数是1),b称为a的模反元素。
      (2)欧拉函数
     欧拉函数 φ(n)定义为小于n且与n互素的正整数的个数,n为素数,则φ(n)=n-1
     n=p乘q, (p,q都是素数)
     φ(n)=φ(pq)=φ(p)φ(q)
     φ(n)=(p-1)
    (q-1)
     eg1:
     15=3
    5
     8=24
     小于15且与15互素的个数为8个。
     5.RSA算法实现的具体步骤
     (1)随机选择两个不等的质数p,q
     (2)计算n=p
    q
     (3)在计算n的欧拉函数φ(n)
     (4)随机选择一个整数e,1<e<φ(n),其中e与φ(n)互素
     (5)计算e对于φ(n)的模反元素d, edmodφ(n)=1
     (6)公钥{e,n},私钥{d,n}
     加密:C=M^e modn
     解密:M=C^dmod n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值