【密码基础】RSA算法及简单计算

常见题目类型:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本原理:

素数 模运算 定理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

a+b mod n = (a mod n+b mod n) mod n
a-b mod n = (a mod n-b mod n) mod n
==a×b mod n = (a mod n×b mod n) mod n==(这个求模的结合律经常用于解密时简化大指数计算)

在这里插入图片描述

RSA数学原理

在这里插入图片描述

欧拉函数:

素数的欧拉函数值为该数本身减1
两个素数的积的欧拉函数结果是这两个数各自的欧拉函数值的积。

在这里插入图片描述
在这里插入图片描述

解密的证明:

已知:c = me mod n,则me=k*n+c
所以:c=me-k*n
同时:ed=k* Φ(n) +1
则解密过程为:
cd =(me-k*n)d mod n
	=(med-#*k*n++ (k*n)d)mod n
=mkφ(n)+1mod n
=mkφ(n) m mod n
=1×m=m
注意理解m,c都是小于n的

计算

举例:p=5,q=3,明文M=2,写出RSA加密过程(公钥:(e,n)、私钥:(d,n))
n=pq=15;
φ(n)=(p-1)
(q-1)=8;
加密:C=M^e mod n (e取和φ(n)互素的随意数,即和8互素的数,可以取e=3)
则C=2^3 mod 15=8
解密:M=C^d mod n
d需要满足模反:ed mod φ(n)=1

注:求d有三种方法:
① 凑数,尝试法
②扩展的欧几里得

在这里插入图片描述
【如此题】
3d-8k=1 ①
3d-2k=1 ② 8%3=2
d-2k=1 ③ 3%2=1 (交错着互模,剩下余数)

k=1=0代回③得d=1
d=1代回②得k=1
k=1代回①得d=3 …

③公式代入(也是尝试代数凑)
因为ed mod φ(n)=1
即ed-φ(n)*k=1;
*d=[φ(n)k+1]/e
不断带入k=1,2…,直到式子能整除,得出d.

【如此题】
k=1,d=3;
k=4,d=11;
(若要求e≠d,则取d=11)

则:公钥对:(3,15)
私钥对:(11,15)
加密:2^3 mod 15 =8;
解密:8^11 mod 15=2;(把8的11次方拆开运算)
加解密正确

RSA算法的安全性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值