版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RABIN公開金鑰密碼系統EncryptionKey:(b,n)→公開DecryptionKey:(b,p,q)→保密C=E(M)=M(M+b)modn(1)取法:M<n,b任意取M:明文C:密文p,q:100-digit的質數n=p*q以上皆為加密過程1如何解密密?M2+Mb--C0((modn)((2)針對(2)式解出M值(2)式相等於於下列(3),,(4)兩式M2+Mb--C0((modp)((3)M2+Mb--C0((modq)((4)-b/2((modp)M=D(C)=--b//2((modq)函數D所解得的的明文,,會有下下列四種種情況::2(a)If((b//2)2+C0((modp),then(3)hastworootsMp1-b/2++((modp)Mp2-b/2--((modp)(b)If((b/2)2+C0((modp),then(3)hasonerootMp-b/2((modp)3(c)If((b//2)2+C0((modq),then(4)hastworootsMq1-b/2++((modq)Mq2-b/2--((modq)(b)If((b/2)2+C0((modq),then(4)hasonerootMq-b/2((modq)4四種情況況分別如如下:(1)If((b//2)2+C0((modp)andIf((b/2)2+C0((modq)MMp1(modp))MMq1(modq))MMp2(modp))MMq1(modq))MMp1(modp))MMq2(modq))MMp2(modp))MMq2(modq))M
M1(1)(modn)M
M2(1)(modn)M
M3(1)(modn)M
M4(1)(modn)5(2)If((b//2)2+C0(modp)andIf((b/2)2++C0((modq)MMp(modp))MMq1(modq))MMp(modp))MMq1(modq))(3)If((b//2)2+C0(modq)andIf((b/2)2++C0((modp)MMp1(modp))MMq(modq))MM1(2)(modn))MM2(2)(modn))MM1(3)(modn))6MMp2(modp))MMq(modq))(3)If((b//2)2+C0(modq)andIf((b/2)2++C0((modp)MMp(modp))MMq(modq))MM2(3)(modn))MM1(4)(modn))7MC或或或M1(4)問題:如如何決定定那一個個才是真真正的明明文呢??答:在明明文中,,包含一一些重要要的資訊訊,eg.senderID,,receiverID,dateandtime,etc.接受者選選擇四者者之中,,資訊正正確的。。EM1(3)M2(3)M1(1)M2(1)M3(1)M4(1)M1(2)M2(2)8KNAPSACK公開金鑰鑰密碼學學AlgorithmsFINITEDEFINITENESSINPUT/OUTPUTGENERALITYEFFECTIVENESS9NP-Complete問題到目前為為止尚未未有好的的Algorithm,可在Polynomialtime解決。如0/1--Knapsack101112an13140/1Knapsackproblem((sumofsubset)已知一整整數C及一向量量A=(a1,a2,…,an)求一A之子集合合,其和和為C亦即求一一二元之之向量M=(m1,m2,…,mn)使得C=M×ATExampleN=5,C=14,及A=(1,10,5,22,3)則M=(1,1,0,0,1)15SimpleKnapsackProblem為一特例例,其問問題之解解可以在在Lineartime求得向量A內之元素素呈Supperincreasing,即ExampleN=5,C=14,及A=(1,3,5,10,22)則m5=0-----因14<22m4=1-----因14>10m3=0-----因4<5m2=1-----因4>3m1=1-----因1=1M==(1,,1,0,1,,0)16Merkle--HellmanKnapsack將SimpleKnapsack轉成一般般的0/1Knapsack選一個SimpleKnapsackA=(a1,a2,…,an)選一整數數u,使得u>選一整數數e為加密金金鑰,e和u互質計算解密密金鑰d,e×d=1modu轉換A為一般的的0/1KnapsackAA=(e×A)moduPublicKey=ATrapdoor==d和u(A=dAmodu))密文C=M×AT17Merkle--HellmanKnapsack方法(續續)解密步驟驟轉換密文文C為可用SimpleKnapsack求解之值值CC=d××Cmodu=d×MATmodu=d×M××(e××AT)modu=MAT因A為SimpleKnapsack,故M可以很快快求得。。18Example:Merkle--HellmanKnapsack設A=(1,,3,,5,,10),u=20和e=7,則d=3A=(7,1,15,10))設M=13,以二進位位法表示示(1,1,0,,1)C=M××AT=7+1+10=18解密C=3×18mod20=1419Merkle--HellmanKnapsack方法的保保密性原先建議議n=100,但KnapsackProblem可在T=0(2n/2)時間解決決,n=100,250=1015使用一個個processor約11574天可完成成,1000個處理機機可在12天完成,,故為安安全起見見,取n=200Merkle--Hellman建議使用用多組e,d來重覆處處理A=eA。雖然0/1Knapsack是NP-complete,但不意味味著由SimpleKnapsack轉換之Problem一定是NP-complete20Graham--ShamirKnapsack方法和Merkle--HellmanKnapsack相似,只只有A`之結構稍稍有改變變。Aj=(Rj,Ij,Sj)以二進位位表示之之。Rj,Sj:為隨機亂亂數Ij:為第j個bit為1,其他位位置為0的單位元元素。Sj:前面的log2n位元值為為0,以保證證不會有有進位產產生。((In,Sn),((In-1,Sn-1),……,((I1,S1))為一SimpleKnapsack找d,e,u,和A的方法同同Merkle--HellmanKnapsack法優點:解解密時可可以由C中直接求求得M。21Example:Graham--ShamirKnapsacks設n=5,A如下所示示jRjIjSj01101010000000101==a1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论