信息加密與鑒別_第1頁
信息加密與鑒別_第2頁
信息加密與鑒別_第3頁
信息加密與鑒別_第4頁
信息加密與鑒別_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第四章信息加密與鑒別內(nèi)容提要本章介紹密碼學的基本概念。介紹加密領域中兩種主流的加密技術:DES加密(DataEncryptionStandard)RSA加密(Rivest-Shamir-Adleman)并用程序?qū)崿F(xiàn)這兩種加密技術的算法。最后介紹目前常用的加密工具PGP(PrettyGoodPrivacy),使用PGP產(chǎn)生密鑰,加密文件和郵件。4.1信息加密基礎

4.1.1信息加密的發(fā)展1、密碼學概述密碼學是一門古老而深奧的學科,對一般人來說是非常陌生的。長期以來,只在很小的范圍內(nèi)使用,如軍事、外交、情報等部門。計算機密碼學是研究計算機信息加密、解密及其變換的科學,是數(shù)學和計算機的交叉學科,也是一門新興的學科。密碼技術簡介密碼學的歷史比較悠久,在四千年前,古埃及人就開始使用密碼來保密傳遞消息。兩千多年前,羅馬國王JuliusCaesare(愷撒)就開始使用目前稱為“愷撒密碼”的密碼系統(tǒng)。但是密碼技術直到本20世紀40年代以后才有重大突破和發(fā)展。特別是20世紀70年代后期,由于計算機、電子通信的廣泛使用,現(xiàn)代密碼學得到了空前的發(fā)展。中途島之戰(zhàn)中途島,陸地面積約5.2平方公里,有三條交叉的飛機跑道。該島距美國舊金山和日本橫賓均相距2800海里,處于亞洲和北美之間的太平洋航線的中途,故名中途島。

中途島海戰(zhàn)日本海軍聯(lián)合艦隊司令山本五十六日本海軍蒼龍和飛龍?zhí)柡娇漳概灻琅炤d40毫米高炮向來襲日機猛烈開火美國海軍上將尼米茲約瑟夫·羅謝福特少校,美國密碼專家,1940年,他幫助破解了日本海軍的通訊密碼JN-25,1942年中途島戰(zhàn)役前破譯日軍攻擊目標。

1942年6月,中途島之戰(zhàn),美國軍隊和日本帝國海軍作戰(zhàn)的場面。中途島海戰(zhàn)中美、日損失比較

類別國家航空母艦飛機(架)人員(人)日本4赤城、加賀、蒼龍、飛龍3222000美國1約克頓號147307偷襲珍珠港:

1941年12月7日清晨,日本皇家海軍的飛機和微型潛艇突然襲擊美國海軍基地珍珠港以及美國陸軍和海軍在夏威夷歐胡島上的飛機場的事件。這次襲擊最終將美國卷入第二次世界大戰(zhàn)。2、基本概念(1)消息和加密遵循國際命名標準,加密和解密可以翻譯成:“Encipher(譯成密碼)”和“(Decipher)(解譯密碼)”。也可以這樣命名:“Encrypt(加密)”和“Decrypt(解密)”。消息被稱為明文。用某種方法偽裝消息以隱藏它的內(nèi)容的過程稱為加密,加了密的消息稱為密文,而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密,圖表明了加密和解密的過程。明文密文明文用M(Message,消息)或P(Plaintext,明文)表示,它可能是比特流、文本文件、位圖、數(shù)字化的語音流或者數(shù)字化的視頻圖像等。密文用C(Cipher)表示,也是二進制數(shù)據(jù)。加密函數(shù)E作用于M得到密文C:E(M)=C。解密函數(shù)D作用于C產(chǎn)生明文M,D(C)=M。先加密后再解密消息,原始的明文將恢復出來:D(E(M))=M必須成立。鑒別、完整性和抗抵賴性

除了提供機密性外,密碼學需要提供三方面的功能:鑒別、完整性和抗抵賴性。鑒別:消息的接收者應該能夠確認消息的來源;入侵者不可能偽裝成他人。完整性:消息的接收者應該能夠驗證在傳送過程中消息沒有被修改;入侵者不可能用假消息代替合法消息??沟仲囆裕喊l(fā)送消息者事后不可能虛假地否認他發(fā)送的消息。(2)算法和密鑰

密鑰用K表示。密鑰K的可能值的范圍叫做密鑰空間。加密和解密運算都使用這個密鑰,即運算都依賴于密鑰,并用K作為下標表示,加解密函數(shù)表達為:EK(M)=CDK(C)=MDK(EK(M))=M,如圖所示。有些算法使用不同的加密密鑰和解密密鑰,也就是說加密密鑰K1與相應的解密密鑰K2不同,在這種情況下,加密和解密的函數(shù)表達式為:EK1(M)=CDK2(C)=M函數(shù)必須具有的特性是,DK2(EK1(M))=M,如圖所示。4.2傳統(tǒng)加密技術4.2.1替代密碼概述替代密碼是通過密鑰字母表用一組密文字母來代替一組明文字母以隱藏明文,但保持明文字母的位置不變。如果密鑰字母表由一個字母表構成替代密碼,稱為單表替代密碼,如果由多個字母表構成替代密碼,稱為多表替代密碼。替代密碼單表替代密碼多表替代密碼20世紀早期密碼機1、單表替代密碼單表替代密碼的代表是凱撒密碼,又叫循環(huán)移位密碼。其加密方法是把明文中的所有字母都用它右邊的第k個字母替代,并認為Z后面又是A。其映射關系函數(shù)為:F(a)=(a+k)modna—明文字母;n—字符集字母個數(shù);k—密鑰ABCDEF…VWXYZ(k=3)DEFGHI…YZABC1、單表替代密碼單表替代密碼的優(yōu)點:密鑰簡單、易記;單表替代密碼的缺點:這種密碼是很容易破譯的,因為最多只需嘗試25次即可輕松破譯密碼。凱撒密碼的優(yōu)點是密鑰簡單易記。但它的密碼文與明碼文的對應關系過于簡單,故安全性很差2、多表替代密碼周期替代密碼是一種常用的多表替代密碼,又叫維吉尼亞密碼。其加密表是以字母表移位為基礎把26個英文字母進行循環(huán)移位,排列在一起,形成26*26方陣,稱為維吉尼亞表。ABCDEFGHIJKLMNOPQRSTUV…ZAB…ZABCDEFGHIJKLMNOPQRSTUV…ZBCDEFGHIJKLMNOPQRSTUVW…A…………..ZABCDEFGHIJKLMNOPQRSTU…Y2、多表替代密碼周期替代密碼在實際使用時,往往把某個容易記憶的詞或詞組當作密鑰,然后把密鑰反復寫在明文下方或上方。加密時,以明文字母選擇列,以密鑰字母選擇行,兩者的交點就是加密生成的密文字母;解密時做逆操作即可。重點難點:多表替代密碼周期多表密碼,每張表=caesar密碼密鑰不斷重復密鑰字母決定移位的次數(shù)假設密鑰為deceptive:key:decep

tivedecept

ived

eceptiveplaintext:wearediscoveredsaveyourselfciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJVigenère密碼3.換位密碼(1)換位密碼概述(2)列換位法(3)矩陣換位法維吉尼亞密碼的破解維吉尼亞密碼(VigenereCipher)對字頻信息的隱藏還不夠徹底。在19世紀50年代,英國人查爾斯-巴貝奇對其的破解.其實其破解的基本思想如下:

比如在密文中,經(jīng)常出現(xiàn)了同一個子串(比如UPK),而且每個字串之間的距離都是3的整數(shù)倍.那么解密者就很容易推測出秘匙的長度為3.其原因也是十分簡單的:

當秘匙在重復了N次之后,其還是用第一個字母去加密UPK相應的明文.尤其是對THE,YOU,WHAT這類高頻詞匯當使用了弱秘匙的話,更容易遭受破解.換位密碼概述換位密碼是采用移位法進行加密的。它把明文中的字母重新排列,本身不變,但位置變了。換位密碼是靠重新安排字母的次序,而不是隱藏他們。換位加密方法有列換位法和矩陣換位法等。換位密碼……列換位法矩陣換位法1、列換位法列換位法是將明文字符分割成若干個(例如3個)一列的分組,并按一組后面跟著另一組的形式排好,不全的組用不常用的字符填滿。最后取各列來產(chǎn)生密文。密鑰為組中字符的個數(shù)。明文分組換位C1C2C3C4C5C6C7C8C9……C1C2C3C4C5C6C7C8C9……C1C2C3C4C5C6C7C8C9……C1C4C7…C2C5C8…C3C6C9…C1C4C7…C2C5C8…C3C6C9…C1C4C7…C2C5C8…C3C6C9…密文加密案例列換位法將明文字符分割成為五個一列的分組并按一組后面跟著另一組的形式排好。如明文是:

WHATYOUCANLEARNFROMTHISBOOK

分組排列為:WHATYOUCANLEARNFROMTHISBOOKXXX密文為:WOLFHOHUERIKACAOSXTARMBXYNNTOX2、矩陣換位法矩陣換位法是將明文字符按給定的順序排列在一矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。密鑰為矩陣的行數(shù)、列數(shù)以及給定的置換矩陣。明文矩陣換位C1C2C3C4C5C6C7C8C9……C1C2C3C4C5C6C7C8C9……C1C2C3C4C5C6C7C8C9……C1C4C7…C2C5C8…C3C6C9…密文C1C4C7…C2C5C8…C3C6C9…C3C1C2C6C4C5C9C7C8………C3C1C2C6C4C5C9C7C8…….C3C1C2C6C4C5C9C7C8…….4.3對稱算法基于密鑰的算法通常有兩類:對稱算法和公開密鑰算法(非對稱算法)。對稱算法有時又叫傳統(tǒng)密碼算法,加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數(shù)對稱算法中,加解密的密鑰是相同的。對稱算法要求發(fā)送者和接收者在安全通信之前,協(xié)商一個密鑰。對稱算法的安全性依賴于密鑰,泄漏密鑰就意味著任何人都能對消息進行加解密。對稱算法的加密和解密表示為:EK(M)=CDK(C)=M4.3.1DES對稱加密技術DES(DataEncryptionStandard)算法發(fā)明人:IBM公司W(wǎng).Tuchman和C.Meyer.基礎:1967年美國HorstFeistel提出的理論;產(chǎn)生:美國國家標準局1973年開始研究除國防部外的其它部門的計算機系統(tǒng)的數(shù)據(jù)加密標準,于1973年5月15日和1974年8月27日先后兩次向公眾發(fā)出了征求加密算法的公告,最終選定DES。2、DES算法的原理

DES算法的入口參數(shù)有三個:Key、Data、Mode。其中:Key為8個字節(jié)共64位,是DES算法的工作密鑰;Data也為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式有兩種:加密或解密。3、DES算法的實現(xiàn)步驟

輸入64比特明文數(shù)據(jù)初始置換IP在密鑰控制下16輪迭代初始逆置換IP-1輸出64比特密文數(shù)據(jù)交換左右32比特DES算法一般描述

64bitsplaintext56bitskey初始置換IP第1輪置換選擇1循環(huán)左移置換選擇2K1第2輪置換選擇2循環(huán)左移K2第16輪K16置換選擇2循環(huán)左移32bits對換逆初始置換IP-164bitsciphertext48bits3、DES算法的實現(xiàn)步驟第一步:變換明文。對給定的64位比特的明文X,首先通過一個置換IP表來重新排列X,從而構造出64位比特的X0,X0=IP(X)=L0R0,其中L0表示X0的前32比特,R0表示X0的后32位。

第二步:按照規(guī)則迭代。Li=Ri-1

Ri=Li⊕f(Ri-1,Ki)(i=1,2,3…16)經(jīng)過第一步變換已經(jīng)得到L0和R0的值,其中符號⊕表示的數(shù)學運算是異或,f表示一種置換,由S盒置換構成,Ki是一些由密鑰編排函數(shù)產(chǎn)生的比特塊。f和Ki將在后面介紹。第三步:對L16R16利用IP-1作逆置換,就得到了密文y。加密過程如圖所示。3、DES算法的實現(xiàn)步驟

DES加密需要四個關鍵點:

1、IP置換表和IP-1逆置換表。2、函數(shù)f。3、子密鑰Ki。4、S盒的工作原理。

DES對64位的明文分組進行操作,通過一個初始置換,將明文分組成左半部分和右半部分,各32位長。然后進行16輪完全相同的運算,這些運算被稱為函數(shù)f,在運算過程中數(shù)據(jù)與密匙結合。經(jīng)過16輪后,左,右半部分合在一起經(jīng)過一個末置換,這樣就完成了。(1)IP置換表和IP-1逆置換表5850423426181026052443628201246254463830221466456484032241685749413325179159514335271911361534537292113563554739312315740848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725輸入的第58位作為第1位輸入的第50位作為第2位輸入的第7位作為第64位輸入的第40位作為第1位輸入的第8位作為第2位輸入的第25位作為第64位IP與IP-1互逆M=(m1,m2,…..)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455561234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556IP(M)=(m58,m50

)=(m1

1,m1

2,…..)5850423426181026052443628201246254463830221466456484032241685749413325179161584537292113563554739312315740848165624643239747155523633138646145422623037545135321612936444125220602834242105018582633141949175725IPIP-159514335271911 357585960616263643534311511959275758596061626364(1)IP置換表和IP-1逆置換表輸入的64位數(shù)據(jù)按置換IP表進行重新組合,并把輸出分為L0、R0兩部分,每部分各長32位。比如:置換前的輸入值為D1D2D3…D64,則經(jīng)過初始置換后的結果為:L0=D58D50...D8,R0=D57D49...D7。經(jīng)過16次迭代運算后。得到L16、R16,將此作為輸入,進行逆置換,即得到密文輸出。逆置換正好是初始值的逆運算,例如,第20位經(jīng)過初始置換后,處于第14位,而通過逆置換IP-1,又將第14位換回到第20位。DES的一輪迭代(F函數(shù))Li-1

(32

bit)Ri-1

(32bit)選擇擴展運算E盒48bit寄存器48bit寄存器選擇壓縮運算S盒32bit寄存器置換運算PRi=Li-1⊕f(Ri-1,ki)

(32

bit)(32bit)⊕⊕Li

=Ri-1輪開始:64bit分成左右兩半子密鑰Ki

(48bit)擴展置換E盒(ExpandBox)將輸入的32bit塊擴展到48bit的輸出塊;48bit的輸出塊再分成8個6bit塊;0102030405060708091011121314151617181920212223242526272829303132010203040506070809101112131415161718192021222324252627282930313232040812162024280509131721252901擴展置換函數(shù)E擴展位擴展位固定位壓縮替代S盒(SubstitutionBox)48bit塊通過S盒壓縮成32bit塊;S盒將6個輸入位映射為4個輸出位48bit寄存器32bit寄存器

S1S2S3S4S5S6S7S86bit4bit共8個S盒將E的選位結果與Ki作異或操作,得到一個48位輸出。分成8組,每組6位,作為8個S盒的輸入。S盒S1盒1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S2盒1518146113497213120510313471528141201106911501471110413158126932151381013154211671205149作用:將6個輸入位映射為4個輸出位;方法:若定義a1a2a3a4a5a6,將a1a6組成2位二進制數(shù),對應S盒表中的行號;將a2a3a4a5組成一個4位的2進制數(shù),對應S盒表中的列號;映射到交叉點的數(shù)據(jù)就是該S盒的輸出。

S1輸入為101011的輸出是?A1a6=11a2a3a4a5=01011001S1S2S3S4S5S6S7S8D01230123012301230123012301230123014041515130131013131713103214411121094413161317214151121131480761013861512112811513311041121511121371488471090413141190421121041522111113813414314821471111499035061121171525121471384817421413461510363860612107410197291541216109451526911241534159615111107131421285093415312106111321381341563890713111372691215817101171487811174141251007103138618138531013101471421383101559125111211414159851560671131410910120159106121170861381152714509151310141231559562106129321127125214823531512031341956036109111211714131061271412351214111510594141077128151411130125931012690111251111151213361014016520145015313951000935411105121027093471113010155201435140356511214215142414821480553118689312956157801310515981712159414961431186131621272811表

選擇函數(shù)S盒表例

S盒應用實例:設B1=101100,求S1(B1)則S1(B1)的值位于列號為2的列和行號為6的行,即等于2,因此S1(B1)的輸出是0010。S盒DES中其它算法都是線性的,而S盒運算則是非線性的,S盒不易于分析,它提供了更好的安全性;所以S盒是算法的關鍵所在;提供了密碼算法所必需的混亂作用置換函數(shù)P(Permutaion)P置換的目的是:提供雪崩效應;明文或密鑰的一點小的變動都引起密文的較大變化;P的功能是對輸入進行置換,P換位表如表所示:1607202129122817011523260518311002082414322703091913300622110425DES中子密鑰的生成假設密鑰為K,長度為64位,但是其中第8、16、24、32、40、48、64用作奇偶校驗位,實際上密鑰長度為56位。DES中子密鑰的生成64bit密鑰置換選擇1C0(28bit)D0(28bit)循環(huán)左移循環(huán)左移C1(28bit)D1(28bit)循環(huán)左移循環(huán)左移置換選擇2置換選擇2循環(huán)左移1234567811222222091011121314151612222221密鑰表的計算邏輯:Ci(28bit)Di(28bit)(56bit)(56bit)Ki

K0

(48bit)(48bit)(56bit)子密鑰ki

由于不考慮每個字節(jié)的第8位,DES的密匙由64位減至56位,每個字節(jié)第8位作為奇偶校驗確保密匙不發(fā)生錯誤。

假設密鑰為K,長度為64位,但是其中第8、16、24、32、40、48、64用作奇偶校驗位,實際上密鑰長度為56位。K的下標i的取值范圍是1到16,用16輪來構造。構造過程如圖所示。第一輪:對C0作左移LS1得到C1,對D0作左移LS1得到D1,對C1D1應用PC2進行選位,得到K1。其中LS1是左移的位數(shù),如表所示第二輪:對C1,D1作左移LS2得到C2和D2,進一步對C2D2應用PC2進行選位,得到K2。如此繼續(xù),分別得到K3,K4…K16。置換選擇-1(7*8)置換選擇-2(6*8)

574941332517915850423426181025951432527191136052443663554739312315762544638302214661534537292113528201241417112415328156211023191242681672720132415231374755304051453348444939563453464250362932假設密鑰為K,長度為64位,但是其中第8、16、24、32、40、48、64用作奇偶校驗位,實際上密鑰長度為56位。對于給定的密鑰K,應用PC1變換進行選位,選定后的結果是56位子密鑰換位表PC-2給出了選擇及選擇后的次序,可以看出去掉了第9、18、22、25、35、38、43、54位函數(shù)f函數(shù)f有兩個輸入:32位的Ri-1和48位Ki,f函數(shù)的處理流程如圖所示。DES例題:

明文M=“SECURITY”,密鑰K=“COMPUTER”。

SECURITY的ASCII碼為:[53

4543

55

5249

5459]16,轉(zhuǎn)換成二進制:M=(01010011010001010100001101010101

01010010010010010101010001011001)2;IP置換表:經(jīng)過IP置換后的排列結果:11111111

110110010100101010101111L00000000000000000

10100000

00010101

R0DES例題:K=“COMPUTER”的ASCII碼用二進制表示:[434F4D5055544552]16K=0100001101001111010011010101000001010101

0101010001000101K加上第8、16、24、…、64位的奇同位檢查碼,并去掉末8位結果如下:K’=(0100

0011

1010

0111

1101

00111010

1011

0000

0100

1010

1011

0101

0001

1000

1010)2密鑰是64位,加入8個奇同校驗位,為72位,去掉字母R,變成64位密鑰長度不是64的整數(shù)倍一般右補0x00;當然加密和解密應該實現(xiàn)同樣的補位原則。即當加密是右補

0x00,解密時要把補位的0x00去掉就可以還原數(shù)據(jù)。在此,安全性肯定是不影響,但有一個問題就是要加密的數(shù)據(jù)中末尾有0x00的問題如何解決,這是應考慮用別的補位數(shù)據(jù),如0xff等。

DES例題:K’經(jīng)過PC-1置換后得到C0,D0C0=1010111001000101001010100100D0=1010

1111

0001

0010

1010

1000

0100因為是第一次迭代,故左移1位C0D0得到C1D1為:C1=0101110010001010010101001001D1=0101111000100101010100001001C1D1在經(jīng)過PC-2置換得48位子密鑰K1:K1=000001011100000100000111000000100011101111110001DES例題:將32位R0進行擴展置換后得48位:E(R0)=100000000000

0000

00000001010100000000

000010101010然后將E(R0)與K1進行異或得A:A=100001011100000100000110010100100011

1011

0101

1011將結果A分為8組,A1=100001,查S1盒坐標(3,0)得B1=15;A2=011100,查S2盒坐標(0,14)得B2=5;A3=000100,查S3盒坐標(0,2)得B3=9;A4=000110,查S4盒坐標(0,3)得B4=3;A5=010100,查S5盒坐標(0,10)得B5=3;A6=100011,查S6盒坐標(3,1)得B6=3;A7=101101,查S7盒坐標(3,6)得B7=10;A8=011011,查S8盒坐標(1,13)得B8=14DES例題:合并B1B2…B8得數(shù)據(jù)B:B=11110101100100110011

001110101110進行置換P得:X0=10101100111000101110011110110011將L0與X0按位異或,形成R1:R1=01010011001110111000110100011100令L1=R0至此,求出第一輪迭代結果L1R1,依次類推可求出L16R16,在經(jīng)過逆初始置換即可獲得密文。DES密鑰的產(chǎn)生K=[science]的ASCII碼是:[736369656e6365]其二進制表示是:(01110011)(01100011)(01101001)(01100101)(01101110)(01100011)(01100101)共56個位元加入奇同位檢查碼結果如下:(01110011)(10110000)(11011010)(00101100)(01010111)(01110011)(10001100)(11001011)共64位按照置換選擇1矩陣進行排列:結果如下:(11000110)(10110101)(00101011)

(00111011)(01010101)(10001100)(11000111)將結果分成KL0及KR0:KL0=1100011010110101001010110011KR0=1011010101011000110011000111按照循環(huán)移位表分別向左移動一位:KL1=1000110101101010010101100111KR1=0110101010110001100110001111經(jīng)過置換選擇2,生成K1:K1=00101101110110001100111000110111

0111111101000000DES的解密過程DES的運算是對合運算(模2相加、異或),解密和加密可共用同一個運算。不同點:子密鑰使用的順序不同。第一次解密迭代使用子密鑰K16,第二次解密迭代使用子密鑰K15,第十六次解密迭代使用子密鑰K1。

在數(shù)學中,對合函數(shù)是指函數(shù)f(x)滿足f(f(x))=x。DES運算是對合運算,是指解密和加密可以共用同一運算(只是子密鑰使用的順序不同)DES算法的安全性DES算法具有比較高安全性,到目前為止,除了用窮舉搜索法對DES算法進行攻擊外,還沒有發(fā)現(xiàn)更有效的辦法。而56位長的密鑰的窮舉空間為256,如果一臺計算機的速度是每一秒種檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近228.5年的時間。f函數(shù)(S盒)的設計原理未知;DESCHALLDES分組加密算法是美國政府于1977年公布的數(shù)據(jù)加密標準,已在銀行業(yè)和金融業(yè)使用了近二十年,自從其公布起,DES就一直不斷地被人們研究和攻擊,它是世界上最知名的、使用最廣泛的分組密碼算法。目前攻擊DES的最有效的辦法是密鑰窮舉攻擊,Verser設計了一個密鑰窮舉攻擊程序,用以窮舉所有可能的DES密鑰,直至找到正確的那一個密鑰,這個計算機程序可以從Internet上分發(fā)和下載。他把這項計劃命名為DESCHALL,這項計劃開始時只有幾百人參與,最終吸引了數(shù)萬名志愿者參加。每有一名新的志愿者加入,DESCHALL小組就為其分配一部分密鑰空間讓其測試,這樣,正確的密鑰最終會在某一名志愿者的計算機中出現(xiàn)。1997年1月28日,美國的RSA數(shù)據(jù)安全公司在RSA安全年會上公布了一項“秘密密鑰挑戰(zhàn)”(Secret-KeyChallange)競賽,分別懸賞$1000、$5000、$10000用于攻破不同密鑰長度的RC5密碼算法,同時還懸賞$10000破密鑰長度為56bits的DES算法。美國克羅拉多州的程序員RockeVerser從97年3月13日起,在Internet上數(shù)萬名志愿者的協(xié)同工作下,在RSA挑戰(zhàn)賽公布之后的第140天、DESCHALL計劃實施的第96天,6月17日的晚10點39分,鹽湖城iNetZ公司的職員Michael

Sanders在他那臺主頻為奔騰90Hz、16M內(nèi)存的PC機上成功地解出了DES的明文,找到了正確的密鑰。

密鑰長度(bit) 窮舉時間40 78秒48 5小時56 59天64 41年72 10,696年80 2,738,199年88 700,978,948年96 179,450,610,898年112 11,760,475,235,863,837年128 770,734,505,057,572,442,069年DESCHALL搜索速度估算4.4非對稱(公開)密鑰算法公開密鑰算法(非對稱算法)的加密的密鑰和解密的密鑰不同,而且解密密鑰不能根據(jù)加密密鑰計算出來,或者至少在可以計算的時間內(nèi)不能計算出來。之所以叫做公開密鑰算法,是因為加密密鑰能夠公開,即陌生者能用加密密鑰加密信息,但只有用相應的解密密鑰才能解密信息。加密密鑰叫做公開密鑰(簡稱公鑰),解密密鑰叫做私人密鑰(簡稱私鑰)。公開密鑰K1加密表示為:EK1(M)=C。公開密鑰和私人密鑰是不同的,用相應的私人密鑰K2解密可表示為:DK2(C)=M。4.4.2RSA公開密鑰加密技術公開密鑰加密基本思想是利用求解某些數(shù)學難題的困難性。用戶的加密密鑰與解密密鑰不再相同,理論上通過加密密鑰求解解密密鑰是不可能的。RSA是由MIT的Rivest,Shamir&Adleman

在1977提出最著名的且被廣泛應用的公鑰加密體制,RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。1.RSA算法描述加密:C=MemodN,where0≤M<N解密:M=CdmodN公鑰為(e,N),私鑰為(d,N)2.RSA密鑰產(chǎn)生過程隨機選擇兩個大素數(shù)p,q計算N=p.q注意?(N)=(p-1)(q-1)選擇e使得1<e<?(N),且gcd(e,?(N))=1解下列方程求出de.d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論