信息安全-相关数学知识

数论和有限域

b|a: b整除a,b是a的因子。

a|b,b|c,则a|c。

欧几里得算法 Euclid & GCD

两个整数称为互素的,如果它们唯一的正整数公因子为1.

▶️ gcd(a,b):a,b的最大公因子。gcd(0,0)=0.

gcd(a,b)=max[k,其中k|a且k|b]

所求最大公因子为正数,一般来说gcd(a,b)=gcd(|a|,|b|),同样,因为0可被所有非零整数整除,所以gcd(a,0)=|a|。

如果gcd(a,b)=1,那么a和b互素

▶️ 【基于java】: a mod b(仅正数)和a%b(结果有正有负)相差不多,均表示求余数。 (a,b模c同余)

▶️ 欧几里得算法

d= GCD(a,b) = GCD(b, a mod b) (b ,a和b的余数)

A=a, B=b
while B>0
  R = A mod B
  A = B, B = R
return A (B=0,返回A)
Example GCD(1970,1066)
1970 = 1 x 1066 + 904   gcd(1066, 904)
1066 = 1 x 904 + 162    gcd(904, 162)
904 = 5 x 162 + 94      gcd(162, 94)
162 = 1 x 94 + 68       gcd(94, 68)
94 = 1 x 68 + 26        gcd(68, 26)
68 = 2 x 26 + 16        gcd(26, 16)
26 = 1 x 16 + 10        gcd(16, 10)
16 = 1 x 10 + 6         gcd(10, 6)
10 = 1 x 6 + 4          gcd(6, 4)
6 = 1 x 4 + 2           gcd(4, 2)
4 = 2 x 2 + 0           gcd(2, 0)[一直到余数=0,这里结果为2]

模运算

a模n:a除以n所得的余数。

如果,则n|a。

(a+b) mod n = [a mod n + b mod n] mod n

(a-b) mod n = [a mod n - b mod n] mod n

(a×b) mod n = [a mod n × b mod n] mod n

乘法逆

a的乘法逆元:与a相乘得到单位元的值。

群、环、域

,二元运算的集合。满足1封闭性,2结合律,3单位元,4逆元。如果群的元素个数有限,则成为有限群。群的就等于群中元素的个数。否则,称为该群为无限群。

如果群满足5交换律,称为交换群,即阿贝尔群。

求幂运算为重复运用群中的运算

环{R,+,×}一个有两个二元运算的集合。a封闭率b结合律c分配率。

乘法交d换律和乘法e单位元。f无零因子:如果R中有元素a、b,且ab=0,则必有a=0或b=0。

域,整环,满足12345+abcdef,

存在乘法逆元,

信息安全-相关数学知识_第1张图片
群环域.png

有限域

有限域的阶(元素的个数)必须是一个素数的幂,n为正整数。阶为的有限域一把记为,n=1,GF(p),与n>1时有着不同的结构。

Galois fields(伽罗瓦域)

  • –GF(p) ( for n=1)
  • – (for p=2 )

GF(p)是整数集合{0,1, … , p-1} (整数集合) ,运算是模p的算术运算

如果a和b互素,则b有模a的乘法逆元。【注意:互素是前提】

即如果gcd(a,b)=1,那么b有模a的乘法逆元。对于b

(ax+by) mod a = [ax mod a + by moda ] mod a =by mod 1

,因此用扩展欧几里得算法。

扩展的欧几里得算法及求乘法逆元

不仅计算出最大公因子d,还应该计算出另外两个整数x,y,它们满足如下方程:

(其中,x和y具有相反的正负号。)

递推公式:和

余数 公式 x,y 满足

对于求乘法逆的例子,由于要求a,b为素数,最后的结果一般如下:

待处理余数 公式 x y
d=1 ✔️

对于任意的n,如果运用扩展欧几里得算法可以用于求取内的乘法逆元。如果运用扩展欧几里得算法于方程nx+by=d,并且得到d=1,则在内有

你可能感兴趣的:(信息安全-相关数学知识)