Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
现代密码学理论与实践第 8 章数论入门
苗付友 黄文超
November 11, 2019
课件地址http://staff.ustc.edu.cn/∼huangwc/crypto.html
苗付友 黄文超 第 8 章数论入门 November 11, 2019 1 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Outline
1 素数、费马定理、欧拉定理
2 素性测试
3 中国剩余定理
4 离散对数
苗付友 黄文超 第 8 章数论入门 November 11, 2019 2 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Outline
1 素数、费马定理、欧拉定理
2 素性测试
3 中国剩余定理
4 离散对数
苗付友 黄文超 第 8 章数论入门 November 11, 2019 3 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
素数
定义:素数整数 p 是素数 ⇔ p 只有因子 ±1 和 ±p。
例:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ...
苗付友 黄文超 第 8 章数论入门 November 11, 2019 4 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
费马定理
定理:费马定理 (又称费马小定理)若 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
费马定理
例子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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
欧拉函数
定义:欧拉函数 ϕ(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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
欧拉函数
性质 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
欧拉函数
例:ϕ(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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
欧拉定理
定理:欧拉定理对任意互素的 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
欧拉定理
证明(续):
∵ 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
欧拉定理
例子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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Outline
1 素数、费马定理、欧拉定理
2 素性测试
3 中国剩余定理
4 离散对数
苗付友 黄文超 第 8 章数论入门 November 11, 2019 13 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
素性测试
问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。
问: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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
素性测试
问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。
问: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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
素性测试
问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。
问: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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
素性测试
问:为什么需要素性测试?答:许多密码算法都需要随机选择一个或多个非常大的素数。
问: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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Outline
1 素数、费马定理、欧拉定理
2 素性测试
3 中国剩余定理
4 离散对数
苗付友 黄文超 第 8 章数论入门 November 11, 2019 17 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
中国剩余定理 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
离散对数
模 n 的整数幂欧拉定理:对任何互素的 a 和 n,有
aϕ(n) ≡ 1 mod n
欧拉定理的更一般形式:针对如下公式
am ≡ 1 mod n
可使上式满足的最小正幂m 等于以 a 为根所产生的序列的周期
苗付友 黄文超 第 8 章数论入门 November 11, 2019 24 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
离散对数
模 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
离散对数
模 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
离散对数
模算数对数假设某素数 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
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
离散对数
离散对数的计算考虑方程
y = gx mod p
给定 g, x, p, 可直接计算出 y,且存在计算 y 的有效算法给定 g, y, p,计算 x 一般非常困难。
苗付友 黄文超 第 8 章数论入门 November 11, 2019 28 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
作业
苗付友 黄文超 第 8 章数论入门 November 11, 2019 29 / 30
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
作业
苗付友 黄文超 第 8 章数论入门 November 11, 2019 30 / 30