1. 大整数情况,衡量问题复杂度是输入的整数的位数,衡量效率是位操作的次数。
2. 除法定理:a=qn+r, 余数为r<n;
3. 取模可以划分等价类,[a]n表示模n后余数为a的数即 a+k*n;
例如[3]7=[-4]7=[10]7中,k分别取 0,-1,1. 等价类的代表元是3,3+k*7即等价类的所有的元素
4. 用Zn表示所有的模n的等价类地集合即Zn={[a]n: 0<=a<=n-1},即所有的a代表的那些等价类
5. a=qn,记录为 n|a,即 n是a的约数
6 模运算定义群:群(单位元,逆元,结合律的代数结构:操作加集合)
6.1 定义集合Zn上的群,注意Zn是集合的集合,即Zn中的元素是等价类
如果a~a'(mod n),b~b'(mod n)
则 a+b~a'+b' (mod n) (a+k1*n)+(b+k2*n)=(a+b)+(k1+k2)*n=[a+b]n
a*b~a'*b' (mod n) (a+k1*n)(b+k2*n)=ab+(a*k2+b*k1+k)n=[ab]n, 注意,这里a,b要与n互质,否则ab+(a*k2+b*k1+k)n=k*n即变成了0的等价类
因此定义等价类的加法为其代表元的加法,等价类的乘法为其代表元的乘法[a]n+[b]n=[a+b]n, a[n]*b[n]=[ab]n
例如Z6集合中的元素为[0]6,[1]6,[2]6,..[5]6即每个元素都是一个等价类
[2]mod6 * [5]mod6==[2*5]mod6=[4]mod6
6.2 Zn*的定义, Zn集合中的元素时等价类,这些等价类中所有代表元与n互质的那些等价类的集合即Zn*