加密算法y=(ax+b)mod N
解密算法x=
*(y-b)mod N(此处的
为a关于N的乘法逆元,不是幂的概念)
同余的几个性质:
1,若
,对于任意整数
,



在模运算下,除法有些特殊:
若
,
,则
。
若
,则
。
逆元的定义:
,则称
是
关于N的逆元。
注意这里
是正整数。
逆元是一组解,不光是一个数。例如3*3%8=1,3*11%8=1,3*19%8=1,任何3+8*k的整数都是3模8的乘法逆元。
如何求
,涉及的知识挺多,还没想好怎么写,丢番图方程,贝祖定理(又译裴蜀定理),扩展欧几里得算法。
存在需要满足(a,n)=1。
python中可以这么求逆元
pow(a,-1,n)