RSA算法

简介
RSA( 发明数学家名字第一字母合起来的简写) 算法属于非对称加密算法,亦即加解密使用的密钥不同,使用公钥密码体制,加密时使用公钥,解密时使用私钥,RSA 基于欧拉定理实现,算法可用来加密、数字签名及交换密钥等。
整体加解密流程
加解密流程
RSA算法_第1张图片
身份验证
RSA算法_第2张图片
身份验证加数字加密
RSA算法_第3张图片
RSA算法_第4张图片
欧拉函数与欧拉定理
欧拉函数得到的是某个整数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算法_第5张图片
RSA 加密算法
在使用RSA 加解密时,要求明文不能超过对应的n
RSA算法_第6张图片
RSA 解密算法
RSA算法_第7张图片

你可能感兴趣的:(RSA,加密,基础知识)