非對稱算法(共8頁)_第1頁
非對稱算法(共8頁)_第2頁
非對稱算法(共8頁)_第3頁
非對稱算法(共8頁)_第4頁
非對稱算法(共8頁)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、非對稱算法(sun f)非對稱 HYPERLINK /view/934.htm t /_blank 密鑰算法(sun f)是指一個 HYPERLINK /view/155969.htm t /_blank 加密算法的加密(ji m)密鑰和解 HYPERLINK /subview/2992698/10990363.htm t /_blank 密密鑰是不一樣的,或者說不能由其中一個密鑰推導出另一個密鑰。簡介非對稱 HYPERLINK /view/934.htm t /_blank 密鑰也叫 HYPERLINK /view/1145160.htm t /_blank 公開密鑰加密,它是用兩個數(shù)學相關

2、的密鑰對信息進行編碼。在此系統(tǒng)中,其中一個 HYPERLINK /view/934.htm t /_blank 密鑰叫公開密鑰,可隨意發(fā)給期望同密鑰持有者進行安全通信的人。 HYPERLINK /view/1145160.htm t /_blank 公開密鑰用于對信息加密。第二個密鑰是私有密鑰,屬于密鑰持有者,此人要仔細保存私有密鑰。密鑰持有者用私有密鑰對收到的信息進行解密。優(yōu)點首先,在多人之間進行保密信息傳輸所需的密鑰組和數(shù)量很??;第二,密鑰的發(fā)布不成問題;第三, HYPERLINK /view/1145160.htm t /_blank 公開密鑰系統(tǒng)可實現(xiàn)數(shù)字簽名。缺點: HYPERLIN

3、K /view/444169.htm t /_blank 公開密鑰加密比私有密鑰加密在加密/解密時的速度慢。加解密時采用的 HYPERLINK /view/934.htm t /_blank 密鑰的差異:從上述對對稱密鑰算法和非對稱密鑰算法的描述中可看出,對稱密鑰加解密使用的同一個密鑰,或者能從加 HYPERLINK /subview/2992698/10990363.htm t /_blank 密密鑰很容易推出解密密鑰對稱密鑰算法具有加密處理簡單,加解密速度快,密鑰較短,發(fā)展歷史悠久等特點,非對稱密鑰算法具有加解密速度慢的特點,密鑰尺寸大,發(fā)展歷史較短等特點。asymmetric encod

4、ing algorithm非 HYPERLINK /view/7591.htm t /_blank 對稱加密算法需要兩個密鑰: HYPERLINK /view/1145160.htm t /_blank 公開密鑰(publickey)和私有密鑰(privatekey)。 HYPERLINK /view/1145160.htm t /_blank 公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非 HYPERLINK /view/7591.h

5、tm t /_blank 對稱加密算法。 非 HYPERLINK /view/7591.htm t /_blank 對稱加密算法實現(xiàn)機密信息交換的基本過程是:甲方生成一對 HYPERLINK /view/934.htm t /_blank 密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密后再發(fā)送給甲方;甲方再用自己保存的另一把專用密鑰對加密后的信息進行解密。另一方面,甲方可以使用乙方的公鑰對機密信息進行加密后再發(fā)送給乙方;乙方再用自己的私匙對加密后的信息進行解密。甲方只能用其專用 HYPERLINK /view/934.htm t /_blank 密

6、鑰解密由其公用密鑰加密后的任何信息。 非 HYPERLINK /view/7591.htm t /_blank 對稱加密算法的保密性比較好,它消除了最終用戶交換 HYPERLINK /view/934.htm t /_blank 密鑰的需要。非對稱 HYPERLINK /view/1519102.htm t /_blank 密碼體制的特點:算法強度復雜、安全性依賴于算法與密鑰但是由于其算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱 HYPERLINK /view/1519102.htm t /_blank 密碼體制中只有一種密鑰,并且是非公開的,如果要解密就得讓對方知道密鑰。所以保

7、證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。SM2橢圓曲線公鑰密碼(m m)算法SM2算法就是ECC橢圓曲線密碼機制,但在簽名、密鑰交換方面不同于ECDSA、ECDH等國際標準,而是采取了更為安全的機制。另外(ln wi),SM2推薦了一條256位的曲線作為標準曲線。ECC橢圓曲線(qxin)密碼體制Koblitz和Miller在1985年各自引入密碼學。橢圓曲線的Weierstrass方程為,其上面的所有點和無窮遠點構成一個加法交換群,其中無窮遠點是加法零元。此群的加法法則可以由弦切法所給出

8、,具體見下圖。左圖中是兩個不同點P和Q的加法,右圖為相同的點P和P的加法。由弦切法便可以給出橢圓曲線上的加法方程。多倍點運算是指:給定一點P和一個整數(shù)k,計算kP,即k個P點的和。橢圓曲線上的離散對數(shù)問題為:給定點P和kP,計算整數(shù)k。橢圓曲線密碼體制的安全性便是建立在橢圓曲線離散對數(shù)問題之上。SM2標準包括總則,數(shù)字簽名算法,密鑰交換協(xié)議,公鑰加密算法四個部分,并在每個部分的附錄詳細說明了實現(xiàn)的相關細節(jié)及示例。SM2算法主要考慮素域和上的橢圓曲線,分別介紹了這兩類域的表示,運算,以及域上的橢圓曲線的點的表示,運算和多倍點計算算法。然后介紹了編程語言中的數(shù)據(jù)轉換,包括整數(shù)和字節(jié)串,字節(jié)串和比特

9、串,域元素和比特串,域元素和整數(shù),點和字節(jié)串之間的數(shù)據(jù)轉換規(guī)則。詳細說明了有限域上橢圓曲線的參數(shù)生成以及驗證,橢圓曲線的參數(shù)包括有限域的選取,橢圓曲線方程參數(shù),橢圓曲線群基點的選取等,并給出了選取的標準以便于驗證。最后給出橢圓曲線上密鑰對的生成以及公鑰的驗證,用戶的密鑰對為(s,sP),其中s為用戶的私鑰,sP為用戶的公鑰,由于離散對數(shù)問題從sP難以得到s,并針對素域和二元擴域給出了密鑰對生成細節(jié)和驗證方式??倓t中的知識也適用于SM9算法。在總則(zngz)的基礎上給出了數(shù)字簽名算法(包括數(shù)字簽名生成算法和驗證算法),密鑰交換協(xié)議以及公鑰加密算法(包括加密算法和解密算法),并在每個部分給出了算

10、法描述,算法流程和相關示例。數(shù)字簽名算法(sun f)適用于商用應用中的數(shù)字簽名和驗證,可滿足多種密碼應用中的身份(shn fen)認證和數(shù)據(jù)完整性,真實性的安全需求。密鑰交換協(xié)議適用于商用密碼應用中的密鑰交換,可滿足通信雙方經(jīng)過兩次或可選三次信息傳遞過程,計算獲取一個由雙方共同決定的共享秘密密鑰(會話秘鑰)。公鑰加密算法適用于國家商用密碼應用中的消息加解密,消息發(fā)送者可以利用接收者的公鑰對消息進行加密,接收者用對應的私鑰進行解,獲取消息。數(shù)字簽名算法,密鑰交換協(xié)議以及公鑰加密算法都使用了國家密管理局批準的SM3密碼雜湊算法和隨機數(shù)發(fā)生器。數(shù)字簽名算法,密鑰交換協(xié)議以及公鑰加密算法根據(jù)總則來選

11、取有限域和橢圓曲線,并生成密鑰對,具體算法,流程和示例見SM2標準。SM2算法和RSA、對稱算法等強度對比如下。保密級別對稱密鑰長度RSA密鑰長度ECC密鑰長度保密年限808010241602010112112204822420301281283072256204019219276803842080256256153605122120SM9非對稱算法(sun f)SM9是基于對的標識密碼算法,與SM2類似,包含四個部分:總則,數(shù)字簽名算法,密鑰交換協(xié)議(xiy)以及密鑰封裝機制和公鑰加密算法。在這些算法中使用了橢圓曲線上的對這一個工具,不同于傳統(tǒng)意義上的SM2算法,可以實現(xiàn)基于身份的密碼體制,

12、也就是公鑰與用戶的身份信息即標識相關,從而比傳統(tǒng)意義上的公鑰密碼體制有許多優(yōu)點,省去了證書管理等。密碼(m m)中雙線性對滿足如下條件:雙線性性:對任意的,以及,有;非退化性:,其中P為的生成元,Q為的生成元;可計算性:存在有效的算法計算。其中,為橢圓曲線上的加法群,而為有限域的乘法群。在橢圓曲線對中,根據(jù)與是否關系,以及橢圓曲線上的自同態(tài),可以將對分成三種類型,需要考慮在超奇異橢圓曲線,常橢圓曲線上來選取對。常用的對有Weil對,Tate對,Ate對,以及最優(yōu)對等?;趯Φ臉俗R密碼算法建立在一些對的難解問題,例如雙線性Diffie-Hellman問題,雙線性逆DH問題等。橢圓曲線上的雙線性對

13、為其中k為的嵌入次數(shù)。雙線性對的雙線性的性質是基于對的標識密碼算法的基礎。SM2中的總則部分同樣適用于SM9,由于SM9總則中添加了適用于對的相關理論和實現(xiàn)基礎。橢圓曲線雙線性對定義和計算在擴域上進行,總則中給出了擴域的表示和運算(yn sun),考慮和上的橢圓曲線。數(shù)據(jù)類型轉換同樣包括整數(shù)與字節(jié)串,比特串和字節(jié)串,字節(jié)串和域元素,點和字節(jié)串之間的轉換,其中字節(jié)串和域元素之間的數(shù)據(jù)類型轉換涉及到擴域。系統(tǒng)參數(shù)的生成比SM2復雜(fz),涉及到對的相關參數(shù),驗證也相應地復雜。并在附錄B里面詳細地描述了計算對的算法Miller算法,并給出了Tate對,Ate的計算,以及適合對的橢圓曲線的生成。 基

14、于總則中的橢圓曲線以及對的基本選取,給出系統(tǒng)參數(shù)組,系統(tǒng)主密鑰和用戶密鑰的產(chǎn)生。用戶密鑰由系統(tǒng)的主密鑰和用戶標識共同產(chǎn)生。SM9給出了數(shù)字簽名算法(包括數(shù)字簽名生成算法,數(shù)字簽名驗證算法),密鑰交換協(xié)議,以及密鑰封裝機制和公鑰加密算法(包括密鑰封裝算法,加密盒解密算法)。數(shù)字簽名算法適用于接收者通過簽名者的標識驗證數(shù)據(jù)的完整性和數(shù)據(jù)發(fā)送者的身份,也適用于第三方確定簽名及所簽數(shù)據(jù)的真實性。密鑰交換協(xié)議可以使用通信雙方通過雙方的標識和自身的私鑰經(jīng)過兩次或者可選三次信息傳遞過程,計算獲取一個由雙方共同決定的共享秘密密鑰。密鑰封裝機制和公鑰加密算法中,利用密鑰封裝機制可以封裝密鑰給特定的實體。公鑰加密

15、和解密算法即基于標識的非對稱秘密算法,該算法使消息發(fā)送者可以利用接收者的標識對消息進行加密,唯有接收者可以用相應的私鑰對該密文進行解密,從而獲取消息。基于對的算法中同樣使用了國家密管理局批準的SM3密碼雜湊算法和隨機數(shù)發(fā)生器,密鑰封裝機制和公鑰加密算法中使用了國家密碼管理局批準的對稱密碼算法和消息認證碼函數(shù)?;趯Φ臄?shù)字簽名算法,密鑰交換協(xié)議以及密鑰封裝機制和公鑰加密算法的具體算法,流程圖和示例(shl)見SM9標準。 RSA算法RSA HYPERLINK /view/355291.htm t /_blank 公鑰 HYPERLINK /view/155969.htm t /_blank 加密

16、算法是1977年由 HYPERLINK /view/2838988.htm t /_blank 羅納德李維斯特(Ron Rivest)、 HYPERLINK /view/10475292.htm t /_blank 阿迪薩莫爾(Adi Shamir)和 HYPERLINK /view/11580236.htm t /_blank 倫納德阿德曼(Leonard Adleman)一起提出的。1987年首次(shu c)公布,當時他們?nèi)硕荚诼槭±砉W院工作。RSA就是他們?nèi)诵帐祥_頭字母拼在一起組成的。RSA是目前(mqin)最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的絕大多數(shù)密碼攻擊,已

17、被ISO推薦為公鑰 HYPERLINK /view/1519129.htm t /_blank 數(shù)據(jù)加密(ji m)標準。今天只有短的RSA鑰匙才可能被強力方式解破。到2008年為止,世界上還沒有任何可靠的攻擊RSA算法的方式。只要其鑰匙的長度足夠長,用RSA加密的信息實際上是不能被解破的。但在 HYPERLINK /view/30655.htm t /_blank 分布式計算和 HYPERLINK /view/18645.htm t /_blank 量子計算機理論日趨成熟的今天,RSA加密安全性受到了挑戰(zhàn)。RSA算法基于一個十分簡單的數(shù)論事實:將兩個大素數(shù)相乘十分容易,但是想要對其乘積進行因

18、式分解卻極其困難,因此可以將乘積公開作為加密密鑰?;竞xRSA公開密鑰密碼體制。所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。在 HYPERLINK /view/696428.htm t /_blank 公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。 HYPERLINK /view/155969.htm t /_blank 加密算法E和解密算法D也都是公開的。雖然解密密鑰SK是由公開密鑰PK決定的,但卻不能根據(jù)PK計算出SK。正是基于這種理論,1978年出現(xiàn)了著名

19、的RSA算法,它通常是先生成一對RSA 密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在 HYPERLINK /view/813.htm t /_blank 網(wǎng)絡服務器中注冊。為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時,常采用傳統(tǒng)加密方法與 HYPERLINK /view/1145160.htm t /_blank 公開密鑰加密方法相結合的方式,即信息采用改進的DES或IDEA對話密鑰加密,然后使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息后,用不同的密鑰解密并可核對信息摘要。RSA算法

20、(sun f)是第一個能同時用于加密和 HYPERLINK /view/7626.htm t /_blank 數(shù)字簽名的算法,也易于理解和操作。RSA是被研究(ynji)得最廣泛的 HYPERLINK /view/355291.htm t /_blank 公鑰算法,從提出到現(xiàn)今的三十多年里,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前(mqin)最優(yōu)秀的公鑰方案之一。SET(Secure Electronic Transaction)協(xié)議中要求 HYPERLINK /view/23691.htm t /_blank CA采用2048 HYPERLINK /view/1260953.htm t /_blank bits長的密鑰,其他實體使用1024比特的密鑰。RSA密鑰長度隨著保密級別提高,增加很快。下表列出了對同一安全級別所對應的密鑰長度。保密級別對稱密鑰長度(bit)RSA密鑰長度(bit)ECC密鑰長度(bit)保密年限808010241602010112112204822420301281283072256204019219276803842080256256153605122120這種算法1978年就出現(xiàn)了,它是第一個既能用于數(shù)據(jù)加密也能用于 HYPERLINK /view/7626.h

溫馨提示

  • 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

提交評論