前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

RSA

作者头像
TomatoCool
发布2023-07-30 17:25:08
1960
发布2023-07-30 17:25:08
举报
文章被收录于专栏:TomatoCoolTomatoCool

RSA介绍:

  • RSA是一种非对称加密算法,即加密和解密时用到的密钥不同。
  • 加密密钥是公钥,可以公开;解密密钥是私钥,必须保密保存。
  • 基于一个简单的数论事实:两个大质数相乘很容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥;而两个大质数组合成私钥。

RSA步骤:

取两个大质数p和q,相乘得到n

代码语言:javascript
复制
p
q
n = p * q

根据(p-1)*(q-1)得到加密密钥e

代码语言:javascript
复制
1 < e < (p-1)*(q-1)
gcd(e, (p-1)*(q-1)) = 1

根据e和(p-1)*(q-1)得到解密密钥d

代码语言:javascript
复制
1 < d < (p-1)*(q-1)
d = e^-1 mod((p-1)*(q-1))
#  e*d ≡ 1 mod((p-1)*(q-1))
#  e*d % (p-1)*(q-1) = 1

对A加密

代码语言:javascript
复制
B = A^e mod n

对B解密

代码语言:javascript
复制
A = B^d mod n
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023 年 03 月,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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