没有合适的资源?快使用搜索试试~ 我知道了~
首页辗转相除法计算乘法逆元及C语言实现-密码学
资源详情
资源评论
资源推荐

乘法加密
乘法加密(26 个字母):
密钥:k(一般为 1 3 5 7 9 11 15 17 19 21 23 25)
明文对应下标:i
密文对应下标:j
乘法逆元:x
满足关系:i*k mod 26 = j
j*x mod 26 = i
k*x mod 26 = 1
乘法解密(例:k = 26)
(参考 hps://wenku.baidu.com/view/ada3397f2f60ddccdb38a04b.html)
辗转相除法:26 = 9 * 2 + 8
9 = 8 * 1 + 1
对商逆序排列:
C 语言实现计算乘法逆元(正整数)
#define N 20
//
计算
a
模
n
的逆元 即求解
ax≡1(mod n)
中的
x
int func(int a, int n) {
int quo[N] = { 0 }, mod[N] = { 0 };
int q = n / a;
int m = n % a;
quo[0] = q;
mod[0] = m;
int count;
for (count = 0; m != 1; count++) {
q = a / m;
m = a % m;
quo[count + 1] = q;
mod[count + 1] = m;
a = mod[count];
}
int bn[N] = { 1, quo[count] };

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0