现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3...

42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 现代密码学理论与实践 8 章数论入门 苗付友 黄文超 November 11, 2019 课件地址 http://staff.ustc.edu.cn/huangwc/crypto.html 苗付友 黄文超 8 章数论入门 November 11, 2019 1 / 30

Transcript of 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3...

Page 1: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

现代密码学理论与实践第 8 章数论入门

苗付友 黄文超

November 11, 2019

课件地址http://staff.ustc.edu.cn/∼huangwc/crypto.html

苗付友 黄文超 第 8 章数论入门 November 11, 2019 1 / 30

Page 2: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Outline

1 素数、费马定理、欧拉定理

2 素性测试

3 中国剩余定理

4 离散对数

苗付友 黄文超 第 8 章数论入门 November 11, 2019 2 / 30

Page 3: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Outline

1 素数、费马定理、欧拉定理

2 素性测试

3 中国剩余定理

4 离散对数

苗付友 黄文超 第 8 章数论入门 November 11, 2019 3 / 30

Page 4: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

素数

定义:素数整数 p 是素数 ⇔ p 只有因子 ±1 和 ±p。

例:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ...

苗付友 黄文超 第 8 章数论入门 November 11, 2019 4 / 30

Page 5: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

费马定理

定理:费马定理 (又称费马小定理)若 p 是素数,a 是正整数且不能被 p 整除,则

ap−1 ≡ 1 mod p

证明1 定义集合 X1:小于 p 的正整数集合 X1 = {1, 2, 3, . . . , p− 1}2 构造集合 X2 = {a mod p , 2a mod p , . . . , (p− 1)a mod p}3 可证明:X1 = X2

∀x ∈ Z.0 < x < p⇒ xa ̸= 0 mod p∀x, y ∈ Z.0 < x < y < p⇒ xa ̸= ya mod p

4 1× 2× · · · × (p− 1) = a× 2a× · · · (p− 1)a mod p

(p− 1)! = ap−1(p− 1)! mod p

1 = ap−1 mod p苗付友 黄文超 第 8 章数论入门 November 11, 2019 5 / 30

Page 6: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

费马定理

例子a = 7, p = 1972 = 49 = 11 mod 1974 = 121 = 7 mod 1978 = 49 = 11 mod 19716 = 121 = 7 mod 197p−1 = 718 = 716 × 72 = 7× 11 = 1 mod 19

定理:费马定理若 p 是素数,a 是正整数且不能被 p 整除,则 ap−1 ≡ 1 mod p

定理:费马定理 (另一种定义)若 p 是素数,a 是任意正整数,则

ap ≡ a mod p苗付友 黄文超 第 8 章数论入门 November 11, 2019 6 / 30

Page 7: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

欧拉函数

定义:欧拉函数 ϕ(n)小于 n 且与 n 互素的正整数的个数

例 1: ϕ(37)

∵ 37 是素数 ∴ ϕ(37) = 36

例 2: ϕ(35)

小于 35,且与 35 互素的正整数如下:1, 2, 3, 4, 6, 8, 9, 11, 12, 13, 16, 17, 18, 19, 22, 23, 24, 26, 27, 29, 31, 32, 33, 34一共 24 个数,所以 ϕ(35) = 24

苗付友 黄文超 第 8 章数论入门 November 11, 2019 7 / 30

Page 8: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

欧拉函数

性质 1对素数 p, ϕ(p) = p− 1

性质 2对素数 p, q, p ̸= q, n = pq, 则

ϕ(n) = ϕ(p)ϕ(q) = (p− 1)(q− 1)

证明:考虑集合 {1, 2, . . . , (pq− 1)}, 则不与 n 互素的集合是{p, 2p, . . . , (q− 1)p} 和 {q, 2q, . . . , (p− 1)q}, 所以

ϕ(n) = (pq− 1)− (q− 1)− (p− 1)

= pq− (p + q) + 1

= (p− 1)(q− 1)

= ϕ(p)ϕ(q)苗付友 黄文超 第 8 章数论入门 November 11, 2019 8 / 30

Page 9: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

欧拉函数

例:ϕ(21) = ϕ(3)ϕ(7) = (3− 1)× (7− 1) = 12 其中,这 12 个整数为{1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20}

性质 3对素数 p1, p2, ..., pr, p1 < p2 < ... < pr, 及正整数 k1, k2, ..., kr, 满足n = pk1

1 pk22 , ..., pkrr ,则

ϕ(n) =r∏

i=1

pk1−1i (pi − 1)

例:ϕ(8) = ϕ(23) = 22 × 1 = 4ϕ(72) = ϕ(23 × 32) = 22 × 1× 3× 2 = 24

苗付友 黄文超 第 8 章数论入门 November 11, 2019 9 / 30

Page 10: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

欧拉定理

定理:欧拉定理对任意互素的 a 和 n,有:

aϕ(n) ≡ 1 mod n

证明:考虑集合 R = {x1, x2, . . . , xϕ(n)},其中每一个元素 xi,满足gcd(xi, n) = 1,用 a 与 R 中每个元素相乘:

S = {(ax1 mod n), (ax2 mod n), . . . , (axϕ(n) mod n)}

可证明 S = RS 中所有元素 axi 均与 n 互素axi ≡ axj mod n⇒ xi = xj

苗付友 黄文超 第 8 章数论入门 November 11, 2019 10 / 30

Page 11: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

欧拉定理

证明(续):

∵ S = R

∴ϕ(n)∏i=1

(axi mod n) =ϕ(n)∏i=1

xi

∴ϕ(n)∏i=1

axi =

ϕ(n)∏i=1

xi mod n

∴ aϕ(n) ×ϕ(n)∏i=1

xi =

ϕ(n)∏i=1

xi mod n

∴ aϕ(n) = 1 mod n

苗付友 黄文超 第 8 章数论入门 November 11, 2019 11 / 30

Page 12: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

欧拉定理

例子a = 3, n = 10, ϕ(n) = 4, aϕ(n) = 34 = 81 ≡ 1 mod 10

a = 2, n = 11, ϕ(n) = 10, aϕ(n) = 210 = 1024 ≡ 1 mod 11

定理:欧拉定理对任意互素的 a 和 n,有:

aϕ(n) ≡ 1 mod n

定理:欧拉定理 (另一种定义)对任意的 a 和 n,有:

aϕ(n)+1 ≡ a mod n

苗付友 黄文超 第 8 章数论入门 November 11, 2019 12 / 30

Page 13: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Outline

1 素数、费马定理、欧拉定理

2 素性测试

3 中国剩余定理

4 离散对数

苗付友 黄文超 第 8 章数论入门 November 11, 2019 13 / 30

Page 14: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

素性测试

问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。

问:Miller-Rabin 算法的效果如何?答:较好、常用,输出的数不一定是素数,但几乎可以肯定是素数。

Miller-Rabin 算法 引理 0对奇整数 n ≥ 3, 可表示为 n = 2kq + 1,其中 k > 0,q 是奇数

Miller-Rabin 算法 引理 1如果 p 是素数,a 是正整数,且 a < p,则 a2 = 1 mod p 当且仅当

a = 1 mod p or a = −1 mod p

苗付友 黄文超 第 8 章数论入门 November 11, 2019 14 / 30

Page 15: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

素性测试

问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。

问:Miller-Rabin 算法的效果如何?答:较好、常用,输出的数不一定是素数,但几乎可以肯定是素数。

Miller-Rabin 算法 引理 0对奇整数 n ≥ 3, 可表示为 n = 2kq + 1,其中 k > 0,q 是奇数

Miller-Rabin 算法 引理 1如果 p 是素数,a 是正整数,且 a < p,则 a2 = 1 mod p 当且仅当

a = 1 mod p or a = −1 mod p

苗付友 黄文超 第 8 章数论入门 November 11, 2019 14 / 30

Page 16: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

素性测试

问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。

问:Miller-Rabin 算法的效果如何?答:较好、常用,输出的数不一定是素数,但几乎可以肯定是素数。

Miller-Rabin 算法 引理 0对奇整数 n ≥ 3, 可表示为 n = 2kq + 1,其中 k > 0,q 是奇数

Miller-Rabin 算法 引理 1如果 p 是素数,a 是正整数,且 a < p,则 a2 = 1 mod p 当且仅当

a = 1 mod p or a = −1 mod p

苗付友 黄文超 第 8 章数论入门 November 11, 2019 14 / 30

Page 17: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

素性测试

问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。

问:Miller-Rabin 算法的效果如何?答:较好、常用,输出的数不一定是素数,但几乎可以肯定是素数。

Miller-Rabin 算法 引理 0对奇整数 n ≥ 3, 可表示为 n = 2kq + 1,其中 k > 0,q 是奇数

Miller-Rabin 算法 引理 1如果 p 是素数,a 是正整数,且 a < p,则 a2 = 1 mod p 当且仅当

a = 1 mod p or a = −1 mod p

苗付友 黄文超 第 8 章数论入门 November 11, 2019 14 / 30

Page 18: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Miller-Rabin 算法

Miller-Rabin 算法 引理 2设 p 是大于 2 的素数,且 p = 2kq + 1, 其中 k > 0, q 是奇数。设 a 是正整数,且 a < p ,则下面两个条件之一成立:

1 aq = 1 mod p2 ∃j ∈ [1, k].a2j−1q = −1 mod p

证明:∵ p 是素数,∴ ap−1 = 1 mod p。观察如下数列:aq mod p, a2q mod p, a4q mod p, . . . , a2k−1q mod p, a2kq mod p 有如下性质:

1 a2kq = 1 mod p2 每一个数都是前一个数的平方所以下面两条必有一条是正确的:

1 数列的所有数为 12 数列中有些数不为 1,但平方为 1 mod p。

苗付友 黄文超 第 8 章数论入门 November 11, 2019 15 / 30

Page 19: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Miller-Rabin 算法

Miller-Rabin 算法 引理 2设 p 是大于 2 的素数,且 p = 2kq + 1, 其中 k > 0, q 是奇数。设 a 是正整数,且 a < p ,则下面两个条件之一成立:

1 aq = 1 mod p2 ∃j ∈ [1, k].a2j−1q = −1 mod p证明:∵ p 是素数,∴ ap−1 = 1 mod p。观察如下数列:aq mod p, a2q mod p, a4q mod p, . . . , a2k−1q mod p, a2kq mod p 有如下性质:

1 a2kq = 1 mod p2 每一个数都是前一个数的平方所以下面两条必有一条是正确的:

1 数列的所有数为 12 数列中有些数不为 1,但平方为 1 mod p。

苗付友 黄文超 第 8 章数论入门 November 11, 2019 15 / 30

Page 20: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Miller-Rabin 算法

Test (n)1 找出整数 k, q, 其中 k > 0,q 是奇数,使 n− 1 = 2kq2 随机选取整数 a,1 < a < n− 1

3 if aq mod n = 1, then return “不确定”4 for j = 0 to k− 1 do5 if a2jq mod n = n− 1 then return “不确定”6 return “合数”

例:Test (29)∵ (n− 1) = 28 = 22(7) ∴ k = 2, q = 7选取 a = 10,计算 107 mod 29 = 17, 1014 mod 29 = 28选取 a = 2,计算 27 mod 29 = 12, 214 mod 29 = 28任意选取 a<n-1,均返回不确定。

苗付友 黄文超 第 8 章数论入门 November 11, 2019 16 / 30

Page 21: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Miller-Rabin 算法

Test (n)1 找出整数 k, q, 其中 k > 0,q 是奇数,使 n− 1 = 2kq2 随机选取整数 a,1 < a < n− 1

3 if aq mod n = 1, then return “不确定”4 for j = 0 to k− 1 do5 if a2jq mod n = n− 1 then return “不确定”6 return “合数”

例:Test (29)∵ (n− 1) = 28 = 22(7) ∴ k = 2, q = 7选取 a = 10,计算 107 mod 29 = 17, 1014 mod 29 = 28选取 a = 2,计算 27 mod 29 = 12, 214 mod 29 = 28任意选取 a<n-1,均返回不确定。

苗付友 黄文超 第 8 章数论入门 November 11, 2019 16 / 30

Page 22: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Outline

1 素数、费马定理、欧拉定理

2 素性测试

3 中国剩余定理

4 离散对数

苗付友 黄文超 第 8 章数论入门 November 11, 2019 17 / 30

Page 23: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

性质某一范围内的整数可通过它的一组剩余类数来重构。

例子对 Z10 中的任意 x, 可通过 x mod 2 和 x mod 5 来重构。如 x mod 2 = 0 和 x mod 5 = 3,则 x = 8

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai = A mod mi

苗付友 黄文超 第 8 章数论入门 November 11, 2019 18 / 30

Page 24: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

性质某一范围内的整数可通过它的一组剩余类数来重构。

例子对 Z10 中的任意 x, 可通过 x mod 2 和 x mod 5 来重构。如 x mod 2 = 0 和 x mod 5 = 3,则 x = 8

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai = A mod mi

苗付友 黄文超 第 8 章数论入门 November 11, 2019 18 / 30

Page 25: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

性质某一范围内的整数可通过它的一组剩余类数来重构。

例子对 Z10 中的任意 x, 可通过 x mod 2 和 x mod 5 来重构。如 x mod 2 = 0 和 x mod 5 = 3,则 x = 8

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai = A mod mi

苗付友 黄文超 第 8 章数论入门 November 11, 2019 18 / 30

Page 26: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai = A mod mi

断言上述映射为一一映射Zm 上的运算可等价于 k 元组的运算

苗付友 黄文超 第 8 章数论入门 November 11, 2019 19 / 30

Page 27: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai ≡ A mod mi

断言上述映射为一一映射: 1) A −→ (a1, a2, . . . , ak)

证明ai ≡ A mod mi

苗付友 黄文超 第 8 章数论入门 November 11, 2019 20 / 30

Page 28: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai ≡ A mod mi

断言上述映射为一一映射: 1) A←− (a1, a2, . . . , ak)

证明1 对 1 ≤ i ≤ k, 计算 Mi = M/m,则 i ̸= j ⇒ Mi ≡ 0 mod mj2 令 ci = Mi × (M−1

i mod mi)

3 A =∑k

i=1 aici

苗付友 黄文超 第 8 章数论入门 November 11, 2019 21 / 30

Page 29: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

定义

令 M =∑k

i=1 mi, 其中,对 1 ≤ i, j ≤ k,有 gcd(mi,mj = 1)则 ZM 中任意整数均可映射为一个 k 元组: A↔ (a1, a2, . . . , ak)其中,A ∈ ZM,且 ai = A mod mi

断言Zm 上的运算可等价于 k 元组的运算

描述若 A←→ (a1, a2, . . . , ak), B←→ (b1, b2, . . . , bk), 则A + B mod M←→ ((a1 + b1) mod m1, . . . , (ak + bk) mod mk)A− B mod M←→ ((a1 − b1) mod m1, . . . , (ak − bk) mod mk)A× B mod M←→ ((a1 × b1) mod m1, . . . , (ak × bk) mod mk)

苗付友 黄文超 第 8 章数论入门 November 11, 2019 22 / 30

Page 30: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

例:将 973 mod 1813 表示为 mod 37 和 mod 49 的两个数, 即m1 = 37,m2 = 49,M = 1813,A = 973,

则 M1 = 49,M2 = 37, M−11 mod m1 = 34,M−1

2 mod m2 = 4a1 = A mod m1 = 11, a2 = A mod m2 = 42, 所以 973←→ (11, 42)同理,678←→ (12, 41)973 + 678←→ (23, 24)反之,(23, 24)←→ a1M1M−1

1 + a2M2M−12 mod M = 43350 ≡ 1651

可验证 1651 = 973 + 678假定要计算 73*1651:73× (23, 24) = (14, 32)(14, 32)←→ a1M1M−1

1 + a2M2M−12 mod M = 856

可验证 856 = 1651× 73 mod 1813

苗付友 黄文超 第 8 章数论入门 November 11, 2019 23 / 30

Page 31: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

例:将 973 mod 1813 表示为 mod 37 和 mod 49 的两个数, 即m1 = 37,m2 = 49,M = 1813,A = 973,则 M1 = 49,M2 = 37, M−1

1 mod m1 = 34,M−12 mod m2 = 4

a1 = A mod m1 = 11, a2 = A mod m2 = 42, 所以 973←→ (11, 42)同理,678←→ (12, 41)973 + 678←→ (23, 24)反之,(23, 24)←→ a1M1M−1

1 + a2M2M−12 mod M = 43350 ≡ 1651

可验证 1651 = 973 + 678假定要计算 73*1651:73× (23, 24) = (14, 32)(14, 32)←→ a1M1M−1

1 + a2M2M−12 mod M = 856

可验证 856 = 1651× 73 mod 1813

苗付友 黄文超 第 8 章数论入门 November 11, 2019 23 / 30

Page 32: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

例:将 973 mod 1813 表示为 mod 37 和 mod 49 的两个数, 即m1 = 37,m2 = 49,M = 1813,A = 973,则 M1 = 49,M2 = 37, M−1

1 mod m1 = 34,M−12 mod m2 = 4

a1 = A mod m1 = 11, a2 = A mod m2 = 42, 所以 973←→ (11, 42)

同理,678←→ (12, 41)973 + 678←→ (23, 24)反之,(23, 24)←→ a1M1M−1

1 + a2M2M−12 mod M = 43350 ≡ 1651

可验证 1651 = 973 + 678假定要计算 73*1651:73× (23, 24) = (14, 32)(14, 32)←→ a1M1M−1

1 + a2M2M−12 mod M = 856

可验证 856 = 1651× 73 mod 1813

苗付友 黄文超 第 8 章数论入门 November 11, 2019 23 / 30

Page 33: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

例:将 973 mod 1813 表示为 mod 37 和 mod 49 的两个数, 即m1 = 37,m2 = 49,M = 1813,A = 973,则 M1 = 49,M2 = 37, M−1

1 mod m1 = 34,M−12 mod m2 = 4

a1 = A mod m1 = 11, a2 = A mod m2 = 42, 所以 973←→ (11, 42)同理,678←→ (12, 41)973 + 678←→ (23, 24)

反之,(23, 24)←→ a1M1M−11 + a2M2M−1

2 mod M = 43350 ≡ 1651可验证 1651 = 973 + 678假定要计算 73*1651:73× (23, 24) = (14, 32)(14, 32)←→ a1M1M−1

1 + a2M2M−12 mod M = 856

可验证 856 = 1651× 73 mod 1813

苗付友 黄文超 第 8 章数论入门 November 11, 2019 23 / 30

Page 34: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

例:将 973 mod 1813 表示为 mod 37 和 mod 49 的两个数, 即m1 = 37,m2 = 49,M = 1813,A = 973,则 M1 = 49,M2 = 37, M−1

1 mod m1 = 34,M−12 mod m2 = 4

a1 = A mod m1 = 11, a2 = A mod m2 = 42, 所以 973←→ (11, 42)同理,678←→ (12, 41)973 + 678←→ (23, 24)反之,(23, 24)←→ a1M1M−1

1 + a2M2M−12 mod M = 43350 ≡ 1651

可验证 1651 = 973 + 678

假定要计算 73*1651:73× (23, 24) = (14, 32)(14, 32)←→ a1M1M−1

1 + a2M2M−12 mod M = 856

可验证 856 = 1651× 73 mod 1813

苗付友 黄文超 第 8 章数论入门 November 11, 2019 23 / 30

Page 35: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

中国剩余定理 CRT

例:将 973 mod 1813 表示为 mod 37 和 mod 49 的两个数, 即m1 = 37,m2 = 49,M = 1813,A = 973,则 M1 = 49,M2 = 37, M−1

1 mod m1 = 34,M−12 mod m2 = 4

a1 = A mod m1 = 11, a2 = A mod m2 = 42, 所以 973←→ (11, 42)同理,678←→ (12, 41)973 + 678←→ (23, 24)反之,(23, 24)←→ a1M1M−1

1 + a2M2M−12 mod M = 43350 ≡ 1651

可验证 1651 = 973 + 678假定要计算 73*1651:73× (23, 24) = (14, 32)(14, 32)←→ a1M1M−1

1 + a2M2M−12 mod M = 856

可验证 856 = 1651× 73 mod 1813

苗付友 黄文超 第 8 章数论入门 November 11, 2019 23 / 30

Page 36: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

离散对数

模 n 的整数幂欧拉定理:对任何互素的 a 和 n,有

aϕ(n) ≡ 1 mod n

欧拉定理的更一般形式:针对如下公式

am ≡ 1 mod n

可使上式满足的最小正幂m 等于以 a 为根所产生的序列的周期

苗付友 黄文超 第 8 章数论入门 November 11, 2019 24 / 30

Page 37: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

离散对数

模 n 的整数幂欧拉定理的更一般形式:针对如下公式

am ≡ 1 mod n

可使上式满足的最小正幂m 等于以 a 为根所产生的序列的周期

例子:

71 ≡ 7 mod 19

72 ≡ 11 mod 19

73 ≡ 1 mod 19

74 ≡ 7 mod 19

75 ≡ 11 mod 19

苗付友 黄文超 第 8 章数论入门 November 11, 2019 25 / 30

Page 38: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

离散对数

模 n 的整数幂欧拉定理的更一般形式:针对如下公式

am ≡ 1 mod n

可使上式满足的最小正幂m 等于以 a 为根所产生的序列的周期

本原根若 a, a2, . . . , aϕ(n) mod n 各不相同,则 a 为 n 本原根。

例子素数 19 的本原根为 2,3,10,13,14,15

苗付友 黄文超 第 8 章数论入门 November 11, 2019 26 / 30

Page 39: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

离散对数

模算数对数假设某素数 p 的本原根为 a,则对任意整数 b, 有唯一的幂,使得:

b = ai mod p

称 i 为以 a 为底(模 p)b 的离散对数,记 i = dloga,pb

性质dloga,p(1) = 0dloga,p(a) = 1

苗付友 黄文超 第 8 章数论入门 November 11, 2019 27 / 30

Page 40: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

离散对数

离散对数的计算考虑方程

y = gx mod p

给定 g, x, p, 可直接计算出 y,且存在计算 y 的有效算法给定 g, y, p,计算 x 一般非常困难。

苗付友 黄文超 第 8 章数论入门 November 11, 2019 28 / 30

Page 41: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

作业

苗付友 黄文超 第 8 章数论入门 November 11, 2019 29 / 30

Page 42: 现代密码学理论与实践 - 第8章 数论入门 - USTCstaff.ustc.edu.cn/~huangwc/crypto/8.pdf3 中国剩余定理 4 离散对数 苗付友 黄文超 第8 章数论入门 November

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

作业

苗付友 黄文超 第 8 章数论入门 November 11, 2019 30 / 30