阅读《密码学与网络安全》的乘法逆时,书上一笔带过:可以证明,在集合Zn中当且仅当gcd(n,a) = 1时,a具有一个乘法逆
不解如何证明,搜索到比较好的一个回答:
https://www.zhihu.com/question/27611042
引用如下:
假设x是a对于b的乘法逆元,则有 a*x = 1 mod b, 即x是方程 a*x + b*y = 1的一个整数解。
但是形如 a*x + b*y 的最小正整数为gcd(a,b)。
此结论可以通过扩展欧几里得算法(EEA)的正确性得到。
而1又是最小的非零自然数,所以只有当gcd(a,b)=1时,a才有对于b的乘法逆元。
这里我之前学习忽略了一点就是:扩展的欧几里得算法的s和t2个待求变量的更新一直满足 s * a + t * b = r 成立的。但是r 是变成gcd(a,b),再往下递减就是变成0的。所以说
a * x + b * y 的最小正整数是gcd(a,b),于是可以得证。
关于扩展欧几里得算法,可以跳转至:
http://blog.youkuaiyun.com/qq_33826977/article/details/73527427
附个小插曲:
从小学奥数学到就知道一个整数n%3 = n各个数位上的和 %3 ,但是一直不知道怎么来的。
在学习模的性质时候才看到,发现数学太奇妙了。
简而言之,就是10的n次幂,模,3 ,999...999, 这几个东西就可以证明出来啦!