網上這樣說:
與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰:公開金鑰(publickey)和私有金鑰(privatekey)。公開金鑰與私有金鑰是一對,如果用公開金鑰對資料進行加密,只有用對應的私有金鑰才能解密;如果用私有金鑰對資料進行加密,那麼只有用對應的公開金鑰才能解密。因為加密和解密使用的是兩個不同的金鑰,所以這種演算法叫作非對稱加密演算法。
**方利用該非對稱加密演算法實現機密資訊交換的基本過程是:**方甲生成一對金鑰並將其中的一把作為公用金鑰向其他**方公開;得到該公用金鑰的**方乙使用該金鑰對機密資訊進行加密後再傳送給**方甲;**方甲再用自己儲存的另一把專用金鑰對加密後的資訊進行解密。**方甲只能用其專用金鑰解密由其公用金鑰加密後的任何資訊。
非對稱加密演算法的保密性比較好,它消除了終端使用者交換金鑰的需要,但加密和解密花費時間長、速度慢,它不適合於對檔案加密而只適用於對少量資料進行加密。
我的理解是:甲生成一對金鑰,把金鑰2公開出去給乙;甲把加密資訊發給乙,乙用金鑰2解密得到明文;乙在用金鑰2加密,甲收到後用自己保留的金鑰1解密出來得到明文。如此對換繼續傳輸。
在微軟的window nt的安全性體系結構中,公開金鑰系統主要用於對私有金鑰的加密過程。每個使用者如果想要對資料進行加密,都需要生成一對自己的金鑰對(keypair)。金鑰對中的公開金鑰和非對稱加密解密演算法是公開的,但私有金鑰則應該由金鑰的主人妥善保管。
使用公開金鑰對檔案進行加密傳輸的實際過程包括四步:
(1)傳送方生成乙個自己的私有金鑰並用接收方的公開金鑰對自己的私有金鑰進行加密,然後通過網路傳輸到接收方;
(2)傳送方對需要傳輸的檔案用自己的私有金鑰進行加密,然後通過網路把加密後的檔案傳輸到接收方;
(3)接收方用自己的公開金鑰進行解密後得到傳送方的私有金鑰;
(4)接受方用傳送方的私有金鑰對檔案進行解密得到檔案的明文形式。
因為只有接收方才擁有自己的公開金鑰,所以即使其他人得到了經過加密的傳送方的私有金鑰,也因為無法進行解密而保證了私有金鑰的安全性,從而也保證了傳輸檔案的安全性。實際上,上述在檔案傳輸過程中實現了兩個加密解密過程:檔案本身的加密和解密與私有金鑰的加密解密,這分別通過私有金鑰和公開金鑰來實現。
那麼這裡我有個問題:因為只有接收方才擁有自己的公開金鑰,但傳送方也有接收方的公開金鑰(1),他們事前在互相傳送這個金鑰的時候被盜了怎麼辦,其他人就可以偽造了啊!
下面是對稱加密,其實對稱加密只有乙個金鑰,非對稱有兩個金鑰
a.對稱加密技術
a. 描述
對稱演算法(symmetric algorithm),有時又叫傳統密碼演算法,就是加密金鑰能夠從解密金鑰中推算出來,同時解密金鑰也可以從加密金鑰中推算出來。而在大多數的對稱演算法中,加密金鑰和解密金鑰是相同的。所以也稱這種加密演算法為秘密金鑰演算法或單金鑰演算法。它要求傳送方和接收方在安全通訊之前,商定乙個金鑰。對稱演算法的安全性依賴於金鑰,洩漏金鑰就意味著任何人都可以對他們傳送或接收的訊息解密,所以金鑰的保密性對通訊性至關重要。
b.特點分析
對稱加密的優點在於演算法實現後的效率高、速度快。
對稱加密的缺點在於金鑰的管理過於複雜。如果任何一對傳送方和接收方都有他們各自商議的金鑰的話,那麼很明顯,假設有n個使用者進行對稱加密通訊,如果按照上述方法,則他們要產生n(n-1)把金鑰,每乙個使用者要記住或保留n-1把金鑰,當n很大時,記住是不可能的,而保留起來又會引起金鑰洩漏可能性的增加。常用的對稱加密演算法有des,dea等。
b.非對稱加密技術
a.描述
非對稱加密(dissymmetrical encryption),有時又叫公開金鑰演算法(public key algorithm)。這種加密演算法是這樣設計的:用作加密的金鑰不同於用作解密的金鑰,而且解密金鑰不能根據加密金鑰計算出來(至少在合理假定的長時間內)。之所以又叫做公開金鑰演算法是由於加密金鑰可以公開,即陌生人可以得到它並用來加密資訊,但只有用相應的解密金鑰才能解密資訊。在這種加密演算法中,加密金鑰被叫做公開金鑰(public key),而解密金鑰被叫做私有金鑰(private key)。
b.特點分析
非對稱加密的缺點在於演算法實現後的效率低、速度慢。
非對稱加密的優點在於使用者不必記憶大量的提前商定好的金鑰,因為傳送方和接收方事先根本不必商定金鑰,發放方只要可以得到可靠的接收方的公開金鑰就可以給他傳送資訊了,而且即使雙方根本互不相識。但為了保證可靠性,非對稱加密演算法需要一種與之相配合使用的公開金鑰管理機制,這種公開金鑰管理機制還要解決其他一些公開金鑰所帶來的問題。常用的非對稱加密演算法有rsa等。
對稱加密 非對稱加密理解
首先,對稱加密是指傳送方和接收方,都使用一套加密方式進行加密。比如a向b傳送訊息 holle,按英文本母分別向後移動12345進行加密,那麼得到的加密後的是訊息是 isooj,將isooj傳送給b,b再按按英文本母向前移123456位,則解密出holle這個正確的訊息。這就是對稱加密。但是對稱加密存...
對稱加密和非對稱加密!
主要是對稱加密和非對稱加密兩種。可供各位參考 using system using system.collections.generic using system.linq using system.text using system.security.cryptography using syst...
對稱加密和非對稱加密!
對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...