2010-第2周 密码学中的数学基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

12
同余性质
2. 设m是一个正整数, ① ad≡bd(mod m), 如果(d, m)=1, 则a≡b(mod m) ② a≡b(mod m), k>0, 则ak≡bk(mod mk) ③ a≡b(mod m), 如果d是m的因子,则a≡ b(mod
d) 下面对①③进行证明。
13
同余性质
① 证 明 : 若 ad≡bd(mod m), 则 m|(ad-bd), 即 m|d(a-b). 因(d, m)=1,故m|(a-b), 即a=b(mod m) ③ 证明:d是m的因子,故存在m’, 使得m=dm’. 因为a≡b(mod m), 存在k, 使得a=b+mk= b+ dm’k. 等式 两边模d, 可得a≡b(mod d).
9
同余的基本性质
① [(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×b)mod n
10
同余的基本性质
例 11 mod 8=3; 15 mod 8=7 ① [(11mod 8)+(15 mod 8)]mod 8=(3+7)mod 8
Step
a= qb + r 89=1·60+29 60=2·29+2
a
b
gcd = xa+yb
0 1 2
89 60 60 29 29 2
3
3
29=14·2+1
2=2·1+0
2
1
1
0 终止
28
求逆元举例
gcd(89,60)
Step
a= qb + r 89=1·60+29 60=2·29+2
a
b
gcd = xa+yb
18
思考: 如何用程序实现辗转相除法?
19
逆元
设m是正整数,a是整数,如果存在a’, 使得 a×a’ ≡1(modm)成立,则a叫模m的可逆元,a’ 叫a 模m的逆元, a’ 通常记为a-1。 例如,设m为11,则8模11的逆元为7,因为 8×7≡1(mod11),即8-1(mod 11)=7 例如: 2-1 mod 5 =3 2-1mod 26=?
4
模运算
设n是正整数,a是整数,如果用n去除a,得商 为q,余数为r,则可以表示为: a=qn+r,0≤r<n, 用a mod n表示余数r,则r≡a mod n. 例如:令a=17, n=5,则17=3×5 +2, r =2≡17mod5
5
模运算典型实例
时钟模12的运算
6
同余
设n是正整数,a, b是整数,如果a mod n≡b mod n,则称整数a和b模n同余,记为a≡b mod n。 显然,a≡b mod n,则n|(a-b). 例如:a=17, b=-8, n=5, 因为17=3×5 +2, -8 =-2×5 +2, 则17 mod 5≡-8 mod 5,通常记为: 17≡-8 mod 5.
17
辗转相除法 举例
例 求gcd(184, 136)。 184=1×136+48, gcd(184,136)= gcd(136,48) 136=2×48+40, gcd(136, 48)= gcd(48, 40) 48=1×40+8, gcd(48, 40)= gcd(40, 8) 40=5×8+0, gcd(40, 8)=8 因此gcd(184, 136)= gcd(136, 40) = gcd(48, 8) = 8。
23
求逆元举例
gcd(89,60)
Step
x = qy + r -
x
y
gcd = ax+by
0
89 60
24
求逆元举例
gcd(89,60)
Step
a= qb + r 89=1·60+29
a
b
gcd = xa+yb
0 1
89 60 60 29
25
求逆元举例
gcd(89,60)
Step
a= qb + r 89=1·60+29 60=2·29+2
15
一个关于同余的性质
对任何非负整数a和非负整数b,设a≥b, a=bq+r, 0≤r<|b|, 则gcd(a, b )=gcd(b, r). 证明:设gcd(a, b)=d, 则d|a, d|b, 则d|a-bq即d|r. 同理,设gcd(b, r)=k, 则k|b, k|r, 则k|bq+r, 即k|a. 所以, 结论成立。 例如,96=28×3+12,故 gcd(96,28)=gcd(28,12)=4. 又如,88=11×8+0,故 gcd(88,11)=gcd(11,0)=11.
3
2=2·1+0
1
0
终止
31
求逆元举例
gcd(244,117):
Step
x = qy + r
-
x
244
y
117
gcd = ax+by
0
32
求逆元举例
gcd(244,117):
Step
x = qy + r
244=2·117+10
x
244 117
y
117 10
gcd = ax+by
0 1
33
求逆元举例
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7 10=7+3 7=2·3+1 3=3·1+0
x
244 117 10 7 3 1
y
117 10 7 3 1 0
gcd = ax+by
0 1 2 3 4 5
1=7-2·3
终止
38
求逆元举例
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7 10=7+3 7=2·3+1
x
244 117 10 7 3
yБайду номын сангаас
117 10 7 3 1
gcd = ax+by
0 1 2 3 4
1=7-2·(10-7) = -2·10+3·7 1=7-2·3
5
3=3·1+0
1
0
终止
39
求逆元举例
x
244 117 10 7
y
117 10 7 3
gcd = ax+by
0 1 2 3
35
求逆元举例
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7 10=7+3 7=2·3+1
x
244 117 10 7 3
y
117 10 7 3 1
gcd = ax+by
a
b
gcd = xa+yb
0 1 2
89 60 60 29 29 2
26
求逆元举例
gcd(89,60)
Step
a= qb + r 89=1·60+29 60=2·29+2
a
b
gcd = xa+yb
0 1 2
89 60 60 29 29 2
3
29=14·2+1
2
1
27
求逆元举例
gcd(89,60)
29
2 1
2
1 0
1=29-14*(60-2*29) =-14*60+29*29 1=29-14·2 终止
30
求逆元举例
gcd(89,60)
Step
60 mod 89 的逆 gcd = xa+yb
a= qb + r 89=1·60+29 60=2·29+2 29=14·2+1
a
b
0 1 2 3
89 60 60 29 29 2 2 1 1=-14*60+29*(89-1*60) =29*89-43*60 1=29-14*(60-2*29) =-14*60+29*29 1=29-14·2
0 1 2 3 4
36
求逆元举例
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7 10=7+3 7=2·3+1 3=3·1+0
x
244 117 10 7 3 1
y
117 10 7 3 1 0
gcd = ax+by
0 1 2 3 4 5
37
求逆元举例
密码学中的数学知识
1
因子
若b|a,则称b为a的因数 若a=kb,而b既非a又非1,则称b是a的真因数. 例如 12的因子:1,2,3,4,6,12 12的真因子:2,3,4,6
2
整除实例
Q: 下面哪个是对的? 77 | 7 7 | 77 24 | 24 0 | 24 24 | 0
3
实例
Q: 1. 找出60的所有因子 2. 列出80的所有真因子
14
最大公因数
设a, b是整数,则a, b的所有公因数中最大的一 个公因数叫做最大公因数,通常记为gcd(a,b)。 例如12和-18的最大公因数为6,记为gcd(12,-18) =6 gcd(513,614)=? gcd(1024,888)=? 如果两个整数的绝对值都比较小,求它们的最 大公因数是比较容易的。如果两个数都比较大,可 以用广义欧几里德除法,也称辗转相除法。
16
辗转相除法
设 a, b>0, 且都为整数,进行下列计算: a=bq1+r1, 0<rl<b b=r1q2+r2, 0<r2<r1 r1=r2q3+r3, 0<r3<r2 ……. rn-2=rn-1qn+rn, 0<rn<rn-1 rn-1=rnqn+1+0 – 则a,b的最大公因数为rn. – 因为gcd(a,b)= gcd(b,r1)= gcd(r1,r2)=… =gcd(rn-1, rn)=gcd(rn,0)= rn.
7
同余式实例
Q: 下面哪个是真的? 3 3 (mod 17) 3 -3 (mod 17) 172 177 (mod 5) -13 13 (mod 26)
8
同余式实例
A: 3 3 (mod 17) True. (3-3 = 0, divisible by all) 3 -3 (mod 17) False. (3-(-3)) = 6 不能整除 17. 172 177 (mod 5) True. 172-177 = -5 能整除 5 -13 13 (mod 26) True: -13-13 = -26 能整除by 26.
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7
x
244 117 10
y
117 10 7
gcd = ax+by
0 1 2
34
求逆元举例
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7 10=7+3
a 模m,在什么情况下一定存在乘法逆元呢?
20
乘法逆实例
当a和m互素的情况下,即(a,m) =1,则a的模m的逆元总是存在的。 60-1 mod 89=?
用何种算法求乘法逆元? 用欧几里德扩展算法求逆
21
求逆元举例
例如,我们知道89是素数,求60模89的逆元, 可以用下面方法。 89=1×60+29 60=2×29+2 29=14×2+1 则1=29-14×2 =29-14×(60-2×29) =29×29-14×60 =(89-60) ×29-14×60 =89×29-60×43
=2
=(11+15) mod 8=26 mod 8=2 ② [(11 mod 8)×(15 mod 8)]mod 8 =(3×7)mod 8 =21 mod 8=5 (11×15)mod 8=165 mod 8=5
11
同余性质
1. 若ab(mod m), cd(mod m), 则: ① ax+cy bx+dy(mod m), 其中x和y为任给整数. ② ac bd(mod m). ③ an bn(mod m), 其中 n>0. 上面的性质容易证明,以②为例: 设a=b+q1m,c=d+q2m ac=( b+q1m)( d+q2m)=bd+(bq2+dq1+q1q2)m, 等式 两边同时模m可证。
22
求逆元举例
等式两端同时mod89得:60×(-43) ≡1mod89
故60模89的逆元为-43,为方便记为最小非负 数,因为-43≡46 mod89,故一般说60模89的逆元 为46. 如何用程序实现求逆元? 实际上,这里的逆元通常称为乘法逆元。从后 面的学习可以看到,定义不同的运算和单位元,就 可能有不同情况下的逆元。
0 1 2
89 60 60 29 29 2
3
3
29=14·2+1
2=2·1+0
2
1
1
0
1=29-14·2
终止
29
求逆元举例
gcd(89,60)
Step
a= qb + r 89=1·60+29
a
b
gcd = xa+yb
0 1
89 60 60 29
2
3 3
60=2·29+2
29=14·2+1 2=2·1+0
gcd(244,117):
Step
x = qy + r
244=2·117+10 117=11·10+7
x
244 117 10 7 3 1
y
117 10 7 3 1 0
gcd = ax+by
0 1 2 3 4 5
1=-2·10+3·(117-11·10) = 3·117-35·10 1=7-2·(10-7) = -2·10+3·7 1=7-2·3
相关文档
最新文档