前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RSA加密算法

RSA加密算法

作者头像
偏有宸机
发布2020-11-04 10:15:16
2.5K0
发布2020-11-04 10:15:16
举报
文章被收录于专栏:宸机笔记

公式

公钥 KU

n:两素数pq的乘积(p和q必须保密)。

e:与(p-1)(q-1)互质的数。

pq可以使用工具yafu得出

私钥 KR

de^-1 mod (p-1)(q-1) 的结果 n:同上

密文 c = m^e mod n

明文 m = c^d mod n

脚本

已知 公钥(n, e) 和 密文 c 求 明文 m?

代码语言:javascript
复制
import gmpy2
import binascii
n = 4154220405062524632278989171077190153188438109
# p 和 q通过yafu得出
p = gmpy2.mpz(56898061770151570660943)
q = gmpy2.mpz(73011633012107403650963)
e = gmpy2.mpz(0x10001)
phi_n = (p-1)*(q-1)
d = gmpy2.invert(e, phi_n)
c = gmpy2.mpz(0x346644dfe4c826c07a0ee6e0b2e10862d41aa8)
m = pow(c, d, n)
print("10:\n%s"%m)
m_hex = hex(m)[2:]
print("16:\n%s"%(m_hex,))
print("ascii:\n%s"%(binascii.a2b_hex(m_hex).decode("utf8"),))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 公式
  • 脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档