当前位置:   article > 正文

逆向分析中的密码学---RSA_逆向rsa私密钥

逆向rsa私密钥

0x01 简介

RSA算法是公钥加密算法,即可用于数据加密也可以用于数字签名。RSA基于一个简单的数论事实,两个大素数相乘十分容易,将其进行因式分解确实困难的。这篇文章不涉及RSA算法的原理,只涉及RSA算法的流程

0x02 算法流程

流程时挺简单的

  1. 选取两个大素数p和q,为了获得最高安全性,设两数长度一样
  2. 计算n=pq,n称为模
  3. 计算欧拉函数: φ \varphi φ(n)=(p-1)(q-1)
  4. 选取加密密钥e,其与 φ \varphi φ(n)互素。如果选择的e值合适,RSA加解密的速度会加快。e的常用值为3、17、和65537(2^16+1)
  5. 使用扩展欧几里德算法求出e模 φ \varphi φ(n)的逆元d。ed ≡ \equiv 1mod φ \varphi φ(n)
  6. 公钥为e和n,私钥为d,p和q可以丢弃,但是必须保密
  7. 加密消息m时,将其看成一个大整数,并把它分成比n小的数据分组,按 c i c_i ci = m i e m_i^e mie mod n
  8. 解密密文c时,取每个加密后的分组 c i c_i ci 并计算, m i m_i mi = c i d c_i^d cid mod n

0x03 RSA算法的攻击

RSA算法攻击主要还是集中在n的分解,当n位数不足时容易被分解出p,q从而算出密钥d。
常见攻击方式参考:https://www.anquanke.com/post/id/84632

0x04 总结

算法本身比较简单。具体实现得看用什么库实现。

参考:
《加密与解密》

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/907394
推荐阅读
相关标签
  

闽ICP备14008679号