公开金钥密码系统(Public-Key Cryptosystems)_第1页
公开金钥密码系统(Public-Key Cryptosystems)_第2页
公开金钥密码系统(Public-Key Cryptosystems)_第3页
公开金钥密码系统(Public-Key Cryptosystems)_第4页
公开金钥密码系统(Public-Key Cryptosystems)_第5页
已阅读5页,还剩40页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

公開金鑰密碼系統(Public-KeyCryptosystems)©TheMcGraw-HillCompanies,Inc.,20051目錄©TheMcGraw-HillCompanies,Inc.,20057.1公開金鑰基本概念7.2RSA公開金鑰密碼機制7.3ElGamal的公開金鑰密碼系統7.4橢圓曲線密碼系統7.5混合式的加密機制7.6密碼系統的評估27.1公開金鑰基本概念

©TheMcGraw-HillCompanies,Inc.,2005對稱式密碼系統有金鑰的管理問題,例如要與N個人做秘密通訊,那麼就必須握有N把秘密金鑰為了改善對稱式密碼系統問題,於是便有公開金鑰密碼系統(Public-KeyCryptosystems)的產生3Secret-KeyCryptosystem祕密金鑰密碼系統(Secret-KeyCryptosystems)又稱單金鑰密碼系統(One-KeyCryptosystems)也稱對稱密碼系統(SymmetricCryptosystems)優點:加解密速度快缺點:有金鑰管理的問題每位使用者需儲存n-1把Keys

U1U2U5U3U4©TheMcGraw-HillCompanies,Inc.,200547.1.1公開金鑰密碼系統的基本概念CA明文加密解密明文密文密文明文解密加密明文密文密文張三’s私有金鑰李四’s私有金鑰張三李四李四’s公開金鑰張三’s公開金鑰SendSend金鑰©TheMcGraw-HillCompanies,Inc.,20055Public-KeyCryptosystem公開金鑰密碼系統(Public-KeyCryptosystems)又稱雙金鑰密碼系統(Two-KeyCryptosystems)也稱非對稱密碼系統(AsymmetricCryptosystems)優點:沒有金鑰管理的問題高安全性有數位簽章功能缺點:加解密速度慢

著名之公開密碼系統:RSA密碼系統ElGamal密碼系統©TheMcGraw-HillCompanies,Inc.,20056非對稱式密碼系統的一種。1978年美國麻省理工學院三位教授Rivest、Shamir、Adleman(RSA)所發展出來的。利用公開金鑰密碼系統作為資料加密的方式,可達到資料加密及數位簽署的功能。Encryption:RSA加密演算法,明文加密使用區塊為每次加密的範圍,使用對方公開金鑰(PublicKey)將明文加密。Decryption:RSA解密演算法,必須使用自己的私有金鑰(PrivateKey)才能將密文解出。©TheMcGraw-HillCompanies,Inc.,20057.2RSA公開金鑰密碼機制71.張三選2個大質數

p和q

(至少100位數),令N=p•q2.再計算Ø(N)=(p-1)(q-1),並選1個與Ø(N)互質數e

Ø(N)為Euler‘sTotient函數,其意為與N互質之個數3.(e,N)即為張三的公開金鑰

加密法為C=MemodN4.張三選1個數

d,滿足e•dmodØ(N)=15.d

即為張三的解密金鑰(亦稱私有金鑰或祕密金鑰)

解密法為M=CdmodNRSA之安全性取決於質因數分解之困難度要將很大的N因數分解成P跟Q之相乘,是很困難的7.2.1RSA的加解密機制©TheMcGraw-HillCompanies,Inc.,20058RSA演算法-例子1.張三選p=3,q=11;此時N=p•q=3x11=332.張三選出1個與(p-1)x(q-1)=(3-1)(11-1) =2x10=20 互質數e=33. (e,N)=(3,33)即為張三的公開金鑰4.張三選1個數d=7當作解密金鑰, 滿足e•d1mod20(7x31mod20)

令明文

M=19

加密

:C=MemodN=193mod33=28

解密

:M=CdmodN=287mod33=19©TheMcGraw-HillCompanies,Inc.,20059Fermat’sLittleTheoremIfpisaprime,andaisnotamultipleofp,thenFermat’slittletheoremsaysap-1modp=1

Ex.26mod7=1

©TheMcGraw-HillCompanies,Inc.,2005費瑪(Fermat)定理:若p為質數且(a,p)互質,則ap-1modp=110Euler’sTheoremIfgcd(a,n)=1,then

where()calledEulerphifunction.©TheMcGraw-HillCompanies,Inc.,2005Euler通用定理:若a,n互質,則aØ(n)modn=1定理:Ø(P)=P-1若P為質數Ø(N)=Ø(PQ)=Ø(P)Ø(Q)=(P-1)(Q-1)Itisthenumberofpositiveintegerslessthannthatarerelativelyprimeton.

Ifnisaprime,(n)=n-1.Ifn=pq,wherepandqareprime,then(n)=(p-1)(q-1)11ModularInverseProblemTheproblemisfindinganxsuchthat1=(a*x)modn

Thisisalsowrittenasa-1modn=xNote:a-1modn=xhasauniquesolutionifaandnarerelativelyprime.Ifaandnarenotrelativelyprime,thena-1modn=xhasnosolution.Ex.Theinverseof5,modulo14,is3.2hasnoinversemodulo14.

©TheMcGraw-HillCompanies,Inc.,200512HowtoFindMultiplicativeInverseMethod1:UsingEuler’sTheorem

x=a-1modnaxmodn=1

x=a(n)-1modn

Ifgcd(a,n)=1,thena(n)modn=1

Ex.Whatistheinverseof5,modulo7??56-1mod7=55mod7=3Note:(n)isnotalwaysknown

©TheMcGraw-HillCompanies,Inc.,200513HowtoFindMultiplicativeInverseMethod2:UsingExtendedEuclideanAlgorithmEuclideanAlgorithmFindgcd(a,n)Letr0=n,r1=a,wegetr0=r1g1+r2,r1=r2g2+r3,...,rj-2=rj-1gj-1+rj,...,rm-4=rm-3gm-3+rm-2,rm-3=rm-2gm-2+rm-1,rm-2=rm-1gm-1+rm,rm-1=rmgm

©TheMcGraw-HillCompanies,Inc.,200514Wecanfindgcd(a,n)=sa+tn,wheresandtareintegers.

Ifgcd(a,n)=1,wegetsa+tn=1.Wecanfindsandtbyusing

rm=gcd(a,n)=rm-2-rm-1gm-1becauserm-1=rm-3–rm-2gm-2sogcd(a,n)=rm-2-(rm-3–rm-2gm-2)gm-1=(1+gm-1gm-2)rm-2–gm-1rm-3andsoon.sa+tn=1sa+tnmodn=1samodn=1s=a-1modn©TheMcGraw-HillCompanies,Inc.,200515WhyRSAisCorrectC=E(M)=MemodnM=D(C)=CdmodnCd=(Me)d=Medmodnsinceed=1mod(p-1)(q-1)soMed=Ma(p-1)(q-1)+1=MMa(p-1)(q-1)=MMa(n)

modnAccordingtoEuler’sTheorem,wegetM*1=M©TheMcGraw-HillCompanies,Inc.,200516因式分解的問題FactoringProblemFactoringanumbermeansfindingitsprimenumberEx:10=2*5;60=2*2*3*5However,itisdifficulttofactoralargenumber.Trytofactorthelargenumber:3337

RSA的安全性便是植基於解因式分解的難題上©TheMcGraw-HillCompanies,Inc.,200517RSA演算法指數運算:計算x=ABmodN?a1:=A;b1:=B;x:=1;whileb1

0dobeginwhileb1mod2=0dobegin

b1:=b1div2;a1:=(a1*a1)modN;end

b1:=b1-1;x:=(x*a1)modN

end

計算x=A17modN

=A10001modN=A•(((A2)2)2)2

計算x=A13modN

=A1101modN=A•((A2)2)•((A2)2)2

計算x=A7modN

=A111modN=A•(A2)•(A2)2

©TheMcGraw-HillCompanies,Inc.,200518Public-KeyCryptosystems之特性1.D(d,E(e,M))=M,可還原性2.d和e很容易求得3.若公開(e,n),別人很難從(e,n)求得d,即只有自己知道如何解密(以e加密)4.E(e,D(d,M))=MPublic-keyCryptosystems一定要能忍受Chosen-PlaintextAttack©TheMcGraw-HillCompanies,Inc.,200519Public-KeyCryptosystems之特性(續)‧滿足1~3項稱之為trap-doorone-wayfunction‧“one-way”因易加密而不易解密‧“trap-door”若知一些特別資訊即可解密‧滿足1~4項稱之為trap-doorone-waypermutation‧1~3項為public-keycryptosystems之要求‧若同時滿足第4項要求,則該保密法可用來製作數位簽章。©TheMcGraw-HillCompanies,Inc.,200520DigitalSignature

數位簽章一般數位簽章具有下列功能:確認性(Authentication):可確認文件來源的合法性,而非經他人偽造。完整性(Integrity):可確保文件內容不會被新增或刪除。不可否認性(Non-repudiation):簽章者事後無法否認曾簽署過此文件。©TheMcGraw-HillCompanies,Inc.,200521©TheMcGraw-HillCompanies,Inc.,2005數位簽章的基本概念227.2.2RSA數位簽章S=Md張modN張

M=?Se張modN張張三使用自己的祕密金鑰對文件M做數位簽章S張三李四李四使用張三的公開金鑰確認數位簽章及文件傳送M及S一般使用時會先將文件M作HASH函數處理,使得HASH(M)比N小©TheMcGraw-HillCompanies,Inc.,200523數位簽章法(DigitalSignature:)MHE||MHD比較是否相等SKaPKaESKa[H(M)]為M之簽章DPKa[ESKa[H(M)]]=H(M)512位元©TheMcGraw-HillCompanies,Inc.,200524RSA數位簽章+加密C=(Md張modN張)e李modN李M=(Cd李modN李)e張modN張

張三對文件M做數位簽章後用李四的公用金鑰將簽章加密張三李四李四使用私有金鑰解開密文C再用張三的公開金鑰確認數位簽章傳送密文C©TheMcGraw-HillCompanies,Inc.,200525非對稱式密碼系統的一種。1985年由ElGamal所發展出來的。安全性導因於離散對數(DiscreteLogarithm)之困難度。相同明文可得到不相同的密文。RSA密碼系統則是相同明文得到相同密文。ElGamal有訊息擴充的問題,RSA機制則沒有此問題7.3ElGamal的公開金鑰密碼系統離散對數(DiscreteLogarithm)的問題:若p為很大之質數;g為p之原根(primitiveroot)y=gxmodp雖已知y,g,p,但要導出x值是很困難的©TheMcGraw-HillCompanies,Inc.,200526什麼是原根??原根generators:ifpisaprime,andgislessthanp,thengisageneratormodpifforeachbfrom1top-1,thereexistssomeawherega

b(modp).

galsocalledprimitiverootofmodp21mod11=222mod11=423mod11=824mod11=525mod11=1026mod11=927mod11=728mod11=329mod11=6210mod11=12isageneratormodulo113isnotageneratormodulo11becausethereisnosolutionon3amod11=2©TheMcGraw-HillCompanies,Inc.,200527解離散對數的問題Thisisahardproblem:Findxwhereaxmodn=bEx.If3xmod17=15,thenx=6

Note:Notalldiscretelogarithmshavesolution.Ex.3xmod13=7,nosolution!!©TheMcGraw-HillCompanies,Inc.,200528張三將明文M以李四之公開金鑰加密:1.張三選一個亂數r2.計算b=grModPc=M•yrmodP3.張三送(b,c)給李四7.3.1ElGamal的加解密機制李四之金鑰產生:y=gxmodPy為李四之公開金鑰x為李四之秘密金鑰P為很大之質數g為與P互質之原根4.李四收到(b,c)後計算c•(bx)-1modP=M©TheMcGraw-HillCompanies,Inc.,200529李四將明文M以李四之祕密金鑰製作簽章:1.李四選一個亂數k使得gcd(k,p-1)=12.計算r=gkmodp3.李四計算s使得M=(xr+ks)mod(p-1)4.李四送(M,r,s)給驗證者(張三)7.3.2ElGamal的數位簽章機制李四之金鑰產生:y=gxmodPy為李四之公開金鑰x為李四之秘密金鑰P為很大之質數g為與P互質之原根5.張三收到(M,r,s)後驗證gM=yrrsmodP上式若相等表示M確定為李四所簽署©TheMcGraw-HillCompanies,Inc.,2005307.4橢圓曲線密碼系統©TheMcGraw-HillCompanies,Inc.,2005RSA或ElGamal密碼系統最為人詬病的問題就是在加解密或是簽章的時候需要龐大的運算量,所以需要較長的運算時間。為了改善其效率(較少之運算量),因此提出橢圓曲線的密碼系統(EllipticCurveCryptosystem,ECC),它的安全性必須相當於RSA或ElGamal的密碼系統。31橢圓曲線上的有限加法群©TheMcGraw-HillCompanies,Inc.,2005所使用的橢圓曲線方程式為y2=x3+ax+b此曲線剛好對稱於y=0這條直線參數a及b必需滿足4a3+27b2≠0,才能確保沒有重根,具有唯一解加法單位元素O為一無窮遠的點,並滿足O=-O此加法單位元素亦需滿足:橢圓曲線上某三點共線其合為O32橢圓曲線上不同座標點相加©TheMcGraw-HillCompanies,Inc.,200533橢圓曲線上相同座標點相加©TheMcGraw-HillCompanies,Inc.,200534橢圓曲線上一座標點與一無窮遠點相加©TheMcGraw-HillCompanies,Inc.,200535橢圓曲線上兩對稱點相加©TheMcGraw-HillCompanies,Inc.,2005A+B=A+(-A)=O

B36在有限體內的橢圓曲線運算©TheMcGraw-HillCompanies,Inc.,2005

在此橢圓曲線上可能出現的點有(0,1)、(0,4)、(2,1)、(2,4)、(3,1)、(3,4)、(4,2)、(4,3)、(∞,∞)任取橢圓曲線上兩點,無論作加法、減法或乘法,其結果永遠為上述座標點中的一點橢圓曲線中的離散對數難題:給訂一參數K及一點A,要求得另一點B,使得B=KA是很容易的。例如:5A=A+A+A+A+A但若給定A及B要求得K則很困難37©TheMcGraw-HillCompanies,Inc.,2005橢圓曲線的公開金鑰加密機制38©TheMcGraw-HillCompanies,Inc.,2005橢圓曲線的數位簽章397.5混合式的加密機制©TheMcGraw-HillCompanies,Inc.,2005混合式加密機制顧名思義就是同時採用對稱式密碼機制及公開金鑰密碼機制的加密系統,截長補短,使得它可以同時擁有這兩種密碼機制的優點。407.5.1數位信封(DigitalEnvelope)Sender:AliceReceiver:BobC=ES

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论