對稱加密演算法是應用較早的加密演算法,技術成熟。
在對稱加密演算法中,其原理就是:數據發信方將明文(原始數據)和加密密鑰(mi yao)一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。
在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。
B. 加密方式有幾種
加密方式的種類:
1、MD5
一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於1992年公開,用以取代MD4演算法。這套演算法的程序在 RFC 1321 標准中被加以規范。
2、對稱加密
對稱加密採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
3、非對稱加密
與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。
如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
(2)對稱加密文件怎麼發送擴展閱讀
非對稱加密工作過程
1、乙方生成一對密鑰(公鑰和私鑰)並將公鑰向其它方公開。
2、得到該公鑰的甲方使用該密鑰對機密信息進行加密後再發送給乙方。
3、乙方再用自己保存的另一把專用密鑰(私鑰)對加密後的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密後的信息。
在傳輸過程中,即使攻擊者截獲了傳輸的密文,並得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。
同樣,如果乙要回復加密信息給甲,那麼需要甲先公布甲的公鑰給乙用於加密,甲自己保存甲的私鑰用於解密。
C. 秘鑰、公鑰匙、認證之間的關系 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
D. 簡要說說對稱加密和非對稱加密的原理以及區別是什麼
對稱加密的原理是數據發送方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。接收方收到密文後,若想解讀原文,則需要使用加密密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。
非對稱加密的原理是甲方首先生成一對密鑰同時將其中的一把作為公開密鑰;得到公開密鑰的乙方再使用該密鑰對需要加密的信息進行加密後再發送給甲方;甲方再使用哪鍵另一把對應的私有密鑰對加密後的信息進行解密,這樣就實現了機密數據傳輸。
對稱加密和非對稱加密的區別為:密鑰不同、安全性不同、數字簽名不同。
一、密鑰不同
1、對稱加密:對稱加密加密和解密使用同一個密鑰。
2、非對稱加密:非對稱加密加密和解密所使用的不是同一個密鑰,需要兩個密鑰來進行加密和解密。
二、安全性不同
1、對基緩銷稱加密:對稱加密如果用於通過網路傳輸加密文件,那麼不管使用任何方法將密鑰告訴對方,都有可能被竊聽。
2、非對稱加密:非對稱加密因為它包含有兩個密鑰,且僅有其中的「公鑰」是可以被公開的,接收方只需要使用自己已持有的私鑰進行解密,這樣就可以很好的避免密鑰在傳輸過程中產生的安全問題。
三搏游、數字簽名不同
1、對稱加密:對稱加密不可以用於數字簽名和數字鑒別。
2、非對稱加密:非對稱加密可以用於數字簽名和數字鑒別。
E. 請用對稱加密技術舉例子
公鑰密碼體制的核心思想是:加密和解密採用不同的密鑰。這是公鑰密碼體制和傳統的對稱密碼體制最大的區別。對於傳統對稱密碼而言,密文的安全性完全依賴於 密鑰的保密性,一旦密鑰泄漏,將毫無保密性可言。但是公鑰密碼體制徹底改變了這一狀況。在公鑰密碼體制中,公鑰是公開的,只有私鑰是需要保密的。知道公鑰 和密碼演算法要推測出私鑰在計算上是不可行的。這樣,只要私鑰是安全的,那麼加密就是可信的。
顯然,對稱密碼和公鑰密碼都需要保證密鑰的安全,不同之處在於密鑰的管理和分發上面。在對稱密碼中,必須要有一種可靠的手段將加密密鑰(同時也是解密密 鑰)告訴給解密方;而在公鑰密碼體制中,這是不需要的。解密方只需要保證自己的私鑰的保密性即可,對於公鑰,無論是對加密方而言還是對密碼分析者而言都是 公開的,故無需考慮採用可靠的通道進行密碼分發。這使得密鑰管理和密鑰分發的難度大大降低了。
加密和解密:發送方利用接收方的公鑰對要發送的明文進行加密,接受方利用自己的
私鑰進行解密,其中公鑰和私鑰匙相對的,任何一個作為公鑰,則另一個
就為私鑰.但是因為非對稱加密技術的速度比較慢,所以,一般採用對稱
加密技術加密明文,然後用非對稱加密技術加密對稱密鑰,即數字信封 技術.
簽名和驗證:發送方用特殊的hash演算法,由明文中產生固定長度的摘要,然後利用
自己的私鑰對形成的摘要進行加密,這個過程就叫簽名。接受方利用
發送方的公鑰解密被加密的摘要得到結果A,然後對明文也進行hash操
作產生摘要B.最後,把A和B作比較。此方式既可以保證發送方的身份不
可抵賴,又可以保證數據在傳輸過程中不會被篡改。
首先要分清它們的概念:
加密和認證
首先我們需要區分加密和認證這兩個基本概念。
加密是將數據資料加密,使得非法用戶即使取得加密過的資料,也無法獲取正確的資料內容, 所以數據加密可以保護數據,防止監聽攻擊。其重點在於數據的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的 許可權。其重點在於用戶的真實性。兩者的側重點是不同的。
公鑰和私鑰
其次我們還要了解公鑰和私鑰的概念和作用。
在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。
公鑰私鑰的原則:
一個公鑰對應一個私鑰。
密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。
非對稱密鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的,下面我就詳細講解一下兩者的區別。
事例說明下:
例如:比如有兩個用戶Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公鑰和私鑰,那麼加密解密的過程如下:
Bob將他的公開密鑰傳送給Alice。
Alice用Bob的公開密鑰加密她的消息,然後傳送給Bob。
Bob用他的私人密鑰解密Alice的消息。
那麼Bob怎麼可以辨認Alice是不是真人還是冒充的.我們只要和上面的例子方法相反就可以了.
Alice用她的私人密鑰對文件加密,從而對文件簽名。
Alice將簽名的文件傳送給Bob。
Bob用Alice的公鑰解密文件,從而驗證簽名。
通過例子大家應該有所了解吧!
F. 請問以下對稱加密法的加密方法和解密方法是什麼
一、加密方法
一個加密系統S可以用數學符號描述如下:
S={P, C, K, E, D}
其中 :
P——明文空間,表示全體可能出現的明文集合,
C——密文空間,表示全體可能出現的密文集合,
K——密鑰空間,密鑰是加密演算法中的可變參數,
E——加密演算法,由一些公式、法則或程序構成,
D——解密演算法,它是E的逆。
當給定密鑰kÎK時,各符號之間有如下關系:
C = Ek(P), 對明文P加密後得到密文C
P = Dk(C) = Dk(Ek(P)), 對密文C解密後得明文P
如用E-1 表示E的逆,D-1表示D的逆,則有:
Ek = Dk-1且Dk = Ek-1
因此,加密設計主要是確定E,D,K。
二、解密方法
1 實現密鑰的交換,在對稱加密演算法中有這樣一個問題,對方如何獲得密鑰,在這里就可以通過公鑰演算法來實現。即用公鑰加密演算法對密鑰進行加密,再發送給對方就OK了
2 數字簽名。加密可以使用公鑰/私鑰,相對應的就是使用私鑰/公鑰解密。因此若是發送方使用自己的私鑰進行加密,則必須用發送方公鑰進行解密,這樣就證明了發送方的真實性,起到了防抵賴的作用。
G. 科普知識—對稱加密和非對稱加密
區塊鏈技術中廣泛應用到非對稱加密技術,非對稱加密技術保證了信息在傳輸過程中的安全性,非對稱加密技術是在對稱加密技術上發展來的。本文主要闡述對稱加密技術和非對稱加密技術的概念和特點,並舉例說明。
對稱加密就是用相同的密鑰對原文進行加密和解密,通信雙方共用一個密鑰。
基於對稱加密演算法傳輸信息「ABC」的步驟。
(1)發送方通過密鑰對原文"ABC"進行加密,得到密文"abc",並發送給接收方。密鑰為將字母轉換為對應的小寫字母,大寫A轉換為小寫a,「BC」同理轉換為「bc」。
(2)發送方將密鑰發送給接收方。
(3)接收方通過密鑰對密文進行解密,反推出原文「ABC」。
對稱加密演算法的缺點:無法確保密鑰被安全傳遞。
密鑰就是傳說中的「密碼本」。密文在傳輸過程中是可能被第三方截獲的,關鍵就落在「密碼本」上,如果密碼本也被第三方截獲,則傳輸的密碼信息將被第三方破獲,所以經常看到電影、電視劇的情節中通過各種手段保護密碼本的安全送達。
非對稱加密技術很好的解決了對稱加密技術密鑰無法安全傳遞的問題。
非對稱加密有兩個密鑰,即公鑰(Public Key)和私鑰(Private Key),對數據進行加密和解密使用不同的密鑰。使用公鑰進行加密,使用私鑰進行解密。
非對稱加密演算法中私鑰就是一個隨機數,基於不同的演算法生成不同的隨機數,如:SHA256演算法生成的是256位的隨機數,通常是調用操作系統的隨機數生成器來生成私鑰,私鑰通過一定的加密演算法推導出公鑰,私鑰到公鑰的推導過程是單向的,也就是說公鑰無法反推導出私鑰。
基於非對稱加密演算法傳輸信息「hello world」的步驟。
(1)發送方使用接收方的公鑰對待發送信息「hello world」加密,此處需注意:信息發送給誰,使用誰的公鑰進行加密,公鑰是可以公開的,類似於銀行卡賬戶。
(2)發送方將加密後的密文通過網路發送給接收方。
(3)接收方接收到密文後,使用自己的私鑰對密文進行解密,從而獲得傳輸信息「hello world」。
採用非對稱加密演算法即使第三方在網路上截獲到密文,但其無法獲得接收方的私鑰,也就無法對密文進行解密,作為接收方務必保證自己私鑰的安全,所以非對稱加密技術解決了密鑰傳輸過程的安全性問題。
本文主要闡述對稱加密技術和非對稱加密技術的概念和特點,並舉例說明。對稱加密是通信雙方共用密鑰,無法保證密鑰的安全傳遞;非對稱加密使用接收方的公鑰對數據加密,接收方使用自己的私鑰解密,即使信息被第三方截獲,由於沒有接收方的私鑰,也無法破解密文。