RSA算法

简介
RSA( 发明数学家名字第一字母合起来的简写) 算法属于非对称加密算法,亦即加解密使用的密钥不同,使用公钥密码体制,加密时使用公钥,解密时使用私钥,RSA 基于欧拉定理实现,算法可用来加密、数字签名及交换密钥等。
整体加解密流程
加解密流程

身份验证

身份验证加数字加密


欧拉函数与欧拉定理
欧拉函数得到的是某个整数n ,小于等于其本身互质的整数有多少个,用φ(n) 来表示。当n=1 时,φ(n)=1,1 和任何数构成互质关系;当n 为质数时,φ(n)=n-1; n 为质数p 的某一次方时,亦即n = p^k (k >= 1), φ(n)= p^k – p^(k-1) = p^k*(1 – 1/p) ;当n 为两个质数p1 p2 之积时,φ(n) =φ(p1p2) =φ(p1)* φ(p2) ;由于任意的正整数,都可以写成一系列的质数的积n = p1^k1 * p2^k2 * … *pr^kr φ(n) = n*(1-1/p1)*(1-1/p2)*…*(1-1/pr) 。欧拉定理指出,如果两个正整数a n 互质,则a^φ(n) % n = 1
RSA 密钥生成
P q 为质数,n=p*q ,欧拉定义φ(n) = (p-1) * (q-1) e d 满足e*d = 1 + k*φ(n), 因此C^d = M^(e*d) = M*(M^φ(n))^k ,当mod n M 如果和n 互质M^φ(n)%n = 1( 不互质时也成立,n 的生成特性?e 常用值65537)

RSA 加密算法
在使用RSA 加解密时,要求明文不能超过对应的n

RSA 解密算法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值