RSA算法

本文介绍了RSA算法的基本原理,包括其非对称加密的特点、基于欧拉定理的实现方式,以及密钥生成过程。同时概述了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为两个质数p1p2之积时,φ(n) =φ(p1p2) =φ(p1)* φ(p2);由于任意的正整数,都可以写成一系列的质数的积n = p1^k1 * p2^k2 * … *pr^krφ(n) = n*(1-1/p1)*(1-1/p2)*…*(1-1/pr)。欧拉定理指出,如果两个正整数an互质,则a^φ(n) % n = 1
RSA密钥生成
Pq为质数,n=p*q,欧拉定义φ(n) = (p-1) * (q-1)ed满足e*d = 1 + k*φ(n),因此C^d = M^(e*d) = M*(M^φ(n))^k,当mod nM如果和n互质M^φ(n)%n = 1(不互质时也成立,n的生成特性?e常用值65537)

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

RSA解密算法


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值