二、RSA加密

本文介绍了RSA加密的基础,包括模运算规则、数论基础以及RSA密码系统的概念。详细讲解了如何利用公钥和私钥进行加密和解密,并给出了多个RSA相关题目及其解题步骤,涉及已知n、e、c求m,已知p、q、e求d等实际问题的解决方法。
摘要由CSDN通过智能技术生成

1 数论基础

参考链接:https://www.freebuf.com/articles/web/257835.html

1.1 模运算规则

模运算与基本四则运算有些相似,但是除法例外。其规则如下:

(a + b) % p = (a % p + b % p) % p
(a - b) % p = (a % p - b % p) % p
(a * b) % p = (a % p * b % p) % p
(a ^ b) % p = ((a % p)^b) % p

结合律:

((a+b) % p + c) % p = (a + (b+c) % p) % p
((a*b) % p * c)% p = (a *(b*c)%p) % p

交换律:

(a + b) % p = (b + a) % p
(a * b) % p = (b * a) % p

分配律:

((a +b)% p * c) % p = ((a * c) %p + (b * c) % p) % p

重要定理:
a ≡ b(mod n) 表示ab对模n同余。
是数论中表示同余的符号,b mod n 是表示 bn 取余。

若a≡b (% p),则对于任意的c,都有(a + c)(b + c) (%p)
若a≡b (% p),则对于任意的正整数c,都有(a * c)(b * c) (%p)
若a≡b (% p),c≡d (% p),则 (a + c)(b + d) (%p)(a - c)(b - d) (%p)(a * c)(b * d) (%p)

最大公因子:

两个数互素是指:除了它们除了1​外没有共同的因子。如果an的最大公因子等于1,那么可写作
$gcd(a,n)=1$

欧几里得算法:
又称碾转相除法,我们通常使用该方法计算最大公因子。

欧几里得扩展算法:
如果gcd(a, b) = c,则存在x, y,使得c = ax + by

同余:
两个整数a、b,若它们除以整数m所得的余数相等,则称a与b对于模m同余或a同余于b模m。 记作:a≡b (mod m), 读作:a同余于b模m,或读作a与b对模m同余,例如26≡2(mod 12)。

模的逆元:
简单来说,求a的逆,就是找一个 x x x,使得 1 = ( a ∗ x ) ( m o d n ) 1 = (a*x){\pmod n} 1=(ax)(modn),也可记作 a − 1 ≡ x ( m o d n ) a^{-1} \equiv x{\pmod {n}} a1x(modn)

费马小定理和欧拉定理:
费马小定理是数论中的一个定理:假如 a {a} a 是一个整数, p {p} p 是一个质数,那么 a p − a {a^{p}-a} apa p p p 的倍数,可以表示为 a p ≡ a ( m o d p ) a^{p}\equiv a{\pmod {p}} apa(modp) 如果a不是p的倍数,这个定理也可以写成 a p − 1 ≡ 1 ( m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值