❶ 非對稱密碼演算法的名詞解釋
非對稱加密演算法是一種密鑰的保密方法。
非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。 非對稱加密演算法實現機密信息交換的基本過程是:甲方生成一對密鑰並將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密後再發送給甲方;甲方再用自己保存的另一把專用密鑰對加密後的信息進行解密。
另一方面,甲方可以使用乙方的公鑰對機密信息進行簽名後再發送給乙方;乙方再用自己的私匙對數據進行驗簽。
甲方只能用其專用密鑰解密由其公用密鑰加密後的任何信息。 非對稱加密演算法的保密性比較好,它消除了最終用戶交換密鑰的需要。
非對稱密碼體制的特點:演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰,並且是非公開的,如果要解密就得讓對方知道密鑰。所以保證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
中文名
非對稱加密演算法
外文名
asymmetric cryptographic algorithm
別稱
公開密鑰加密演算法
需要密鑰
公開密鑰、私有密鑰
❷ RSA和AES區別
先了解下AES和RSA的區別,前者屬於 對稱加密 ,後者屬於 非對稱加密 。
1、對稱加密
對稱加密就是加密和解密使用同一個密鑰。
用數學公示表示就是:
▲加密:Ek(P) = C
▲解密:Dk(C) = P
這里E表示加密演算法,D表示解密演算法,P表示明文,C表示密文。
是不是看起來有點不太容易理解?看下圖:
看過間諜局的知友們一定知道電台和密碼本的功能。潛伏裡面孫紅雷通過電台收聽到一堆數字,然後拿出密碼本比對,找到數字對應的漢字,就明白上級傳達的指令。而軍統的監聽台沒有密碼本,只看到一堆沒有意義的數字,這就是對稱演算法的原理。
AES就屬於對稱加密 ,常見的對稱加密方法還有DES、3DES、Blowfish、RC2以及國密的SM4。
2、非對稱加密
對稱加密快而且方便,但是有個缺點——密鑰容易被偷或被破解。非對稱加密就可以很好的避免這個問題。
非對稱演算法 把密鑰分成兩個 ,一個自己持有叫 私鑰 ,另一個發給對方,還可以公開,叫 公鑰 ,用公鑰加密的數據只能用私鑰解開。
▲加密: E公鑰(P) = C
▲解密::D私鑰(C) = P
這下就不用擔心密鑰被對方竊取或被破解了,私鑰由自己保管。
非對稱加密演算法核心原理其實就是設計一個數學難題,使得用公鑰和明文推導密文很容易,但根據公鑰、明文和密文推導私鑰極其難。
RSA 就屬於非對稱加密,非對稱加密還有Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)以及國家商用密碼SM2演算法。
3、AES和RSA
AES和RSA都很安全,至少在目前的計算機體系結構下,沒有任何有效的攻擊方式。量子計算機時代,RSA有一定的破綻,因為利用shro's algorithm,量子計算機窮舉計算質因子速度可以提高N個數量級,能夠在有限的時間內破解RSA密鑰。AES256至少目前並沒有什麼明顯的漏洞。
AES作為對稱加密技術,加密速度很快。 現在高端一點的CPU都帶有AES-NI指令,可以極快的完成加密和解密。
舉例來說,堅果雲存儲系統採用了intel 的AES-NI加速,在採用AES加密和解密的時候,
單核的性能可以超過 1GB Byte/秒,非常非常快,很適合對大量數據進行加解密。
但是AES作為對稱加密技術,如何安全的分發密鑰是一個難題。通過任何方式傳遞密鑰都有泄密的風險。當然,目前我國高大上的量子通信技術或許能很好的解決這個問題。
RSA作為非對稱加密技術的代表, 加解密的速度其實相當慢,只能對小塊的數據進行加解密。但是其非對稱的特點,滿足公鑰可以隨處分發,只有公鑰能解密私鑰加密的數據,只有私鑰能解密公鑰加密的數據。所以很適合用來進行密鑰分發和身份驗證,這兩個應用場景剛好相反。
1)用於對稱秘鑰分發的場景,其他人用公鑰加密對稱的秘鑰,那麼只有授權人才持有私鑰,因此才能解密獲得對應的秘鑰,解決了AES密鑰分發的難題;
2)對於身份驗證的場景,授權人用私鑰加密一段指令,其他人用公鑰解密對應的數據,驗證對應的指令與之前約定的某些特徵一致(例如,這段話必須使用四川口音,像是堅果雲CEO
的標准四川口音==),如果一致,那麼可以確認這個指令就是授權人發出的。
相關趣聞軼事:
RSA除了是一個偉大的發明,被免費開放給所有互聯網用戶使用。它的發明者還以此成立了一家名為 RSA Security 的網路安全公司,這家公司最後被EMC高價收購。這是德藝雙馨的偉大證明, 是「又紅又專」的典範。
RSA的演算法是以三個發明者的名字命名的,三位都是成功的數學家,科學家和企業家,其中的排名第一Ron Rivest,有非常多的傑出貢獻。
RSA是整個互聯網數據安全的基礎,與光纖處於同樣基礎和重要的方式。 大部分的加密和解密的應用都是同時應用RSA和AES。
總結
破解加密的難度除了跟 加密方法 有關,還跟 密鑰長度 以及 加密模式 有很大的關系,就拿AES來說,有AES128和AES256( 代表密鑰長度 ),顯然AES256的安全性能比AES128更高,而AES又要四種模式:ECB、CBC、CFB、OFB( 代表加密模式 )。
RSA1024是屬於非對稱加密,是基於大整數因式分解難度,也就是兩個質數相乘很容易,但是找一個大數的質因子非常困難。量子計算機時代,RSA有一定的風險,具體可以參考: 超鏈接
AES256目前沒有明顯的漏洞,唯一的問題就是如何安全的分發密鑰。
現在大部分的加密解密都是同時應用RSA和AES,發揮各自的優勢,使用RSA進行密鑰分發、協商,使用AES進行業務數據的加解密。
❸ 什麼是對稱密碼和非對密碼,分析這兩種密碼體系的特點和應用領域
一、對稱密碼
1、定義:採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
2、特點:演算法公開、計算量小、加密速度快、加密效率高。
3、應用領域:由於其速度快,對稱性加密通常在消息發送方需要加密大量數據時使用。
二、非對密碼
1、定義:非對稱密碼指的是非對稱密碼體制中使用的密碼。
2、特點:
(1)是加密密鑰和解密密鑰不同 ,並且難以互推 。
(2)是有一個密鑰是公開的 ,即公鑰 ,而另一個密鑰是保密的 ,即私鑰。
3、應用領域:很好的解決了密鑰的分發和管理的問題 ,並且它還能夠實現數字簽名。
(3)非對稱加密英文簡介擴展閱讀
對稱加密演算法特徵
1、加密方和解密方使用同一個密鑰;
2、加密解密的速度比較快,適合數據比較長時的使用;
3、密鑰傳輸的過程不安全,且容易被破解,密鑰管理也比較麻煩
❹ 非對稱加密的具體含義
允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。相對於「對稱加密演算法」這種方法也叫做「非對稱加密演算法」。與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
網路裡面講的很清楚
❺ 什麼是非對稱數據加密加密的數據是
非對稱加密是基於數字證書的加密體系中的一種加密方式。當發送信息時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣,信息就可以安全無誤地到達目的地了,即使被第三方截獲,由於沒有相應的私鑰,也無法進行解密。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。
❻ 什麼是非對稱加密
MD5
\PGP這類的都屬於非對稱加密.就是加密簡單,解密(破解)困難.
❼ 對稱、非對稱加解密、SSL、HTTPS 詳細介紹
對稱加密:加密和解密使用的是同一個密鑰,信息接收雙方都需事先知道這個密鑰(最常見的對稱加密演算法是DES、AES)。
溫馨提示:閱讀下面內容請對照此網站內的圖片,有助於理解。 http://www.blogjava.net/yxhxj2006/archive/2012/10/15/389547.html
非對稱加密:加密和解密用的是不同的密鑰(最常用的非對稱加密演算法是RSA)。是一對密鑰,公鑰和私鑰,公鑰對外公開,私鑰由自己保存,公鑰可以有很多份拷貝,好比多客戶端和單一伺服器的網路拓撲結構,每一個客戶端上都有一個公鑰,伺服器有一個私鑰,而這個公鑰,是伺服器發給客戶端的。客戶端用公鑰解密接受來的密文,而這個密文是伺服器用私鑰加密的。相反,如果客戶端向伺服器發送請求,客戶端是用伺服器發來的公鑰加密,伺服器接收到密文後,用自己的私鑰去解密。
1.非對稱加密之數字摘要:是採用單向的(不可逆)Hash函數將需要加密的明文加密成一串固定長度(128位)的密文,這一串密文又稱為數字指紋,因為不同的明文形成的摘要不同,而相同的明文形成的摘要必定相同。所以叫數字指紋比較貼切。數字摘要是https確保數據完整性和防篡改的根本原因。(Hash函數包括MD5、SHA這些不屬於加密演算法,因為是不可逆的,只能相當於指紋,而加密演算法是可逆的。Base64也是可逆的。)
2.非對稱加密之數字簽名:做了非對稱加密和數字摘要後,用自己的私鑰對數字摘要加密後就是「數字簽名」,簡單的說就是,經過私鑰加密的數字摘要就是數字簽名。可以把數字簽名附到明文上。
這時候發送的密文中就有數字摘要和數字簽名,接受者只要用發送者的公鑰就能解密簽名,得到摘要信息,然後用Hash函數對收到的原文處理產生一個摘要信息,與解密的摘要信息對比。如果相同,說明收到的信息是完整的,在傳輸的過程中沒有被修改。數字簽名只能夠驗證信息的完整性,數據本身是否加密不屬於數字簽名的控制范圍。
3.非對稱加密之數字證書:只從「明確發送者身份」和「確保數據完整性」,數字簽名就可以完全做到了,但是前提是數字簽名所依賴的密鑰是真是可靠的才可以。如果接受方所持有的公鑰來路有問題或是被替換了,那麼,持有對應私鑰的人就可以冒充發送方發送明文給接受方,但是接收方並不知道。這里的問題就是:對於接受方來說,它怎麼能確定它所得到的公鑰一定是從目標主機那裡發布的,而且沒有被篡改過呢?這時候,我們需要有一個權威的值得信賴的第三方機構(一般是由政府審核並授權的機構)來統一對外發放機構公鑰,只要發送方有這種機構的公鑰,就避免了上述問題的發生。這種機構被稱為證書權威機構(Certificate Authority, CA),它們所發放的包含主機機構名稱、公鑰在內的文件就是人們所說的「數字證書」。
數字證書的頒發過程一般為:用戶首先產生自己的密鑰對,並將公共密鑰及部分個人身份信息傳送給認證中心。認證中心在核實身份後,將執行一些必要的步驟,以確信請求確實由用戶發送而來,然後,認證中心將發給用戶一個數字證書,該證書內包含用戶的個人信息和他的公鑰信息,同時還附有認證中心的簽名信息。用戶就可以使用自己的數字證書進行相關的各種活動。數字證書由獨立的證書發行機構發布。數字證書各不相同,每種證書可提供不同級別的可信度。可以從證書發行機構獲得您自己的數字證書。
SSL:是安全協議,SSL建立通信的過程分為兩個階段:握手階段和傳輸階段。下圖為握手階段。
SSL協議在握手階段使用的是非對稱加密(上面介紹的很清楚),在傳輸階段使用的是對稱加密(簡單不多贅述),也就是說在SSL上傳送的數據是使用對稱密鑰加密的!這並不奇怪,因為非對稱加密的速度緩慢,耗費資源。其實當客戶端和主機使用非對稱加密方式建立連接後,客戶端和主機就已經決定好了在傳輸過程中使用的對稱加密演算法和對稱加密密鑰,由於這個過程本身是安全可靠的,所以對稱加密密鑰是不可能被竊取的,因此,保證了在傳輸過程中對數據進行對稱加密也是安全可靠的,因為除了客戶端和主機之外,不可能有第三方竊取並解密出對稱加密密鑰!
HTTPS:HTTPS是由SSL+HTTP協議構建的可進行加密傳輸、身份認證(確認客戶端連接的主機是否是真實正確的主機)的網路協議。HTTPS所能實現的安全保證,正式SSL的功勞。
HTTPS劣勢:
https的主要缺點就是性能問題。造成https性能低於http的原因有兩個:
1.對數據進行加解密決定了它比http慢。
2.另外一個重要原因的是https禁用了緩存。
相關測試數據表明使用HTTPS協議傳輸數據的工作效率只有使用HTTP協議傳輸的十分之一。因此對於一個網站來說,只有那對那些安全要求極高的的數據才會選擇使用https進行傳輸。
❽ 非對稱加密演算法的介紹
非對稱加密演算法是一種密鑰的保密方法。非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。 非對稱加密演算法實現機密信息交換的基本過程是:甲方生成一對密鑰並將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密後再發送給甲方;甲方再用自己保存的另一把專用密鑰對加密後的信息進行解密。另一方面,甲方可以使用乙方的公鑰對機密信息進行簽名後再發送給乙方;乙方再用自己的私匙對數據進行驗簽。甲方只能用其專用密鑰解密由其公用密鑰加密後的任何信息。 非對稱加密演算法的保密性比較好,它消除了最終用戶交換密鑰的需要。非對稱密碼體制的特點:演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰,並且是非公開的,如果要解密就得讓對方知道密鑰。所以保證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
❾ 入門密碼學④非對稱加密
公鑰密碼(Public-key cryptography) 也稱非對稱式密碼(Asymmetric cryptography)是密碼學的一種演算法,它需要兩個密鑰,一個是公開密鑰,另一個是私有密鑰; 公鑰用作加密,私鑰則用作解密 。使用公鑰把明文加密後所得的密文,只能用相對應的私鑰才能解密並得到原本的明文,最初用來加密的公鑰不能用作解密。由於加密和解密需要兩個不同的密鑰,故被稱為非對稱加密;不同於加密和解密都使用同一個密鑰的對稱加密。公鑰可以公開,可任意向外發布;私鑰不可以公開。
1976年以前,所有的加密方法都是同一種模式:加密和解密使用同樣的規則。
1976年,由惠特菲爾德·迪菲(Bailey Whitfield Diffie)和馬丁·赫爾曼(Martin Edward Hellman)在1976年首次發表 迪菲-赫爾曼密鑰交換 。
1977年,Ralph Merkle和Martin Hellman 共同設計了一種具體的公鑰密碼演算法-- Knapsack 。
1978年,羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)共同發表了一種公鑰密碼演算法-- RSA 。
RSA 可以說是現在公鑰密碼的事實標准 。
在對稱密碼中,由於加密和解密的密鑰是相同的,因此必須向接收者配送密鑰。由於解密的密鑰必須被配送給接收者,在傳輸中的過程中存在著被竊聽的問題,這一問題稱為 密鑰配送問題 。
解決密鑰配送問題的方法有以下幾種:
RSA 是世界第一個廣泛使用的公鑰演算法,可以被用於公鑰密碼和數字簽名。RSA公開密鑰密碼體制的原理是:根據數論,尋求兩個大素數比較簡單,而將它們的乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。它的強度被認為與分解一個非常大的數字的難度有關。以現代數字計算機的當前和可預見的速度,在生成 RSA 密鑰時選擇足夠長的素數應該使該演算法無限期地安全。但是,這種信念尚未在數學上得到證明,並且可能有一種快速分解演算法或一種完全不同的破解 RSA 加密的方法。
ab = 1
然而只根據 N 和 E(注意:不是p和q)要計算出 d 是不可能的。因此,任何人都可對明文進行加密,但只有授權用戶(知道D)才可對密文解密。
RSA 是現在最為普及的一種公鑰密碼演算法,但是除了 RSA之外還有其他的公鑰密碼,基於與 RSA 等效復雜度的不同數學,包括 ElGamal 加密 、 Rabin 方式 和 橢圓曲線加密 。
在密碼學中, ElGamal 加密演算法 是一個基於迪菲-赫爾曼密鑰交換的非對稱加密演算法。它在1985年由塔希爾·蓋莫爾(Taher ElGamal)提出。ElGamal加密演算法利用了 求離散對數的困難數。
Rabin 利用了 下平方根的困難度
橢圓曲線密碼 是通過將橢圓曲線上的特定點進行特殊的乘法運算實現,它利用了這種乘法運算的逆運算非常困難這一特性。它的特點是所需的密鑰長度比 RSA 短。
❿ 什麼是對稱密匙和非對稱密匙
對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標准(DNS,DataEncryptionStandard)演算法為典型代表,非對稱加密通常以RSA(RivestShamirAd1eman)演算法為代表。傳統密匙方法的密匙具有針對性,即加密密匙和解密密匙相同。而公開密匙密碼方法的加密密匙和解密密匙不同,加密密匙可以公開而解密密匙需要保密。