A. 身份認證與加密有何區別與聯系
加密和身份驗證演算法
由於對安全性的攻擊方法多種多樣,設計者很難預計到所有的攻擊方法,因此設計安全性演算法和協議非常困難。普遍為人接受的關於安全性方法的觀點是,一個好的加密演算法或身份驗證演算法即使被攻擊者了解,該演算法也是安全的。這一點對於Internet安全性尤其重要。在Internet中,使用嗅探器的攻擊者通過偵聽系統與其連接協商,經常能夠確切了解系統使用的是哪一種演算法。
與Internet安全性相關的重要的密碼功能大致有5類,包括對稱加密、公共密鑰加密、密鑰交換、安全散列和數字簽名。
1. 對稱加密
大多數人都熟知對稱加密這一加密方法。在這種方法中,每一方都使用相同的密鑰來加密或解密。只要掌握了密鑰,就可以破解使用此法加密的所有數據。這種方法有時也稱作秘密密鑰加密。通常對稱加密效率很高,它是網路傳送大量數據中最常用的一類加密方法。
常用的對稱加密演算法包括:
• 數據加密標准( DES )。DES首先由IBM公司在7 0年代提出,已成為國際標准。它有5 6位密鑰。三重DES演算法對DES略作變化,它使用DES演算法三次加密數據,從而改進了安全性。
• RC2 、RC4和RC5。這些密碼演算法提供了可變長度密鑰加密方法,由一家安全性動態公司,RSA數據安全公司授權使用。目前網景公司的Navigator瀏覽器及其他很多Internet客戶端和伺服器端產品使用了這些密碼。
• 其他演算法。包括在加拿大開發的用於Nortel公司Entrust產品的CAST、國際數據加密演算法( IDEA )、傳聞由前蘇聯安全局開發的GOST演算法、由Bruce Schneier開發並在公共域發表的Blowfish演算法及由美國國家安全局開發並用於Clipper晶元的契約密鑰系統的Skipjack 演算法。
安全加密方法要求使用足夠長的密鑰。短密鑰很容易為窮舉攻擊所破解。在窮舉攻擊中,攻擊者使用計算機來對所有可能的密鑰組合進行測試,很容易找到密鑰。例如,長度為4 0位的密鑰就不夠安全,因為使用相對而言並不算昂貴的計算機來進行窮舉攻擊,在很短的時間內就可以破獲密鑰。同樣,單DES演算法已經被破解。一般而言,對於窮舉攻擊,在可預測的將來,1 2 8位還可能是安全的。
對於其他類型的攻擊,對稱加密演算法也比較脆弱。大多數使用對稱加密演算法的應用往往使用會話密鑰,即一個密鑰只用於一個會話的數據傳送,或在一次會話中使用幾個密鑰。這樣,如果會話密鑰丟失,則只有在此會話中傳送的數據受損,不會影響到較長時期內交換的大量數據。
2. 公共密鑰加密
公共密鑰加密演算法使用一對密鑰。公共密鑰與秘密密鑰相關聯,公共密鑰是公開的。以公共密鑰加密的數據只能以秘密密鑰來解密,同樣可以用公共密鑰來解密以秘密密鑰加密的數據。這樣只要實體的秘密密鑰不泄露,其他實體就可以確信以公共密鑰加密的數據只能由相應秘密密鑰的持有者來解密。盡管公共密鑰加密演算法的效率不高,但它和數字簽名均是最常用的對網路傳送的會話密鑰進行加密的演算法。
最常用的一類公共密鑰加密演算法是RSA演算法,該演算法由Ron Rivest 、Adi Shamir 和LenAdleman開發,由RSA數據安全公司授權使用。RSA定義了用於選擇和生成公共/秘密密鑰對的機制,以及目前用於加密的數學函數。
3. 密鑰交換
開放信道這種通信媒體上傳送的數據可能被第三者竊聽。在Internet這樣的開放信道上要實現秘密共享難度很大。但是很有必要實現對共享秘密的處理,因為兩個實體之間需要共享用於加密的密鑰。關於如何在公共信道上安全地處理共享密鑰這一問題,有一些重要的加密演算法,是以對除預定接受者之外的任何人都保密的方式來實現的。
Diffie-Hellman密鑰交換演算法允許實體間交換足夠的信息以產生會話加密密鑰。按照慣例,假設一個密碼協議的兩個參與者實體分別是Alice和Bob,Alice使用Bob的公開值和自己的秘密值來計算出一個值;Bob也計算出自己的值並發給Alice,然後雙方使用自己的秘密值來計算他們的共享密鑰。其中的數學計算相對比較簡單,而且不屬於本書討論的范圍。演算法的概要是Bob和Alice能夠互相發送足夠的信息給對方以計算出他們的共享密鑰,但是這些信息卻不足以讓攻擊者計算出密鑰。
Diffie-Hellman演算法通常稱為公共密鑰演算法,但它並不是一種公共密鑰加密演算法。該演算法可用於計算密鑰,但密鑰必須和某種其他加密演算法一起使用。但是,Diffie-Hellman演算法可用於身份驗證。Network Associates公司的P G P公共密鑰軟體中就使用了此演算法。
密鑰交換是構成任何完整的Internet安全性體系都必備的。此外,IPsec安全性體系結構還包括Internet密鑰交換( I K E )及Internet安全性關聯和密鑰管理協議( ISAKMP )。
4. 安全散列
散列是一定量數據的數據摘要的一種排序。檢查數字是簡單的散列類型,而安全散列則產生較長的結果,經常是1 2 8位。對於良好的安全散列,攻擊者很難顛倒設計或以其他方式毀滅。安全散列可以與密鑰一起使用,也可以單獨使用。其目的是提供報文的數字摘要,用來驗證已經收到的數據是否與發送者所發送的相同。發送者計算散列並將其值包含在數據中,接收者對收到的數據進行散列計算,如果結果值與數據中所攜帶的散列值匹配,接收者就可以確認數據的完整性。
B. 簡述認證與加密的區別
認證和加密的區別在於:加密用以確保數據的保密性,阻止對手的被動攻擊,如截取、竊聽等;而認證用以確保報文發送者和接收者的真實性以及報文的完整性,阻止對手的主動攻擊,如冒充、篡改、重播等。認證往往是許多應用系統中安全保護的第一道設防,因而極為重要。
認證的基本思想是通過驗證稱謂者(人或事)的一個或多個參數的真實性和有效性,來達到驗證稱謂者是否名符其實的目的。這樣,就要求驗證的參數和被認證的對象之間存在嚴格的對應關系,理想情況下這種對應關系應是惟一的。
認證系統常用的參數有口令、標識符、密鑰、信物、智能卡、指紋、視網紋等。對於那些能在長時間內保持不變的參數(非時變參數可採用在保密條件下預先產生並存儲的位模式進行認證,而對於經常變化的參數則應適時地產生位模式,再對此進行認證。
一般來說,利用人的生理特徵參數進行認證的安全性高,但技術要求也高,至今尚未普及。目前廣泛應用的還是基於密碼的認證技術。
認證和數字簽名技術都是確保數據真實性的措施,但兩者有著明顯的區別。
①認證總是基於某種收發雙方共享的保密數據來認證被鑒別對象的真實性,而數字簽名中用於驗證簽名的數據是公開的。
②認證允許收發雙方互相驗證其真實性,不準許第三者驗證,而數字簽名允許收發雙方和第三者都能驗證。
③數字簽名具有發送方不能抵賴接收方不能偽造和具有在公證人前解決糾紛的能力,而認證則不一定具備。
如果收發雙方都是誠實的,那麼僅有認證就足夠了。利用認證技術,收發雙方可以驗證對方的真實性和報文的真實性、完整性。但因他們雙方共享保密的認證數據,如果接收方不誠實,則他便可以偽造發送方的報文,且發送方無法爭辯;同樣,發送方也可抵賴其發出的報文,且接收方也無法爭辯。由於接收方可以偽造,發送方能夠抵賴,因此第三者便無法仲裁。
C. wifi認證方式和加密演算法的區別是什麼
wifi認證方式相當於身份認證,如同你是警察,要看對方是不是警察,若是則認證通過,可以進一步交流,否則認證失敗,不予交流;
這里認證的依據有兩個,一個是認證方式要相同或者兼容,認證方式包括WEP,WPA-PSK,WPA2-PSK,WPA/WPA2-PSK,其中WPA/WPA2-PSK是兼容WPA-PSK和WPA2-PSK的,WPA2-PSK是不兼容WPA-PSK的,你是WEP,對方也要是WEP,你是WPA-PSK,對方也要是WPA-PSK,這個清楚就可以了;第二個依據就是每次使用WiFi網路前都需要手動輸入的密碼,這個要輸入正確才能完成認證。
還有就是WPA-PSK,WPA2-PSK,後面帶PSK主要是說明是家庭網路或者小公司網路使用的,輸入密碼就可以使用,而WPA和WPA2是其他大型公司網路使用的,需要輸入其他信息例如後台伺服器的IP地址等,使用復雜些,需要後台伺服器,但是安全性更高。
wifi加密演算法是為了保證wifi通信數據的安全,不被竊聽,是對wifi通信數據的加密方式;如同你們都是警察了,可以展開交流,但是你們要用暗號交流,才能保證不被別人竊聽交流內容。
這時加密方式主要有:
如果是WPA-PSK認證方式,就是TKIP演算法;如果是WPA2-PSK模式,就是CCMP演算法(注意CCMP演算法的核心是AES演算法,所以好多時候不提CCMP,就提AES了);同時WPA2-PSK也可以使用TKIP演算法,WPA-PSK也可以使用AES演算法,可以理解成加密方式大家都可以用,就是一種演算法而已,但是AES比TKIP保密性更高,不容易被攻破。
還有就是wifi加密演算法採用的秘鑰是雙方認證通過後,協商好的。這個秘鑰和我們手動輸入的wifi密碼,不是一碼事。
另外附上,我測試過的磊科路由器和高通QCA4004 wifi模塊的認證、加密測試結果:
路由器設置成WPA2-PSK、AES加密,高通模塊設置成WPA-PSK、AES加密,無法建立連接;
路由器設置成WPA/WPA2-PSK、AES加密,高通模塊設置成WPA-PSK、TKIP加密,無法建立連接;
路由器設置成WPA/WPA2-PSK、AES加密,高通模塊設置成WPA-PSK、AES加密,建立連接成功;
路由器設置成WPA -PSK、AES加密,高通模塊設置成WPA2-PSK、AES加密,無法連接成功;
結論:WPA2不向下兼容WPA,AES也不兼容TKIP演算法。
D. 目前的數字認證和加密演算法的主要技術及其應用
1. 什麼是數字證書?
數字證書就是網路通訊中標志通訊各方身份信息的一系列數據,其作用類似於現實生活中的身份證。它是由一個權威機構發行的,人們可以在交往中用它來識別對方的身份。
最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。一般情況下證書中還包括密鑰的有效時間,發證機關(證書授權中心)的名稱,該證書的序列號等信息,證書的格式遵循ITUT X.509國際標准。
一個標準的X.509數字證書包含以下一些內容:
證書的版本信息;
證書的序列號,每個證書都有一個唯一的證書序列號;
證書所使用的簽名演算法;
證書的發行機構名稱,命名規則一般採用X.500格式;
證書的有效期,現在通用的證書一般採用UTC時間格式,它的計時范圍為1950-2049;
證書所有人的名稱,命名規則一般採用X.500格式;
證書所有人的公開密鑰;
證書發行者對證書的簽名。
使用數字證書,通過運用對稱和非對稱密碼體制等密碼技術建立起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;發送方能夠通過數字證書來確認接收方的身份;發送方對於自己的信息不能抵賴。
2. 為什麼要使用數字證書?
由於Internet網電子商務系統技術使在網上購物的顧客能夠極其方便輕松地獲得商家和企業的信息,但同時也增加了對某些敏感或有價值的數據被濫用的風險。買方和賣方都必須保證在網際網路上進行的一切金融交易運作都是真實可靠的,並且要使顧客、商家和企業等交易各方都具有絕對的信心,因而網際網路電子商務系統必須保證具有十分可靠的安全保密技術,也就是說,必須保證網路安全的四大要素,即信息傳輸的保密性、數據交換的完整性、發送信息的不可否認性、交易者身份的確定性。
信息的保密性
交易中的商務信息均有保密的要求,如信用卡的帳號和用戶名被人知悉,就可能被盜用,訂貨和付款的信息被競爭對手獲悉,就可能喪失商機。因此在電子商務的信息傳播中一般均有加密的要求。
交易者身份的確定性
網上交易的雙方很可能素昧平生,相隔千里。要使交易成功首先要能確認對方的身份,商家要考慮客戶端是不是騙子,而客戶也會擔心網上的商店不是一個玩弄欺詐的黑店。因此能方便而可靠地確認對方身份是交易的前提。對於為顧客或用戶開展服務的銀行、信用卡公司和銷售商店,為了做到安全、保密、可靠地開展服務活動,都要進行身份認證的工作。對有關的銷售商店來說,他們對顧客所用的信用卡的號碼是不知道的,商店只能把信用卡的確認工作完全交給銀行來完成。銀行和信用卡公司可以採用各種保密與識別方法,確認顧客的身份是否合法,同時還要防止發生拒付款問題以及確認訂貨和訂貨收據信息等。
不可否認性
由於商情的千變萬化,交易一旦達成是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認受到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此電子交易通信過程的各個環節都必須是不可否認的。
不可修改性
由於商情的千變萬化,交易一旦達成應該是不能被否認的。否則必然會損害一方的利益。例如訂購黃金,訂貨時金價較低,但收到訂單後,金價上漲了,如收單方能否認收到訂單的實際時間,甚至否認收到訂單的事實,則訂貨方就會蒙受損失。因此電子交易通信過程的各個環節都必須是不可否認的。
數字安全證書提供了一種在網上驗證身份的方式。安全證書體制主要採用了公開密鑰體制,其它還包括對稱密鑰加密、數字簽名、數字信封等技術。
我們可以使用數字證書,通過運用對稱和非對稱密碼體制等密碼技術建立起一套嚴密的身份認證系統,從而保證:信息除發送方和接收方外不被其它人竊取;信息在傳輸過程中不被篡改;發送方能夠通過數字證書來確認接收方的身份;發送方對於自己的信息不能抵賴。
3. 數字認證原理
數字證書採用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶自己設定一把特定的僅為本人所知的私有密鑰(私鑰),用它進行解密和簽名;同時設定一把公共密鑰(公鑰)並由本人公開,為一組用戶所共享,用於加密和驗證簽名。當發送一份保密文件時,發送方使用接收方的公鑰對數據加密,而接收方則使用自己的私鑰解密,這樣信息就可以安全無誤地到達目的地了。通過數字的手段保證加密過程是一個不可逆過程,即只有用私有密鑰才能解密。
在公開密鑰密碼體制中,常用的一種是RSA體制。其數學原理是將一個大數分解成兩個質數的乘積,加密和解密用的是兩個不同的密鑰。即使已知明文、密文和加密密鑰(公開密鑰),想要推導出解密密鑰(私有密鑰),在計算上是不可能的。按現在的計算機技術水平,要破解目前採用的1024位RSA密鑰,需要上千年的計算時間。公開密鑰技術解決了密鑰發布的管理問題,商戶可以公開其公開密鑰,而保留其私有密鑰。購物者可以用人人皆知的公開密鑰對發送的信息進行加密,安全地傳送以商戶,然後由商戶用自己的私有密鑰進行解密。
如果用戶需要發送加密數據,發送方需要使用接收方的數字證書(公開密鑰)對數據進行加密,而接收方則使用自己的私有密鑰進行解密,從而保證數據的安全保密性。
另外,用戶可以通過數字簽名實現數據的完整性和有效性,只需採用私有密鑰對數據進行加密處理,由於私有密鑰僅為用戶個人擁有,從而能夠簽名文件的唯一性,即保證:數據由簽名者自己簽名發送,簽名者不能否認或難以否認;數據自簽發到接收這段過程中未曾作過任何修改,簽發的文件是真實的。
4. 數字證書是如何頒發的?
數字證書是由認證中心頒發的。根證書是認證中心與用戶建立信任關系的基礎。在用戶使用數字證書之前必須首先下載和安裝。
認證中心是一家能向用戶簽發數字證書以確認用戶身份的管理機構。為了防止數字憑證的偽造,認證中心的公共密鑰必須是可靠的,認證中心必須公布其公共密鑰或由更高級別的認證中心提供一個電子憑證來證明其公共密鑰的有效性,後一種方法導致了多級別認證中心的出現。
數字證書頒發過程如下:用戶產生了自己的密鑰對,並將公共密鑰及部分個人身份信息傳送給一家認證中心。認證中心在核實身份後,將執行一些必要的步驟,以確信請求確實由用戶發送而來,然後,認證中心將發給用戶一個數字證書,該證書內附了用戶和他的密鑰等信息,同時還附有對認證中心公共密鑰加以確認的數字證書。當用戶想證明其公開密鑰的合法性時,就可以提供這一數字證書。
5. 加密技術
由於數據在傳輸過程中有可能遭到侵犯者的竊聽而失去保密信息,加密技術是電子商務採取的主要保密安全措施,是最常用的保密安全手段。加密技術也就是利用技術手段把重要的數據變為亂碼(加密)傳送,到達目的地後再用相同或不同的手段還原(解密)。
加密包括兩個元素:演算法和密鑰。一個加密演算法是將普通的文本(或者可以理解的信息)與一竄數字(密鑰)的結合,產生不可理解的密文的步驟。密鑰和演算法對加密同等重要。
密鑰是用來對數據進行編碼和解碼的一種演算法。在安全保密中,可通過適當的密鑰加密技術和管理機制,來保證網路的信息通訊安全。密鑰加密技術的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。
相應地,對數據加密的技術分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標准(DES,Data Encryption Standard)演算法為典型代表,非對稱加密通常以RSA(Rivest Shamir Ad1eman)演算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。
E. 秘鑰、公鑰匙、認證之間的關系 DES、RSA、AES 數據加密傳輸
對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)。對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。
對稱加密通常使用的是相對較小的密鑰,一般小於256 bit。因為密鑰越大,加密越強,但加密與解密的過程越慢。如果你只用1 bit來做這個密鑰,那黑客們可以先試著用0來解密,不行的話就再用1解;但如果你的密鑰有1 MB大,黑客們可能永遠也無法破解,但加密和解密的過程要花費很長的時間。密鑰的大小既要照顧到安全性,也要照顧到效率,是一個trade-off。
對稱加密的一大缺點是密鑰的管理與分配,換句話說,如何把密鑰發送到需要解密你的消息的人的手裡是一個問題。在發送密鑰的過程中,密鑰有很大的風險會被黑客們攔截。現實中通常的做法是將對稱加密的密鑰進行非對稱加密,然後傳送給需要它的人。
常用的有:DES、AES
非對稱加密為數據的加密與解密提供了一個非常安全的方法,它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。比如,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對消息加密,那麼只有私鑰的持有人--銀行才能對你的消息解密。與對稱加密不同的是,銀行不需要將私鑰通過網路發送出去,因此安全性大大提高。
常用的有:RSA
(1) 對稱加密加密與解密使用的是同樣的密鑰,所以速度快,但由於需要將密鑰在網路傳輸,所以安全性不高。
(2) 非對稱加密使用了一對密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
(3) 解決的辦法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密,然後發送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然後雙方可以使用對稱加密來進行溝通。
在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。
公鑰私鑰的原則:
非對稱密鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的,下面我就詳細講解一下兩者的區別。
比如有兩個用戶Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公鑰和私鑰,那麼加密解密的過程如下:
上面的過程可以用下圖表示,Alice使用Bob的公鑰進行加密,Bob用自己的私鑰進行解密。
身份認證和加密就不同了,主要用戶鑒別用戶的真偽。這里我們只要能夠鑒別一個用戶的私鑰是正確的,就可以鑒別這個用戶的真偽。
還是Alice和Bob這兩個用戶,Alice想讓Bob知道自己是真實的Alice,而不是假冒的,因此Alice只要使用公鑰密碼學對文件簽名發送 給Bob,Bob使用Alice的公鑰對文件進行解密,如果可以解密成功,則證明Alice的私鑰是正確的,因而就完成了對Alice的身份鑒別。整個身 份認證的過程如下:
上面的過程可以用下圖表示,Alice使用自己的私鑰加密,Bob用Alice的公鑰進行解密。
DES是Data Encryption Standard(數據加密標准)的縮寫,DES演算法為密碼體制中的對稱密碼體制。它是由IBM公司研製的一種加密演算法,美國國家標准局於1977年公布把它作為非機要部門使用的數據加密標准,二十年來,它一直活躍在國際保密通信的舞台上,扮演了十分重要的角色。
DES是一個分組加密演算法,他以64位為分組對數據加密。同時DES也是一個對稱演算法:加密和解密用的是同一個演算法。它的密匙長度是56位(因為每個第8位都用作奇偶校驗),密匙可以是任意的56位的數,而且可以任意時候改變。其中有極少量的數被認為是弱密匙,但是很容易避開他們。所以保密性依賴於密鑰。
特點:分組比較短、密鑰太短、密碼生命周期短、運算速度較慢。 DES演算法具有極高安全性,到目前為止,除了用窮舉搜索法對DES演算法進行攻擊外,還沒有發現更有效的辦法。而56位長的密鑰的窮舉空間為256,這意味著如果一台計算機的速度是每一秒種檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近2285年的時間。
DES現在已經不視為一種安全的加密演算法,因為它使用的56位秘鑰過短,以現代計算能力,24小時內即可能被破解。也有一些分析報告提出了該演算法的理論上的弱點,雖然實際情況未必出現。該標准在最近已經被 高級加密標准 (AES)所取代。
高級加密標准(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。這個標准用來替代原先的 DES ,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標准由美國國家標准與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標准。2006年,高級加密標准已然成為對稱密鑰加密中最流行的演算法之一。
AES的區塊長度固定為128 位元 ,密鑰長度則可以是128,192或256位元。
RSA加密演算法是一種 非對稱加密演算法 。在 公鑰加密標准 和 電子商業 中RSA被廣泛使用。RSA是 1977年 由 羅納德·李維斯特 (Ron Rivest)、 阿迪·薩莫爾 (Adi Shamir)和 倫納德·阿德曼 (Leonard Adleman)一起提出的。當時他們三人都在 麻省理工學院 工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。
RSA演算法利用兩個很大的質數相乘所產生的乘積來加密。這兩個質數無論哪一個先與原文件編碼相乘,對文件加密,均可由另一個質數再相乘來解密。但要用一個 質數來求出另一個質數,則是十分困難的。因此將這一對質數稱為密鑰對(Key Pair)。在加密應用時,某個用戶總是將一個密鑰公開,讓需發信的人員將信息用其公共密鑰加密後發給該用戶,而一旦信息加密後,只有用該用戶一個人知道 的私用密鑰才能解密。具有數字憑證身份的人員的公共密鑰可在網上查到,亦可在請對方發信息時主動將公共密鑰傳給對方,這樣保證在Internet上傳輸信 息的保密和安全。
開發中:
客戶端發送的敏感數據時需要加密處理,客戶端數據採用公鑰加密,伺服器用對應的秘鑰解密,客戶端保存公鑰,伺服器保存秘鑰
伺服器發送的數據也要加密時,伺服器端數據採用秘鑰加密,客戶端數據用對應的公鑰加密,客戶端保存公鑰,伺服器保存秘鑰
伺服器要認證客戶端時,客戶端數據採用秘鑰加密,伺服器用對應的公鑰解密,客戶端保留秘鑰,伺服器保留公鑰
常用加解密方案:
如果想要更加安全一點,可以在仿照微信的通信,每次都在傳輸數據上加上一個32為隨機數和並將數據按照一定的規則生成一個校驗sign
F. 消息認證碼與加密演算法的區別求大神指教
消息認證碼MAC(帶密鑰的Hash函數):密碼學中,通信實體雙方使用的一種驗證機制,保證消息數據完整性的一種工具。構造方法由M.Bellare提出,安全性依賴於Hash函數,故也稱帶密鑰的Hash函數。是一種消息認證演算法。消息認證碼是基於密鑰和消息摘要所獲得的一個值,可用於數據源發認證和完整性校驗。消息認證是強調消息的完整性。可以驗證消息的完整性,當接收方收到發送方的報文時,接收方能夠驗證收到的報文是真實的和未被篡改的。一是驗證消息的發送者是真正的而非冒充的,即數據起源認證,二是驗證消息在傳輸過程中未被篡改。
而加密演算法主要是保證消息的保密性,各種加密演算法就不說了,網路很詳細。。。
G. 常見的三種加密演算法及區別
1.常見的三種加密演算法及區別
2.加密演算法在HTTPS中的應用
3.MD5的實現原理
簡介:
消息摘要演算法的主要特徵是加密過程 不需要密鑰 ,並且經過加密的數據 無法被解密
特點:
無論輸入的消息有多長,計算出來的消息摘要的 長度總是固定 的
一般地,只要輸入的 消息不同 ,對其進行摘要以後產生的 摘要消息也必不相同 ,但 相同的輸入必會產生相同的輸出
應用場景:
消息摘要演算法主要應用在「數字簽名」領域,作為對明文的摘要演算法
比較:
都是從MD4發展而來,它們的結構和強度等特性有很多相似之處
簡介:
對稱加密指加密和解密使用 相同密鑰 的加密演算法
特點:
對稱加密演算法的特點是演算法公開、 計算量小 、 加密速度快 、加密效率高。不足之處是,交易雙方都使用 同樣鑰匙 ,安全性得不到保證。
應用:
數據傳輸中的加密,防竊取
比較:
AES彌補了DES很多的不足,支持秘鑰變長,分組變長,更加的安全,對內存要求非常低
簡介:
非對稱加密演算法需要兩個密鑰:公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用 公鑰對數據進行加密,只有用對應的私鑰才能解密。用私鑰進行加密,只有對應的公鑰才能進行解密
特點:
演算法強度復雜、安全性依賴於演算法與密鑰。但是由於其演算法復雜,而使得加密解密 速度沒有對稱加密解密的速度快 。
應用場景:
數字簽名、秘鑰傳輸加密
比較:
使用RSA,可以進行加密和簽名的密鑰對。使用DH,只執行加密,沒有簽名機制。
ECC和 RSA 相比,在許多方面都有對絕對的優勢
H. openssl 加密演算法區別
openssl加密演算法區別是:RSA/DSA ,不同的是RSA可以用於加/解密,也可以用於簽名驗簽,DSA則只能用於簽名。至於SHA則是一種和md5相同的演算法。
它不是用於加密解密或者簽名的,它被稱為摘要演算法。就是通過一種演算法,依據數據內容生成一種固定長度的摘要,這串摘要值與原數據存在對應關系,就是原數據會生成這個摘要,但是,這個摘要是不能還原成原數據的。
正常情況下是這樣的,這個演算法起的作用就是,如果你把原數據修改一點點,那麼生成的摘要都會不同,傳輸過程中把原數據給你再給你一個摘要,你把得到的原數據同樣做一次摘要演算法,與給你的摘要相比較就可以知道這個數據有沒有在傳輸過程中被修改了。
openssl加密演算法的實際運用:
實際應用過程中,因為需要加密的數據可能會很大,進行加密費時費力,所以一般都會把原數據先進行摘要,然後對這個摘要值進行加密,將原數據的明文和加密後的。
摘要值一起傳給你。這樣你解開加密後的摘要值,再和你得到的數據進行的摘要值對應一下就可以知道數據有沒有被修改了。
而且,因為私鑰只有你有,只有你能解密摘要值,所以別人就算把原數據做了修改,然後生成一個假的摘要給你也是不行的,你這邊用密鑰也根本解不開。