rsa非对称加密算法简介

一、应用场景

对接第三方系统,第三方系统的接口身份验证的token定期会更新,第三方将rsa非对称加密后的token发给我方系统。后续的接口数据仍用对称加密。兼顾安全性与效率。

二、算法简介

RSA算法依赖于欧拉定理,一个简化版本为大致为 a 和 p 互质,那么有:

具体算法流程如下:

a 的 p-1 次方 对 p 取余为1,(a 的 p-1次方减去1可以整除 p

  1. 找到互质的两个数, p 和 q, 计算 N = p*q

  2. 确定一个数 e, 使得 e 与 (p-1)(q-1) 互质, 此时公钥为 (N, e), 告诉给对方

  3. 确定私钥 d, 使得 e*d-1能够被(p-1)(q-1)整除

  4. 消息传输方传输消息 M, 加密密文C为: 

  5. 消息接受方通过收到密文消息 C, 解密消息 M:

三、手工演算

取两个素数,p=11,q=3

1、e的取值过程

N=33, (p-1)*(q-1) = 20,取一个与20互质的数字,比如3.

公钥确定(N=33,e=3)

2、确定私钥d

取一个满足:e*d-1能够被(p-1)*(q-1)整除的,即(3*d-1) % 20 = 0,d可以取7、27、47、67等。比如取7

3、加密解密过程

需要加密的消息为M,M=8。加密得到密文C=8^3%33=17

解密时,得到明文M=17^7%33

四、参考博客:

RSA 非对称加密算法详细介绍_rsa非对称加密算法-CSDN博客

RSA ~ 非对称加密算法_rsa非对称加密-CSDN博客

五、后续待整理

具体加密代码部分

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值