RSA破解

RSA基础理论

RSA是MIT的三名研究员罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年提出的非对称加密算法,该算法被其三人姓氏首字母冠名。

RSA算法原理

RSA非对称加密是根据数论理论,使用两个较大的素数,通过指数运行进行的一种信息处理方法。使用公钥将明文进行指数运算,处理成密文为加密过程;使用私钥将密文处理成明文的运算为解密过程。

RSA使用了两个超大素数 p p p q q q,然后得到其乘积 n = p × q n = p\times q n=p×q。根据欧拉函数可知 φ ( n ) = ( p − 1 ) ( q − 1 ) \varphi(n) = (p-1)(q-1) φ(n)=(p1)(q1)
选取一个公钥 d d d,要求与 n n n互素,且小于 n n n作为公钥,公开其{ d d d, n n n}为公钥对。一般选择 d d d为65537。

根据公钥 d d d,求出 d d d的模板数 e e e,使 e × d ≡ 1 m o d    φ ( n ) e\times d\equiv1\mod \varphi(n) e×d1modφ(n),私钥对{ e e e, n n n}保留。这里有一个概念要厘清。私钥私钥对并不是同一概念。保存私钥时不但保存有公钥对还同时保存有私钥对的文件才被称之为私钥。换句话来说,公钥可以从私钥中导出(不是计算出,只是导出,取部分值)。

其加密过程非常简单:

c = m d m o d    n c = m^d\mod n c=mdmodn
m m m为明文信息, c c c是加密后的密文,用于在不安全环境下传输。

解密过程同样简单:

m 1 = c e m o d    n

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值