RSA非對稱加密演算法 (二) 數學理論

這篇紀錄一些RSA運算時要用到的數學定理和我比較能夠理解的證明

同餘理論


定義
對於整數 a,b,若正整數 m 能整除 a-b ,以符號表示就是 m | (a-b) ,則稱為 a,b 對於模 m 同餘,可以寫成
ab(modm)

由此定義可以推導出
ab(modm)amodm=bmodm


證明1:ab(modm)amodm=bmodm
ab(modm)amodm=bmodm
a=mp+r,b=mq+s (r,s為餘數)
ab(modm)
ab(modm)
m(a-b)
mm(p-q)+(r-s)
m(r-s)

r,s是除以m的餘數,0r,s<m 0|r-s|<m r-s=0
r=s

證明2:amodm=bmodmab(modm)
a,b 除以 m 餘數相同
a=mp+r,b=mq+r
a-b=m(p-q)
mm(p-q)
ma-b
ab(modm)

由證明1,2得知ab(modm)amodm=bmodm

(*) 也有看過將 a ≡ b (mod m)定義成 a,b 除以m餘數相同,再由此定義去推導出
ab(modm)m(a-b)


同餘的性質

1.反身性(reflexive) aa(modm)
2.對稱姓(symmetric) ab(modm)ba(modm)
3.遞移性(transitive) ab(modm),bc(modm)ac(modm)
4.加姓 ab(modm),cd(modm)a+cb+d(modm)
5.乘性 ab(modm),cd(modm)acbd(modm)
6.冪性 ab(modm),k0akbk(modm)
7.
ab(modm)n|m}ab(modn)
8.
ab(modm1)ab(modm2)ab(modmn)(n2)}ab(modlcm(m1,m2,,mn))


證明
1.反身性
m(a-a)
aa(modm)

2.對稱姓
m(a-b)
a-b=mk
b-a=-mk
m-mk
m(b-a)
ba(modm)

3.遞移性
ab(modm)
m(a-b),a-b=pm
同理,令b-c=qm
(a-b)+(b-c)=±+qm
a-c=(p+q)m
m(a-c)
ac(modm)

4.加性
ab(modm)
m(a-b),a-b=pm
同理,令c-d=qm
(a+c)-(b+d)=(p+q)m
m(a+c)-(b+d)
a+cb+d(modm)

5.乘性
同上
a=b+pm,c=d+qm
ac=bd+m(bq+dp+pqm)
ac-bd=m(bq+dp+pqm)
mac-bd
acbd(modm)

6.冪性
利用乘性即可推倒
ab(modm),ab(modm)
aamodm
a2b2(modm)
再用歸納法就能推出akbk(modm)

7.
ab(modm)
a-b=km
nm
m=ln
a-b=lkn
ab(modn)

8.
(a-b)m1,m2,...,mn
lcm(m1,m2,...,mn)(a-b)
ab(modlcm(m1,m2,...,mn))


模反元素(Modular multiplicative inverse)

整數a的模反元素為整數x,x滿足 ax1(modm)xa-1
am

歐拉函式(Euler's totient function)

定義:ϕ(n)為小於等於n的正整數中與n互質的個數


p為質數
pp ϕ(p)=p-1

n=pa,則小於等於n的正整數中,
n有公因數的為 p,2p,...,pa-1p
ϕ(n)=pa-pa-1
=pa-pa-1

n=p×q,p,qϕ(n)

第一步:扣除含有p這個因數的數p,2p,...,npp,np
n-np=n(1-1p)
第二步:再扣除含有q這個因數的數
n(1-1/p)-n/q
第三步:含有pq這個因數的數倍多扣了一次,再加回來
ϕ(n)=n(1-1p)-nq+npq
=n(1-1p)(1-1q)
=(p-1)(q-1)

通式寫成
ϕ(n)=npn(1-1p)

這個證明還沒看懂

在RSA演算法中會用到的只會有2個因數

n=pq , p,q 為兩相異質數
ϕ(n)=(p-1)(q-1)


費馬小定理

假如a是一個整數,p是一個質數,那麼a^p - a 是p的倍數,可以表示為
apa(modp)
如果a不是p的倍數,這個定理也可以寫成
ap11(modp)


證明
1.若p整除ap也整除ap
apa(modp)

2.若p不整除a

令集合S1{1,2,...,p-1}
令集合S2S1×a{a,2a,...,(p-1)a}
S1modp(0)
S2modpS1,這點可以用反證法證明

k,l
kl , 1k,l<p 使得 kala(modp) 又因為1k,l<p,上式要成立必須k=l,與假設矛盾 S2modpS1

S1WS2ap-1W

ap-1WW(modp)
因為gcd(W,p)=1W
ap-11(modp)
































沒有留言:

張貼留言