信息安全数学基础
国际知名观众
进儿京儿!
展开
-
扩展欧几里得算法求逆元python代码实现(含递归与非递归算法)
扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展。通常谈到最大公因子时, 我们都会提到一个非常基本的事实: 给予二整数 a 与 b, 必存在有整数 x 与 y 使得ax + by = gcd(a,b)。因此,有两个数a,b,对它们进行辗转相除法,可得它们的最大公约数;然后,收集辗转相除法中产生的式子,倒回去,可以得到ax+by=gcd(a,b)的一组整数特解。以下是扩展欧几里得算法的python实现:1.递归#扩展欧几里得算法 def ext_gcd(a, b): if b =原创 2021-03-04 17:23:49 · 5930 阅读 · 3 评论 -
计算勒让德符号(legendre symbol)代码实现(含运行结果)
勒让德符号,或二次特征,是一个由阿德里安-马里·勒让德在1798年尝试证明二次互反律时引入的函数。勒让德符号定义如下:即,如果(a|p) = 1,a便称为二次剩余(modp);如果(a|p) = −1,则a称为二次非剩余(mod p)。通常把零视为一种特殊的情况。legendre符号的计算公式如下:以下是legendre符号计算的C语言代码实现:#include <stdio.h>int ee(int &a){ int e=0; while(a%2==0){ a原创 2021-03-04 17:08:54 · 10354 阅读 · 2 评论