❶ 對稱密鑰體制與公鑰密鑰體制的特點各自是什麼各有何優缺點
對稱密鑰體制是加密密鑰與解密密鑰密碼相同,兩個參與者共享同一個密鑰。
公鑰密碼體制是使用不同的加密密鑰和解密密鑰,加密密鑰是公開信息,而解密密鑰需要保密。
公鑰密碼體制有很多良好的特性,它不僅可以用來加密,還可以很方便的用於鑒別和數字簽名。但公鑰密碼演算法比對稱密鑰密碼演算法要慢好幾個數量級。
對稱密鑰體制的加解密速度快且安全強度高,但密鑰難管理和傳送,不適於在網路中單獨使用。
密鑰的產生
1、選擇兩個大素數,p和q。
2、計算:n = p * q (p,q分別為兩個互異的大素數,p,q必須保密,一般要求p,q為安全素數,n的長度大於512bit,這主要是因為RSA演算法的安全性依賴於因子分解大數問題)。有歐拉函數(n)=(p-1)(q-1)。
3、然後隨機選擇加密密鑰e,要求e和( p - 1 ) * ( q - 1 )互質。
4、最後,利用Euclid演算法計算解密密鑰d,滿足de≡1(modφ(n))。其中n和d也要互質。數e和n是公鑰,d是私鑰。兩個素數p和q不再需要,應該丟棄,不要讓任何人知道。
❷ 公鑰密碼體系優缺點
先說優點吧。公鑰密碼體系中,其優點從本質上來說就是密鑰是成對出現,並為且僅為對方加密後的數據的解密密鑰。這個設計可以很方便解決密鑰分發的問題(如pki系統),也能解決信息安全中三個核心問題中的兩個,即保密性和完整性。保密性方面,我要給你傳遞個信息,不管是個對稱密鑰也好其他任意信息也好,我都能採用你公鑰開加密,然後再發給你,其原理保證了別人只要拿不到你私鑰就都解不開。這里的應用主要就是密鑰的傳遞了。完整性方面,你發布或者給人傳輸了個信息,這個信息是需要驗證沒被其他人改過或者別人要防止你事後抵賴的,這個時候你就得用自己的私鑰加密一下,讓人能用你的公鑰解開。同樣由於公鑰體系的基本原理,只要用你的公鑰能解密就證明了它確實是你發的,並沒被篡改(這個保障一般要結合散列演算法和時間戳等,並且這里的用私鑰加密和公鑰解密行業內叫簽名和驗簽,不展開說了)。這里的主要應用就是各種數字簽名技術,另外,基於數字證書的登陸也是它的體現。以上兩種結合起來也可以,如又簽名又加密的數字信封(不全是公鑰體系的功勞,散列和對稱也在裡面呢)。缺點也是很明顯的:速度慢,比對稱慢了不止一點。
❸ 公鑰長度不滿足是什麼意思
干貨:三種公鑰密碼
公鑰密碼概述
世界上幾乎每天都有新的密碼演算法誕生,同時,也有舊的密碼演算法被廢棄。事實上,大部分密碼演算法的誕生並未給密碼學家們帶來震撼,甚至在密碼界連一點細微的漣漪都沒有激起。然而,RSA公鑰密碼演算法自1977年問世以來,成為了密碼學史上劃時代的革命事件,給密碼學家們帶來了驚喜,其最大的貢獻在於它解決了傳統對稱密碼演算法難以解決的兩個問題:一是簽名認證,另一個是密鑰交換(協商)。公鑰密碼演算法的設計比對稱密碼演算法的設計具有更大的挑戰性。目前所使用的公鑰密碼演算法的安全性基礎主要是數學中的難題。
公鑰密碼演算法也常稱為非對稱密碼演算法。其最大特點是其密鑰是成對出現的,其密鑰對由公鑰和私鑰組成。公鑰和私鑰是不相同的,已知私鑰可推導出公鑰,但已知公鑰不能推導出私鑰。公鑰可對外公開,私鑰由用戶自己秘密保存。
公鑰密碼演算法有兩種基本應用模式:一是加密模式,即以用戶公鑰作為加密密鑰,以用戶私鑰作為解密密鑰,實現多個用戶的加密信息只能由一個用戶解讀;二是認證模式,即以用戶私鑰進行數字簽名,以用戶公鑰驗證簽名,實現一個用戶的簽名可以由多個用戶驗證。用於加解密中的密鑰對,稱為加密密鑰對。用於簽名驗證中的密鑰對稱為簽名密鑰對。
目前的公鑰密碼主要有RSA、ECC、IBC三類,針對RSA我國沒有相應的標准演算法出台,而針對ECC和IBC,我國分別有相應的SM2、SM9標准演算法發布。
RSA
1977年,麻省理工學院的三位數學家Rivest、Shamir、Adleman創建了一個比較完善的公鑰密碼演算法,就是著名的RSA演算法。RSA演算法在過去一直是最受歡迎的公鑰密碼演算法,其演算法比較簡單,加密解密都只是一個模冪運算,速度快,效率高。在相當長的一段時間內,RSA在公鑰密碼演算法中占據著主導地位,並得到了廣泛的應用。
也許因為RSA密碼的特殊地位和重要應用,國際上破解RSA的研究工作從來沒有間斷並在不斷推進。目前RSA 1024已失去其安全性,將被淘汰。目前看來,RSA 2048(及以上)是安全的,而RSA演算法復雜度隨著模長的增加,運算量成指數級上升,同時也相應增加了密鑰存儲量。
2011年,國家密碼管理局下發通知,停止審批RSA密碼應用新建項目。
ECC(SM2)
1985年, Miller和 Koblitz分別獨立提出了橢圓曲線密碼(ECC)。和RSA相比,ECC演算法的數學理論比較復雜,單位安全強度相對較高。ECC安全性建立在離散對數求取困難性基礎上,它的破譯或求解難度基本上是完全指數級的,而破解RSA的難度是亞指數級的。ECC公鑰密碼是單位比特強度最大的公鑰密碼,256比特的ECC公鑰密碼的安全強度比2048比特的RSA公鑰密碼強度還要強。要達到同樣的安全強度,ECC所需的密鑰長度遠比RSA低。
2012年,國家密碼管理局發布ECC國密標准演算法SM2。
IBC (SM9)
基於標識的密碼(Identity-Based Cryptography)簡稱IBC,是與RSA、ECC相比具有其獨特性的又一種公鑰密碼。這種獨特性表現在其公鑰是用戶的身份標識,而不是隨機數(亂碼)。
IBC這個概念最初出現於1984年Shamir(RSA密碼創始人之一)的論文中,IBC密碼系統公鑰和私鑰採用一種不同於RSA和ECC的特殊方法產生,即公鑰是用戶的身份標識,而私鑰通過綁定身份標識與系統主密鑰(master key)生成。
Miller在1985年創建橢圓曲線密碼(ECC)後不久,在其一篇未發表的手稿中首次給出了計算雙線性對的多項式時間演算法。但因為當時雙線性對在公鑰密碼中尚未取得有效應用,因此沒有引起研究者的關注。當雙線性對在公鑰密碼學中獲得諸多應用後,其計算的重要性也日趨顯著,時隔19年之後,Miller於2004年重新整理了當年的手稿,詳盡地論述了雙線性對的計算。雙線性對的有效計算奠定了IBC密碼演算法基礎。
2016年,國家密碼管理局於發布IBC國密標准演算法即SM9。
三種公鑰密碼應用比較
RSA與ECC/SM2公鑰密碼是基於數字證書的公鑰密碼,IBC/SM9是無證書的基於標識的公鑰密碼。
基於數字證書的公鑰密碼是目前廣泛使用的公鑰密碼,由可信的權威機構(CA)為每個用戶簽發公鑰證書。
CA擁有用戶的身份和公鑰後,CA需要驗證用戶的有效性和合法性,如果驗證通過,CA為其頒發證書,而這個證書包含CA的私鑰對用戶公鑰和身份等信息的簽名。如果想要驗證用戶的公鑰,需通過CA的公鑰驗證用戶的證書。
IBC作為PKI體系的發展和補充,既保證了簽名的安全特性,又滿足了各種應用更靈活的安全需求。IBC應用於PKI中是無證書的(certificateless),由於標識本身就是實體的公鑰,這類系統就不再依賴證書,在某種程度上簡化了PKI的應用。
在IBC中,可信第三方是密鑰生成中心KGC(key generation center),類似於PKI中的CA,一旦用戶的身份標識確定,KGC僅僅只需要驗證該用戶是否擁有該身份標識。如果驗證成功,則KGC為用戶創建其私鑰,這個私鑰是根據用戶身份標識和KGC的根私鑰生成的。
IBC密碼的應用比傳統公鑰密碼的應用在某種程度上更加簡單,但是,其代價是IBC密碼的設計與計算卻比其他公鑰密碼復雜得多。在IBC演算法中,除了RSA和ECC中所具有的運算外,還增加了復雜的雙線性對(bilinear)計算。因此,IBC密碼演算法運行速度遠不如RSA和ECC
❹ 對稱密鑰體制與公鑰密鑰體制的特點各自是什麼各有何優缺點
對稱密碼
一般要求:
1、加密解密用相同的密鑰
2、收發雙方必須共享密鑰
安全性要求:
1、密鑰必須保密
2、沒有密鑰,解密不可行
3、知道演算法和若干密文不足以確定密鑰
公鑰密碼
一般要求:
1、加密解密演算法相同,但使用不同的密鑰
2、發送方擁有加密或解密密鑰,而接收方擁有另一個密鑰
安全性要求:
1、兩個密鑰之一必須保密
2、無解密密鑰,解密不可行
3、知道演算法和其中一個密鑰以及若干密文不能確定另一個密鑰
❺ 對稱密鑰加密的缺點和公開密鑰加密的缺點是什麼急!!!!
一、對稱密鑰加密和解密時使用的密鑰是同一個密鑰,其優點是加密速度快,缺點是不能作為身份驗證,密鑰發放困難。常見的對稱加密演算法有RC2,RC4,DES,3DES,IDEA,SDBI等。
二、公開密鑰加密和解密使用的密鑰是不同的密鑰,分別稱為公鑰和私鑰,公鑰可以公開,私鑰則必須保密只能歸密鑰所有者擁有。其缺點是對大容量的信息加密速度慢,優點是可以作為身份認證,而且密鑰發送方式比較簡單安全。常見的公開密鑰加密演算法有RSA,DSA,ECA等。
❻ 試比較對稱加密演算法與非對稱加密演算法在應用中的優缺點傳統密碼體制與公鑰密碼體制的優缺點
1、對稱加密演算法
優點
加解密的高速度和使用長密鑰時的難破解性。
缺點
對稱加密演算法的安全性取決於加密密鑰的保存情況,但要求企業中每一個持有密鑰的人都保守秘密是不可能的,他們通常會有意無意的把密鑰泄漏出去。如果一個用戶使用的密鑰被入侵者所獲得,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業共用一個加密密鑰,那整個企業文檔的保密性便無從談起。
2、非對稱加密演算法
優點
非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
缺點
演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。
3、傳統密碼體制
優點
由於DES加密速度快,適合加密較長的報文。
缺點
通用密鑰密碼體制的加密密鑰和解密密鑰是通用的,即發送方和接收方使用同樣密鑰的密碼體制。
4、公鑰密碼體制
優點
RSA演算法的加密密鑰和加密演算法分開,使得密鑰分配更為方便。
RSA演算法解決了大量網路用戶密鑰管理的難題。
缺點
RSA的密鑰很長,加密速度慢。
(6)公鑰演算法的不足擴展閱讀
W.Diffie和M.Hellman 1976年在IEEE Trans.on Information刊物上發表了「 New Direction in Cryptography」文章,提出了「非對稱密碼體制即公開密鑰密碼體制」的概念,開創了密碼學研究的新方向。
在通用密碼體制中,得到廣泛應用的典型演算法是DES演算法。DES是由「轉置」方式和「換字」方式合成的通用密鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的密鑰,經過各種復雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
❼ RSA演算法的缺點
1)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。
2)安全性,RSA的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難度與大數分解難度等價,而且密碼學界多數人士傾向於因子分解不是NP問題。現今,人們已能分解140多個十進制位的大素數,這就要求使用更長的密鑰,速度更慢;另外,人們正在積極尋找攻擊RSA的方法,如選擇密文攻擊,一般攻擊者是將某一信息作一下偽裝(Blind),讓擁有私鑰的實體簽署。然後,經過計算就可得到它所想要的信息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保留了輸入的乘法結構:
(XM)d = Xd *Md mod n
前面已經提到,這個固有的問題來自於公鑰密碼系統的最有用的特徵--每個人都能使用公鑰。但從演算法上無法解決這一問題,主要措施有兩條:一條是採用好的公鑰協議,保證工作過程中實體不對其他實體任意產生的信息解密,不對自己一無所知的信息簽名;另一條是決不對陌生人送來的隨機文檔簽名,簽名時首先使用One-Way Hash Function對文檔作HASH處理,或同時使用不同的簽名演算法。除了利用公共模數,人們還嘗試一些利用解密指數或φ(n)等等攻擊.
3)速度太慢,由於RSA 的分組長度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利於數據格式的標准化。SET(Secure Electronic Transaction)協議中要求CA採用2048比特長的密鑰,其他實體使用1024比特的密鑰。為了速度問題,人們廣泛使用單,公鑰密碼結合使用的方法,優缺點互補:單鑰密碼加密速度快,人們用它來加密較長的文件,然後用RSA來給文件密鑰加密,極好的解決了單鑰密碼的密鑰分發問題。
❽ 公鑰密碼體制和私鑰密碼體制各有什麼優缺點
常用密鑰,加密解密用同一個Key,安全性,防偽性,鑒權性都不好。
公鑰私鑰解決了以上的問題。
❾ 理解兩種加密方式中私鑰和公鑰的概念
私鑰加密演算法 ,又稱 對稱加密演算法 ,因為這種演算法解密密鑰和加密密鑰是相同的。也正因為同一密鑰既用於加密又用於解密,所以這個密鑰是不能公開的。常見的有《 DES加密演算法 》、《 AES加密演算法 》。
公鑰和私鑰成對出現
公開的密鑰叫公鑰,只有自己知道的叫私鑰
用公鑰加密的數據只有對應的私鑰可以解密
用私鑰加密的數據只有對應的公鑰可以解密
如果可以用公鑰解密,則必然是對應的私鑰加的密
如果可以用私鑰解密,則必然是對應的公鑰加的密
公鑰和私鑰是相對的,兩者本身並沒有規定哪一個必須是公鑰或私鑰。
要實現數據的安全傳輸,當然就要對數據進行加密了。
如果使用對稱加密演算法,加解密使用同一個密鑰,除了自己保存外,對方也要知道這個密鑰,才能對數據進行解密。如果你把密鑰也一起傳過去,就存在密碼泄漏的可能。所以我們使用 非對稱演算法 ,過程如下:
首先 接收方 生成一對密鑰,即私鑰和公鑰;
然後,接收方 將公鑰發送給 發送方;
發送方用收到的公鑰對數據加密,再發送給接收方;
接收方收到數據後,使用自己的私鑰解密。
由於在非對稱演算法中,公鑰加密的數據必須用對應的私鑰才能解密,而私鑰又只有接收方自己知道,這樣就保證了數據傳輸的安全性。
除了保證數據的安全傳輸之外,公鑰體系的另一個用途就是對數據進行簽名。通常 「數字簽名」 是用來驗證發送方的身份並幫助保護數據的完整性。
例如:一個發送者 A 想要傳些資料給大家,用自己的私鑰對資料加密,即簽名。這樣一來,所有收到資料的人都可以用發送者的公鑰進行驗證,便可確認資料是由 A 發出來的了。(因為只有A使用私鑰簽名得到的信息,才能用這個公鑰來解) 採用數字簽名,可以確認兩點:
保證信息是由簽名者自己簽名發送的,簽名者不能否認或難以否認。
保證信息自簽發辯巧後到收到為止未曾作過任何修改。
之所以可以確認這兩點,是因為用公鑰可以解密的必然是用對應的私鑰加的密,而私鑰只有簽名者持有。
四、公鑰演算法的缺點
現實中,公鑰機制也有它的缺點,那就是 效率非常低 ,比常用的私鑰演算法(如 DES 和 AES)慢上一兩個數量級都有可能。所以它不適合為大量的原始信息進行加密。為了同時兼顧安全和效率,我們通常結合使用公鑰演算法和私鑰演算法:
首先,發送方使用對稱演算法對原始信息進行加密。
接收方通過公鑰機制生成一對密鑰,一個公鑰,一個私鑰。
接收方 將公鑰發送給 發送方。
發送方用公鑰對對稱演算法的密鑰進行加密,並發送給接收方。
接收方用私鑰進行解密得到對稱演算法的密鑰。
發送方再把已加密的原始信息發送給接穗灶粗收方。
接收方使用對稱猜鎮演算法的密鑰進行解密。