密鑰加密技術
Ⅰ 什麼是公開密鑰加密技術
公鑰和私鑰
其次我們還要了解公鑰和私鑰的概念和作用。
在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。
公鑰私鑰的原則:
一個公鑰對應一個私鑰。
密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。
非對稱密鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的,下面我就詳細講解一下兩者的區別。
基於公開密鑰的加密過程
比如有兩個用戶Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公鑰和私鑰,那麼加密解密的過程如下:
Bob將他的公開密鑰傳送給Alice。
Alice用Bob的公開密鑰加密她的消息,然後傳送給Bob。
Bob用他的私人密鑰解密Alice的消息。
參考資料:http://www.williamlong.info/archives/837.html
Ⅱ 如何使用密鑰進行加密
密鑰加密是為保證在開放式環境中網路傳輸的安全而提供的加密服務。
通常大量使用的兩種密鑰加密技術是:私用密鑰(對稱加密)和公共密鑰(非對稱加密)。
秘密密鑰:使用極其復雜的加密演算法,即使破譯者能夠對選擇的任意數量的明文進行加密,也無法找出破譯密文的方法。秘密密鑰的一個弱點是解密密鑰必須和加密密碼相同,這就產生了如何安全地分發密鑰的問題。
公開密鑰:滿足三個條件:第一個條件是指將解密演算法作用於密文後就可以獲得明文;第二個條件是指不可能從密文導出解密演算法;第三個條件是指破譯者即使能加密任意數量的選擇明文,也無法破譯密碼。如果滿足以上條件,則可以公開加密演算法。
Ⅲ 十大常見密碼加密方式
一、密鑰散列
採用MD5或者SHA1等散列演算法,對明文進行加密。嚴格來說,MD5不算一種加密演算法,而是一種摘要演算法。無論多長的輸入,MD5都會輸出一個128位(16位元組)的散列值。而SHA1也是流行的消息摘要演算法,它可以生成一個被稱為消息摘要的160位(20位元組)散列值。MD5相對SHA1來說,安全性較低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、對稱加密
採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密。對稱加密演算法中常用的演算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非對稱加密
非對稱加密演算法是一種密鑰的保密方法,它需要兩個密鑰來進行加密和解密,這兩個密鑰是公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。非對稱加密演算法有:RSA、Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)。
四、數字簽名
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。
五、直接明文保存
早期很多這樣的做法,比如用戶設置的密碼是「123」,直接就將「123」保存到資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。
六、使用MD5、SHA1等單向HASH演算法保護密碼
使用這些演算法後,無法通過計算還原出原始密碼,而且實現比較簡單,因此很多互聯網公司都採用這種方式保存用戶密碼,曾經這種方式也是比較安全的方式,但隨著彩虹表技術的興起,可以建立彩虹表進行查表破解,目前這種方式已經很不安全了。
七、特殊的單向HASH演算法
由於單向HASH演算法在保護密碼方面不再安全,於是有些公司在單向HASH演算法基礎上進行了加鹽、多次HASH等擴展,這些方式可以在一定程度上增加破解難度,對於加了「固定鹽」的HASH演算法,需要保護「鹽」不能泄露,這就會遇到「保護對稱密鑰」一樣的問題,一旦「鹽」泄露,根據「鹽」重新建立彩虹表可以進行破解,對於多次HASH,也只是增加了破解的時間,並沒有本質上的提升。
八、PBKDF2
該演算法原理大致相當於在HASH演算法基礎上增加隨機鹽,並進行多次HASH運算,隨機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。
九、BCrypt
BCrypt 在1999年就產生了,並且在對抗 GPU/ASIC 方面要優於 PBKDF2,但是我還是不建議你在新系統中使用它,因為它在離線破解的威脅模型分析中表現並不突出。
十、SCrypt
SCrypt 在如今是一個更好的選擇:比 BCrypt設計得更好(尤其是關於內存方面)並且已經在該領域工作了 10 年。另一方面,它也被用於許多加密貨幣,並且我們有一些硬體(包括 FPGA 和 ASIC)能實現它。 盡管它們專門用於采礦,也可以將其重新用於破解。
Ⅳ 加密技術分為哪兩類
加密技術分為:
1、對稱加密
對稱加密採用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,密鑰較短,且破譯困難
2、非對稱
1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。
加密技術的功能:
原有的單密鑰加密技術採用特定加密密鑰加密數據,而解密時用於解密的密鑰與加密密鑰相同,這稱之為對稱型加密演算法。採用此加密技術的理論基礎的加密方法如果用於網路傳輸數據加密,則不可避免地出現安全漏洞。
區別於原有的單密鑰加密技術,PKI採用非對稱的加密演算法,即由原文加密成密文的密鑰不同於由密文解密為原文的密鑰,以避免第三方獲取密鑰後將密文解密。
以上內容參考:網路—加密技術
Ⅳ 對稱密鑰加密是如何進行的
對稱密鑰加密也叫秘密/專用密鑰加密(Secret Key Encryption),即發送和接收數據的雙方必須使用相同的/對稱的密鑰對明文進行加密和解密運算。
非對稱密鑰加密也叫公開密鑰加密(Public Key Encryption),是指每個人都有一對唯一對應的密鑰:公開密鑰和私有密鑰,公鑰對外公開,私鑰由個人秘密保存;用其中一把密鑰來加密,就只能用另一把密鑰來解密。發送數據的一方用另一方的公鑰對發送的信息進行加密,然後由接受者用自己的私鑰進行解密。公開密鑰加密技術解決了密鑰的發布和管理問題,是目前商業密碼的核心。使用公開密鑰技術,進行數據通信的雙方可以安全地確認對方身份和公開密鑰,提供通信的可鑒別性。
Ⅵ 根據加密的數據形式,可將密鑰加密技術分為
主要有兩種方式:「對稱式」和「非對稱式」。對稱式加密就是加密和解密使用同一個密鑰,通常稱之為「SessionKey」這種加密技術目前被廣泛採用,如美國政府所採用的DES加密標准就是一種典型的「對稱式」加密法,它的SessionKey長度為56Bits。非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能打開加密文件。這里的「公鑰」是指可以對外公布的,「私鑰」則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網路上傳輸加密文件就很難把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的「公鑰」是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。一般的數據加密可以在通信的三個層次來實現:鏈路加密、節點加密和端到端加密。(3)鏈路加密對於在兩個網路節點間的某一次通信鏈路,鏈路加密能為網上傳輸的數據提供安全證。對於鏈路加密(又稱在線加密),所有消息在被傳輸之前進行加密,在每一個節點對接收到消息進行解密,然後先使用下一個鏈路的密鑰對消息進行加密,再進行傳輸。在到達目的地之前,一條消息可能要經過許多通信鏈路的傳輸。由於在每一個中間傳輸節點消息均被解密後重新進行加密,因此,包括路由信息在內的鏈路上的所有數據均以密文形式出現。這樣,鏈路加密就掩蓋了被傳輸消息的源點與終點。由於填充技術的使用以及填充字元在不需要傳輸數據的情況下就可以進行加密,這使得消息的頻率和長度特性得以掩蓋,從而可以防止對通信業務進行分析。盡管鏈路加密在計算機網路環境中使用得相當普遍,但它並非沒有問題。鏈路加密通常用在點對點的同步或非同步線路上,它要求先對在鏈路兩端的加密設備進行同步,然後使用一種鏈模式對鏈路上傳輸的數據進行加密。這就給網路的性能和可管理性帶來了副作用。在線路/信號經常不通的海外或衛星網路中,鏈路上的加密設備需要頻繁地進行同步,帶來的後果是數據丟失或重傳。另一方面,即使僅一小部分數據需要進行加密,也會使得所有傳輸數據被加密。在一個網路節點,鏈路加密僅在通信鏈路上提供安全性,消息以明文形式存在,因此所有節點在物理上必須是安全的,否則就會泄漏明文內容。然而保證每一個節點的安全性需要較高的費用,為每一個節點提供加密硬體設備和一個安全的物理環境所需要的費用由以下幾部分組成:保護節點物理安全的雇員開銷,為確保安全策略和程序的正確執行而進行審計時的費用,以及為防止安全性被破壞時帶來損失而參加保險的費用。在傳統的加密演算法中,用於解密消息的密鑰與用於加密的密鑰是相同的,該密鑰必須被秘密保存,並按一定規則進行變化。這樣,密鑰分配在鏈路加密系統中就成了一個問題,因為每一個節點必須存儲與其相連接的所有鏈路的加密密鑰,這就需要對密鑰進行物理傳送或者建立專用網路設施。而網路節點地理分布的廣闊性使得這一過程變得復雜,同時增加了密鑰連續分配時的費用。節點加密盡管節點加密能給網路數據提供較高的安全性,但它在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸的消息提供安全性;都在中間節點先對消息進行解密,然後進行加密。因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的。然而,與鏈路加密不同,節點加密不允許消息在網路節點以明文形式存在,它先把收到的消息進行解密,然後採用另一個不同的密鑰進行加密,這一過程是在節點上的一個安全模塊中進行。節點加密要求報頭和路由信息以明文形式傳輸,以便中間節點能得到如何處理消息的信息。因此這種方法對於防止攻擊者分析通信業務是脆弱的。端到端加密端到端加密允許數據在從源點到終點的傳輸過程中始終以密文形式存在。採用端到端加密,消息在被傳輸時到達終點之前不進行解密,因為消息在整個傳輸過程中均受到保護,所以即使有節點被損壞也不會使消息泄露。端到端加密系統的價格便宜些,並且與鏈路加密和節點加密相比更可靠,更容易設計、實現和維護。端到端加密還避免了其它加密系統所固有的同步問題,因為每個報文包均是獨立被加密的,所以一個報文包所發生的傳輸錯誤不會影響後續的報文包。此外,從用戶對安全需求的直覺上講,端到端加密更自然些。單個用戶可能會選用這種加密方法,以便不影響網路上的其他用戶,此方法只需要源和目的節點是保密的即可。端到端加密系統通常不允許對消息的目的地址進行加密,這是因為每一個消息所經過的節點都要用此地址來確定如何傳輸消息。由於這種加密方法不能掩蓋被傳輸消息的源點與終點,因此它對於防止攻擊者分析通信業務是脆弱的。
Ⅶ 什麼叫密鑰加密,大致可以分為幾類
密鑰出現的格式有多種,如代碼、密碼或其它。最流行的密鑰加密技術是數據加密標准(DES:Data Encryption Standard)。當前使用更多且更為先進的加密演算法是 Triple DES,支持高敏感信息的安全性。密鑰加密中的核心技術是密鑰管理,包括密鑰建立、密鑰存儲、密鑰分配、密鑰取消等等。金融業在標准化密鑰保護和交換的過程中處於主導地位。具體內容在 ANSI X9.17 金融機構密鑰管理(Wholesale)標准中有講解。目前,SKIP(Simple Key management for IP)和 ISAKMP/Oakley 是最流行的密鑰管理技術。 公共密鑰加密可以應用於在信息存儲和交換期間提供私人信息保護。如果用戶想將信息保密保存在自己的硬碟中,那麼他可以通過密鑰使其不對外泄漏。如果用戶想將信息傳輸給另一方,密鑰加密術可以保證即使信息被 3rd 方捕獲,也不可讀,但接收方可以通過預先被告訴或共同協商密鑰成功實現解密過程。 由於每次通信都需要一個密鑰支持,這樣可以增強大型系統的密鑰管理難度,並且使得用戶很難安全傳遞網路密鑰。公共密鑰加密術通常適用於大型系統的信息安全機制,而私人密鑰加密術常適用於小型系統的信息安全機制。