摘自:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 上一次,我介绍了一些数论知识。 有了这些知识,我们就可以看懂RSA算法。这是目前地球上最重要的加密算法。 六、密钥生成的步骤 我们通过一个例子,来理解RSA算法 ...
分类:
编程语言 时间:
2020-03-18 13:51:19
阅读次数:
65
2020年01月27日18:36:47 1. 欧几里得算法 2. 费马小定理 3. 扩展欧几里得算法 4. 欧拉函数 5. 扩展$\textrm {CRT}$ 6. $\textrm{Lucas}$定理 7. 扩展$\textrm{Lucas}$ 8. $\textrm{BSGS}$ 9. $\te ...
分类:
其他好文 时间:
2020-01-28 10:48:57
阅读次数:
85
题目 给定两个整数 $a,c,m$ 请求出模方程 $$ax\equiv c\mod m\tag{(1)}$$ 的最小正整数解。 分析 我们构造方程 $$ax\equiv 1\mod m\tag{(2)}$$ 不难发现,如果我们能求出 $(2)$ 中的一个解,将其乘上 $c$ 即可得到 $(1)$ 的 ...
分类:
编程语言 时间:
2019-10-21 22:10:26
阅读次数:
110
费马小定理 $a^{p 1}\equiv1\pmod{m}\ (p是质数)$ 求逆元 方法一:扩展欧几里得算法 前提:$a$和$p$互质 原理:$a x\equiv1\pmod{p} \\ a x+p y=1$ $x$就是我们要求的逆元 方法二:费马小定理 前提:$a$和$p$互质且$p$为素数 原 ...
分类:
其他好文 时间:
2019-10-13 00:44:50
阅读次数:
158
▎裴蜀定理 这个定理很简洁,就是关于x,y(都是整数)的不定方程在下面的情况下: 必定有解。 这只是个前置知识,就不证明了(主要是小编太菜)。 ▎不定方程 考虑方程ax+by=c的解的情况: 若c=gcd(a,b),那么依照裴蜀定理有解; 若c=k*gcd(a,b),先两边同除k,就会转化成标准形式 ...
分类:
编程语言 时间:
2019-08-28 17:15:04
阅读次数:
119
偶然看到大神Katoumegumi的欧几里得推导过程,感觉非常接地气。借此收藏。 对于一个方程a?x+b?y=gcd(a,b) 来说,我们可以做如下的推导: 设有a?x1+b?y1=gcd(a,b) ; 同时我们有b?x2+(a%b)?y2=gcd(b,a%b) ; 对于这个方程组,我们希望知道的是 ...
分类:
编程语言 时间:
2019-08-23 00:20:59
阅读次数:
90
对于 ax+by=gcd(a,b) 这样的方程,可以用扩展欧几里得算法exgcd求出一组通解。 根据欧几里得求gcd: gcd(a,b)=gcd(b,a%b) 可得 bx+(a%b)y=gcd(b,a%b) 根据 a%b=a?(a/b)?b 可得 bx+ay?(a/b)b?y=gcd(b,a%b) ...
分类:
编程语言 时间:
2019-08-14 14:51:39
阅读次数:
120
朴素的欧几里得算法大家应该知道 $gcd(a,b)$表示a,b的最大公约数 朴素的欧几里得算法其实就是所谓的辗转相除法 辗转相除法 $gcd(a,b)=gcd(b,a$ $mod$ $b)$ 证明如下: $设r=a$ $mod$ $b$ $=a \lfloor\frac{a}{b}\rfloor b ...
分类:
编程语言 时间:
2019-08-10 21:46:56
阅读次数:
91
线性不定方程解法 扩展欧几里得算法: 扩展欧几里得算法: 考虑求这个不定方程的一个解: ax+by=c 二元一次不定方程: 二元一次不定方程: 形如: ax+by=c,a≠0,b≠0 的不定方程称为二元一次不定方程。 n元一次不定方程: n元一次不定方程: 形如: a1x1+a2x2+ ???? + ...
分类:
其他好文 时间:
2019-08-07 09:31:47
阅读次数:
141
扩展欧几里得算法 顾名思义,扩欧就是扩展欧几里得算法,那么我们先来简单地回顾一下这个经典数论算法。 对于形如$ax+by=c$的不定方程,扩展欧几里得算法可以在$O(5log_{10}\min\{a,b\})$的时间内找到该方程的一组特解,或辅助$gcd$判断该方程无解。 对于扩欧的详细讲解,可见 ...
分类:
其他好文 时间:
2019-04-12 16:16:00
阅读次数:
163