Affine Cipher
Affine Cipher是基于模运算的一种cipher,其公式为:
Y = aX + b mod m
Secret key: (a, b)
为什么这cipher生效呢?
模运算
定义模运算符
a mod n
等于a除以n时的余数。
使用“同余”这个术语
a ≡ b (mod n)
举个例子
100 ≡ 34 (mod 11)
也可以写成
100 ≡ 1 (mod 11)
100除以11余1
b被称为a mod n的残差,因为它可以表示为:a = qn + b。
举个例子:
-12 ≡ -5 ≡ 2 ≡ 9 (mod 7)
定义Zn ={0,1,…,n-1}
If a+b ≡ a+c (mod n) then b ≡ c (mod n)
but if ab ≡ ac (mod n) then b ≡ c (mod n) only if a is relatively prime to n。
举个例子:
7 x 11 ≡ 7 x 5 (mod 6) 11 ≡ 5 (mod 6)
– 9 x 3 ≡ 9 x 5 (mod 6) but 3 ! ≡ 5 (mod 6)
那么什么是互质呢?
Greatest Common Divisor (GCD) 最大公约数
a和b的GCD (a,b)是能同时除以a和b的最大数,像 GCD(60,24) = 12