大学安全工程之密码学2第二章 密码学的数学基础

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

第二章密码学的数学基础
•数论
-素数
-模运算
•代数结构
•安全性基础
-信息论
-复杂性理论
1
为何讲素数?
•为何讲数?
-加(解)密:数字变换
-信息:离散事件
-例:A(0),B(1),…,Z(25)
•为何讲素数?
-素数是数的基础
2
素数与合数
•定义:整数p是一个素数,如果它只能被+p, -p,+1,-1整除.
-例:2,3,5,7,11,13,17,…,101,…
•全体素数的集合记为P.
•定义:如果整数n不是素数,则它是一个合数.
-例:4,9,187,900,…
4
•Theorem:(Fundamental Theorem of Arithmetic)
∀n∈N n= p
1e1p
2
e2…p
k
e k ( or Π
p i∈P
p e i)
where e p is the exponent of the prime factor p
•Note:the result of factorization is unique •Example:84=22×3×7
数的因子分解
5
6
素数
•Theorem:There are infinitely many primes •Proof:(by contradiction)
Assume , build a number N is There N is a new prime.
max
P 1
...max 21+=P P P N
8
Finding GCD
•Theorem:
•Example:
•Complexity
∏∏∏=⇒=∧=i b a i
b i i a i i i i i i p b a p b p a )
,min(),gcd(63
7*3),gcd(11
*7*5*334657*3*2882232
2==⇒====b a b a )
()()(n o c o n T b
and a the factoring Need =••
10Euclidean Algorithm
)
,gcd(:30
0...
:
2,:1111123
2212
11010b a r step r and r until r r q r r r q r r r q r step b
r a r step n n n n
n n n =≠=+=+=+===−−−−−
16
Congruence Relation (同余关系)•同余关系是一个等价关系
-自反性-对称性-传递性•等价关系划分
⇒c
a c
b b a a
b b a a
a ≡⇒≡∧≡≡⇒≡≡
Modular Arithmetic(模运算)•We can define the modular arithmetic in the set of integers: Z n={0, 1, 2, …, n-1}
•Under normal arithmetic (+,×)
–[(a mod n) +(b mod n)] mod n = (a+b) mod n
•Proof:Let a=q
1n+r
1
, b=q
2
n+r
2
•(a+b) mod n = (q
1n+r
1
+q
2
n+r
2
) mod n = (r
1
+r
2
) mod n
–[(a mod n) ×(b mod n)] mod n = (a×b) mod n •(+, ×)→(-,÷) ?
18
19
模运算:举例1•(Z 8={0, 1, 2, …, 7}, +)
What?
模运算说明
•Additive Inverse Always Exists
–(a+(-a)) = 0 mod n ⇒-a = n-a
–if (a+b) ≡(a+c) mod n then b≡c mod n
•((-a)+a+b) ≡((-a)+a+c) mod n
•Multiplicative Inverse NOT Always Exists –Example:6 in Z
8
–When?
21
模运算中的乘法逆
•Definition:a-1mod n is the multiplicative inverse of a∈{1,2,…,n-1} when ax≡1mod n
•Theorem: If and only if gcd(a,n)=1, then the a-1 mod n exists
•Lemma:If gcd(a,n)=1, then a⋅i≠a⋅j mod n for all 0≤i<j<n (i ≠j)
–Proof:assume a⋅i≡a⋅j mod n⇒n|a(i-j) ⇒n|i-j⇒i-j=0
22
乘法逆定理
•Proof:
•⇒
–gcd(a,n)=1 ⇒a·{1,…,n-1} mod n is the permutation
of {1,…,n-1}
–So there exists only an i that a⋅i≡1 mod n
–Therefore i is a-1mod n
•⇐
–Suppose a-1exists, call it x
–ax ≡1 (mod n) and ax + yn= 1 for some integer y
–gcd(a, n)=1 (gcd(a,n)|ax+yn→gcd(a,n)|1)
23
如何找到a-1mod n?
•在{1,…,n-1} 中寻找,直到找到一个a-1,使得
a·a-1≡1 (mod n)
–T(n)=O(n)
•计算a-1= aϕ(n)-1mod n
–寻找ϕ(n) ⇔分解n
–T(n)=O(n a)
•用Extended Euclidean Algorithm
–T(n)=O(log a n)
24
26
求a
-1mod n
gcd(n,a)

n=aq 1+r 1 r 1=n-aq 1= s 0n+t 0a •
a= r 1q 2+r 2 r 2= a-r 1q 2 =s 1n+t 1a ……
•r k-1 =s k-1n+t k-1a
•r k-1=gcd(n, a)

若gcd(n, a) =1,则s k-1n+t k-1a =1 ⇒t k-1a ≡1 mod n ⇒t k-1≡a -1mod n
GCD(1970,1066)
1970=1*1066+904 gcd(1066,904)1066=1*904+162 gcd(904,162)904=5*162+94 gcd(162,94)162=1*94+68 gcd(94,68)94=1*68+26 gcd(68,26)68=2*26+16 gcd(26,16)26=1*16+10 gcd(16,10)16=1*10+6 gcd(10,6)10=1*6+4 gcd(6,4)6=1*4+2 gcd(4,2)4=2*2+0 gcd(2,0)
如何找到t k-1 ?
28
Step 1:r 0 =n and r 1 =a
Step 2:r 0 =q 1r 1+r 2 Ær 2 =r 0 -q 1r 1 =-q 1r 1 mod n
let x 2= -q 1then r 2 =x 2r 1 mod n
r 1 =q 2r 2+r 3 Ær 3 =r 1 –q 2r 2 =(1-x 2q 2)r 1 mod n
let x 3= 1-x 2q 2then r 3 =x 3r 1 mod n ……r n-3 = q n-2r n-2+r n-1 Ær n-1 =r n-3 –q n-2r n-2 mod n
let x n-1= x n-3-x n-2q n-2then r n-1 =x n-1r 1 mod n Now r n-1=1
Step 3:Result is x n-2 =a -1mod n
Extended Euclidean Algorithm
29
例:求7
-1mod 26
r 4 = r 2 -2r 3
= r 2-2(r 1-r 2)= -2r 1+3r 2
= -2r 1+3(r 0-3r 1)= 3r 0-11r 1⇒t 4= -11
⇒7-1mod 26 = 15
r 0 q 1 r 1
r 2
26=3*7+5
r 1 q 2 r 2
r 3
7 =1*5+2
r 2 q 3 r 3
r 4
5 =2*2+1
例:求3-1mod 26
=9
30
Euler phi Function
•是在比n 小的正整数中与n 互素的数的个数.•例如:•若n 是素数,则显然有φ(n)=n-1。

•是在中可逆的元素个数•如何计算ϕ(n)?
)(n ϕ)(n ϕn Z }7,5,3,1{,4)8(,6)7(,1)2(===ϕϕϕ
31
Chinese Remainder Theorem
(中国剩余定理CRT )
•中国剩余定理:假设n 1, n 2, …, n k 为两两互素的正整数gcd(n i ,n j )=1(i ≠j) ,a 1, a 2, …, a k 为整数,则同余方程组
x ≡a 1mod n 1
x ≡a 2mod n 2
……
x ≡a k mod n k
有模n=n 1n 2…n k 的惟一解x
中国剩余定理提供了一个非常有用的特
性,即在模n(=n
1n
2
…n
k
)下可将非常大的数
x由一组小数(a
1,a
2
,…,a
k
)表达。

x →(a
1,a
2
,…,a
k
)
32
33
证明中国剩余定理
•Consider a one-to-one map
–χ: Z n →Z n
1×Z n 2 ×…×Z n k
–χ(x) = (x mod n 1, x mod n 2 ,…, x mod n k )
–CRT is find χ-1=ρ(a 1, a 2, …, a k )=x
•ρ(a 1, a 2, …, a k )=Σi=1k a i ⋅m i ⋅y i mod n
–m i = n/n i gcd (m i ,n i )=1,1≤i ≤k
–y i = m i -1 mod n i ,1≤i ≤k
–m i ≡0 mod n j for j ≠i ⇒a i ⋅m i ⋅y i ≡0 mod n j for j ≠i –y j ≡m j -1 mod n j ⇒m j ⋅y j ≡1 mod n j ⇒a j ⋅m j ⋅y j ≡a j mod n j –ρ(a 1, a 2, …, a k ) mod n j =x mod n j =a j
34
例1:由以下方程组求x 。

解:M=2·3·5·7=210,M 1=105,M 2=70,M 3=42,M 4=30,易求e 1≡M -11mod 2≡1,e 2≡M -12mod 3≡1,e 3≡M -13mod 5≡3,e 4≡M -14mod 7≡4,所以x mod 210
≡(105×1×1+70×1×2+42×3×3+30×4×5) mod 210≡173,或写成x ≡173 mod 210。

1mod 22mod 33mod 5
5mod 7
x x x x ≡⎧⎪≡⎪⎨≡⎪⎪≡⎩
计算欧拉函数
定理:若n是两个素数p和q的乘积,则
ϕ(n)= ϕ(p)×ϕ(q)=(p-1)×(q-1)
例:由21=3×7,得
ϕ(21)= ϕ(3)×ϕ(7)=2×6=12
35
计算欧拉函数
•ϕ(n) calculation? for n = ∏i=1k p i e i
•ϕ(p) = p-1
•ϕ(p e)= p e–p e-1
–The numbers with gcd(kp, p e) ≠1, (k=1,…,p e-1-1)
–So ϕ(p e)=(p e-1) -(p e-1-1)
•ϕ(∏i=1k p i e i) = ∏i=1k(p i e i–p i e i-1)
•ϕ(n)= n(1-1/p1)(1-1/p2)…(1-1/p k)
36
37
举例
24)113()22()52(1325212
)113()12()26(13226?
)52(?)26(1222=−∗−=⇒∗==−∗−=⇒∗=−ϕϕϕϕϕ(100) =?
ϕ(100) =40
欧拉定理
定理:若a和n互素,则aϕ(n)≡1 mod n
38
费马小定理
设p是素数,由于对任意的a(0<a<p),
有gcd(a,p)=1 ,则
a p-1≡1 mod p
39
如何找到a-1mod n?
•在{1,…,n-1} 中寻找,直到找到一个a-1,使得a·a-1≡1 (mod n)
–T(n)=O(n)
•计算a-1= aϕ(n)-1mod n
–寻找ϕ(n) ⇔分解n
–T(n)=O(n a)
•用Extended Euclidean Algorithm
–T(n)=O(log a n)
40
第二章密码学的数学基础
•数论
-素数
-模运算
•代数结构
•安全性基础
-信息论
-复杂性理论
41
代数结构
•什么叫代数结构?
–所有的密码学变换总是在一些结构上•定义:带有一种(或多种)运算的集合,
记为<S, ο>
–不同的代数结构<S, ο>满足不同的条件
42
群(Group)
•定义:群G= <S, ο>是满足如下条件的代数结构:
–G1: ∀a,b∈S, a°b∈S(closure rule)
–G2: ∀a,b,c∈S, (a°b)°c=a°(b°c)
–G3: (∃e∈S)∀a∈S, a°e=e°a=a
–G4: (∀a∈S)∃a-1∈S, a°a-1= a-1°a = e
–[G5, Abelian群]: ∀a,b, a°b=b°a
43
44
群:例子
•<Z ,+>:e=0 , a -1 = -a
•<Z n ,+>:(Z n ={0,1,…,n-1} ‘+’是模n 加法) e=0, a -1 = n –a
•<Z 2, ⊕>也是群
•<Z p , ⋅>:(p 是素数,‘⋅’是乘法)
45
群:性质
•定义:有限群的阶是其元素的个数•定义:如果S 1 ⊂S ,称群<S 1, ο>是群<S, ο>的子群
•Lagrange 定理:设H 是有限群G 的子群,则H 的阶整除G 的阶
Lagrange 定理:证明
46
47
元素的阶
•定义:群中元素a的阶定义为使得下式成立的最小正整数n:

a的阶记为:

推论:假设G是一个有限群,它的阶是n,且
,则
群的生成元
•定义:若群的所有元素都可由某个元素g生成,则称g 为群的生成元
•Example:
, ⋅>
–考虑<Z
7
–2 生成: 21=2, 22=4, 23=8≡1 mod 7,24=16≡2 mod 7…
•<{1,2,4},⋅> 子群
–3 生成:31=3 mod 7, 32≡2 mod 7, 33≡6 mod 7,
34≡4mod 7,35≡5mod 7,36≡1mod 7,…
•3 是生成元
48
环(Ring)
•定义:环R=<S,+,⋅>(“+”是加法,“⋅”是乘法)定义为:
–R1: ∀a,b∈S, a+b∈S∧a⋅b∈S(closure rule)
–R2: <S,+> is an additive Abelian group
–R3: ∀a,b,c∈S, (a⋅b)⋅c= a⋅(b⋅c)
–R4: ∀a,b,c∈S, a⋅(b+c) = a⋅b+a⋅c
•例:
-p,q 是素数,< ,+,⋅>是环
49
域(Field )
•定义:域F<S,+,⋅>定义为:
–F1: <S,+,⋅> 是可交换环(ab=ba)
–F2:关于乘法存在单位元1,a⋅1 = 1⋅a = a
–F3: 对任何非零元a∈S, a 有唯一的逆元a-1⋅a = a-1⋅a = 1
•例:
–Zn=<{0,1,…,n-1},+,⋅> 是域,如果n 是素数
50。

相关文档
最新文档