導航:首頁 > 源碼編譯 > rc5演算法加密密鑰長度

rc5演算法加密密鑰長度

發布時間:2023-08-12 00:07:08

⑴ 密碼學基礎

​ 密碼學是研究如何保護信息安全性的一門科學,涉及數學、物理、計算機、資訊理論、編碼學、通訊技術等學科,已經在生活中得到廣泛應用。

​ 密碼學組成分支分為編碼學和密碼分析學。密碼編碼學主要研究對信息進行編碼,實現信息的隱蔽。密碼分析學主要研究加密消息的破譯或消息的偽造。二者相互獨立,又相互依存,在矛盾與斗爭中發展,對立統一。

​ 密碼學的發展歷史大致可劃分為三個階段:

機密性

僅有發送方和指定的接收方能夠理解傳輸的報文內容。竊聽者可以截取到加密了的報文,但不能還原出原來的信息,即不能得到報文內容。

鑒別

發送方和接收方都應該能證實通信過程所涉及的另一方, 通信的另一方確實具有他們所聲稱的身份。即第三者不能冒充跟你通信的對方,能對對方的身份進行鑒別。

報文完整性

即使發送方和接收方可以互相鑒別對方,但他們還需要確保其通信的內容在傳輸過程中未被改變。

不可否認性

如果人們收到通信對方的報文後,還要證實報文確實來自所宣稱的發送方,發送方也不能在發送報文以後否認自己發送過報文。

​ 密碼體制是一個使通信雙方能進行秘密通信的協議。密碼體制由五要素組成,P(Plaintext明文集合),C(Ciphertext密文集合),K(Key密鑰集合),E(Encryption加密演算法),D(Decryption解密演算法),且滿足如下特性: 

<script type="math/tex; mode=display" id="MathJax-Element-1"> p ∈ P </script>

<script type="math/tex; mode=display" id="MathJax-Element-2"> c ∈ C </script>

<script type="math/tex; mode=display" id="MathJax-Element-3"> k1 ∈ K, k2 ∈ K </script>

<script type="math/tex; mode=display" id="MathJax-Element-6"> E_{k1}(p) = c,D_{k2}(c) = p </script>

​ 無論是用手工或機械完成的古典密碼體制,還是採用計算機軟體方式或電子電路的硬體方式完成的現代密碼體制,其加解密基本原理都是一致的。都是基於對明文信息的替代或置換,或者是通過兩者的結合運用完成的。

​ 替代(substitution cipher):有系統地將一組字母換成其他字母或符號;

​ 例如『help me』變成『ifmq nf』(每個字母用下一個字母取代)。

​ 置換(Transposition cipher):不改變字母,將字母順序重新排列;

​ 例如『help me』變成『ehpl em』(兩兩調換位置)。

​ 密碼分析者通常利用以下幾種方法對密碼體制進行攻擊:

​ 已知明文分析法: 

知道一部分明文和其對應的密文,分析發現秘鑰。

​ 選定明文分析法: 

設法讓對手加密自己選定的一段明文,並獲得對應的密文,在此基礎上分析發現密鑰。

​ 差別比較分析法: 

設法讓對方加密一組差別細微的明文,通過比較他們加密後的結果來分析秘鑰。

​ 無條件安全: 

無論破譯者的計算能力有多強,無論截獲多少密文,都無法破譯明文。

​ 計算上安全:

​ 破譯的代價超出信息本身的價值,破譯所需的時間超出信息的有效期。

​ 任何密碼系統的應用都需要在安全性和運行效率之間做出平衡,密碼演算法只要達到計算安全要求就具備了實用條件,並不需要實現理論上的絕對安全。1945年美國數學家克勞德·E·香農在其發布的《密碼學的數學原理》中,嚴謹地證明了一次性密碼本或者稱為「弗納姆密碼」(Vernam)具有無條件安全性。但這種絕對安全的加密方式在實際操作中需要消耗大量資源,不具備大規模使用的可行性。事實上,當前得到廣泛應用的密碼系統都只具有計算安全性。

​ 一個好的密碼體制應該滿足以下兩個條件:

在已知明文和密鑰的情況下,根據加密演算法計算密文是容易的;在已知密文和解密密鑰的情況下,計算明文是容易的。

在不知道解密密鑰的情況下,無法從密文計算出明文,或者從密文計算出明文的代價超出了信息本身的價值。

常見的密碼演算法包括:

​ 對稱密碼體制也稱單鑰或私鑰密碼體制,其加密密鑰和解密密鑰相同,或實質上等同, 即從一個易於推出另一個。

​ 優點:保密性高,加密速度快,適合加密大量數據,易於通過硬體實現; 

缺點:秘鑰必須通過安全可靠的途徑傳輸,秘鑰的分發是保證安全的關鍵因素;

​ 常見對稱密碼演算法:DES (密鑰長度=56位)、3DES( 三個不同的密鑰,每個長度56位)、AES(密鑰長度128/192/256可選)、IDEA(密鑰長度128位)、RC5(密鑰長度可變)。

​ 根據加密方式的不同,對稱密碼又可以分為分組密碼和序列密碼。

​ 將明文分為固定長度的組,用同一秘鑰和演算法對每一塊加密,輸出也是固定長度的密文,解密過程也一樣。

​ 又稱為流密碼,每次加密一位或一位元組的明文,通過偽隨機數發生器產生性能優良的偽隨機序列(密鑰流),用該序列加密明文消息序列,得到密文序列,解密過程也一樣。

​ 非對稱密碼體制又稱雙鑰或公鑰密碼體制,其加密密鑰和解密密鑰不同,從一個很難推出另一個。其中的加密密鑰可以公開,稱為公開密鑰,簡稱公鑰;解密密鑰必須保密,稱為私有密鑰,簡稱私鑰。

​ 優點:密鑰交換可通過公開信道進行,無需保密。既可用於加密也可用於簽名。 

缺點:加密速度不如對稱密碼,不適合大量數據加密,加密操作難以通過硬體實現。

​ 非對稱密碼體制不但賦予了通信的保密性,還提供了消息的認證性,無需實現交換秘鑰就可通過不安全信道安全地傳遞信息,簡化了密鑰管理的工作量,適應了通信網的需要,為保密學技術應用於商業領域開辟了廣闊的前景。

​ 常見的非對稱密碼演算法:RSA(基於大整數質因子分解難題)、ECC(基於橢圓曲線離散對數難題)。

對非對稱密碼的誤解 

非對稱密碼比對稱密碼更安全? 

任何一種演算法的安全都依賴於秘鑰的長度、破譯密碼的工作量,從抗分析的角度看,沒有哪一方更優越;

​ 非對稱密碼使對稱密碼成為過時技術? 

公鑰演算法很慢,一般用於密鑰管理和數字簽名,對稱密碼將長期存在,實際工程中採用對稱密碼與非對稱密碼相結合。

​ 哈希函數將任意長的消息映射為一個固定長度的散列值,也稱消息摘要。消息摘要可以作為認證符,完成消息認證。 

哈希是單向函數,從消息摘要來推理原消息是極為困難的。哈希函數的安全性是由發生碰撞的概率決定的。如果攻擊者能輕易構造出兩個不同的消息具有相同的消息摘要,那麼這樣的哈希函數是不可靠的。

​ 常見的哈希函數有:MD5,SHA1,HMAC。

​ 數字簽名是公鑰密碼的典型應用,可以提供和現實中親筆簽名相似的效果,在技術上和法律上都有保證。是網路環境中提供消息完整性,確認身份,保證消息來源(抗抵賴性)的重要技術。

​ 數字簽名與驗證過程:

​ 發送方用哈希函數從報文文本中生成一個128位的散列值(或報文摘要),發送方用自己的私鑰對這個散列值進行加密來形成自己的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起發送給接收方。接收方收到報文後,用同樣的哈希函數從原始報文中計算出散列值(或報文摘要),接著再用發送方的公鑰來對報文附加的數字簽名進行解密得出另一個散列值,如果兩個散列值相同,那麼接收方就能確認該數字簽名是發送方的。通過數字簽名能夠實現消息的完整性和不可抵賴性。 

​ 在網路安全中,密鑰的地位舉足輕重

。如何安全可靠、迅速高效地分配密鑰、管理密鑰一直是密碼學領域中的重要問題。

​ 密鑰生成可以通過在線或離線的交互協商方式實現,如密碼協議等 。密鑰長度應該足夠長。一般來說,密鑰長度越大,對應的密鑰空間就越大,攻擊者使用窮舉猜測密碼的難度就越大。選擇密鑰時,應該避免選擇弱密鑰,大部分密鑰生成演算法採用隨機過程或偽隨機過程生成密鑰。

​ 採用對稱加密演算法進行保密通信,需要共享同一密鑰。通常是系統中的一個成員先選擇一個秘密密鑰,然後將它傳送另一個成員或別的成員。X9.17標准描述了兩種密鑰:密鑰加密密鑰和數據密鑰。密鑰加密密鑰加密其它需要分發的密鑰;而數據密鑰只對信息流進行加密。密鑰加密密鑰一般通過手工分發。為增強保密性,也可以將密鑰分成許多不同的部分然後用不同的信道發送出去。

​ 密鑰附著一些檢錯和糾錯位來傳輸,當密鑰在傳輸中發生錯誤時,能很容易地被檢查出來,並且如果需要,密鑰可被重傳。接收端也可以驗證接收的密鑰是否正確。發送方用密鑰加密一個常量,然後把密文的前2-4位元組與密鑰一起發送。在接收端,做同樣的工作,如果接收端解密後的常數能與發端常數匹配,則傳輸無錯。

​ 當密鑰需要頻繁的改變時,頻繁進行新的密鑰分發的確是困難的事,一種更容易的解決辦法是從舊的密鑰中產生新的密鑰,有時稱為密鑰更新。可以使用單向函數進行更新密鑰。如果雙方共享同一密鑰,並用同一個單向函數進行操作,就會得到相同的結果。

​ 密鑰可以存儲在腦子、磁條卡、智能卡中。也可以把密鑰平分成兩部分,一半存入終端一半存入ROM密鑰。還可採用類似於密鑰加密密鑰的方法對難以記憶的密鑰進行加密保存。

​ 密鑰的備份可以採用密鑰託管、秘密分割、秘密共享等方式。

​ 密鑰託管:

​ 密鑰託管要求所有用戶將自己的密鑰交給密鑰託管中心,由密鑰託管中心備份保管密鑰(如鎖在某個地方的保險櫃里或用主密鑰對它們進行加密保存),一旦用戶的密鑰丟失(如用戶遺忘了密鑰或用戶意外死亡),按照一定的規章制度,可從密鑰託管中心索取該用戶的密鑰。另一個備份方案是用智能卡作為臨時密鑰託管。如Alice把密鑰存入智能卡,當Alice不在時就把它交給Bob,Bob可以利用該卡進行Alice的工作,當Alice回來後,Bob交還該卡,由於密鑰存放在卡中,所以Bob不知道密鑰是什麼。

​ 秘密分割:

​ 秘密分割把秘密分割成許多碎片,每一片本身並不代表什麼,但把這些碎片放到一塊,秘密就會重現出來。

​ 秘密共享:

​ 將密鑰K分成n塊,每部分叫做它的「影子」,知道任意m個或更多的塊就能夠計算出密鑰K,知道任意m-1個或更少的塊都不能夠計算出密鑰K。秘密共享解決了兩個問題:一是若密鑰偶然或有意地被暴露,整個系統就易受攻擊;二是若密鑰丟失或損壞,系統中的所有信息就不能用了。

​ 加密密鑰不能無限期使用,有以下有幾個原因:密鑰使用時間越長,它泄露的機會就越大;如果密鑰已泄露,那麼密鑰使用越久,損失就越大;密鑰使用越久,人們花費精力破譯它的誘惑力就越大——甚至採用窮舉攻擊法。

​ 不同密鑰應有不同有效期。數據密鑰的有效期主要依賴數據的價值和給定時間里加密數據的數量。價值與數據傳送率越大所用的密鑰更換越頻繁。如密鑰加密密鑰無需頻繁更換,因為它們只是偶爾地用作密鑰交換,密鑰加密密鑰要麼被記憶下來,要麼保存在一個安全地點,丟失該密鑰意味著丟失所有的文件加密密鑰。

​ 公開密鑰密碼應用中的私鑰的有效期是根據應用的不同而變化的。用作數字簽名和身份識別的私鑰必須持續數年(甚至終身),用作拋擲硬幣協議的私鑰在協議完成之後就應該立即銷毀。即使期望密鑰的安全性持續終身,兩年更換一次密鑰也是要考慮的。舊密鑰仍需保密,以防用戶需要驗證從前的簽名。但是新密鑰將用作新文件簽名,以減少密碼分析者所能攻擊的簽名文件數目。

​ 如果密鑰必須替換,舊鑰就必須銷毀,密鑰必須物理地銷毀。

​ PKI是一個利用公鑰加密技術為密鑰和證書的管理,所設計的組件、功能子系統、操作規程等的集合,它的主要任務是管理密鑰和證書,為網路用戶建立安全通信信任機制。

​ 數字證書是一個包含用戶身份信息、公鑰信息、證書認證中心(CA)數字簽名的文件。

​ 作用:數字證書是各類終端實體和最終用戶在網上進行信息交流及商業活動的身份證明,在電子交易的各個緩解,交易的各方都需要驗證對方數字證書的有效性,從而解決相互間的信任問題。

​ CA全稱Certificate Authentication,是具備權威性的數字證書申請及簽發機構。

​ CA作為PKI的核心部分,主要由注冊伺服器組、證書申請受理和審核機構、認證中心伺服器三者組成。

​ 注冊伺服器:通過 Web Server 建立的站點,可為客戶提供24×7 不間斷的服務。客戶在網上提出證書申請和填寫相應的證書申請表。

​ 證書申請受理和審核機構:負責證書的申請和審核。

認證中心伺服器:是數字證書生成、發放的運行實體,同時提供發放證書的管理、證書廢止列表(CRL)的生成和處理等服務。

​ 通過CA可以實現以下功能:

​ 1. 接收驗證最終用戶數字證書的申請; 

2. 確定是否接受最終用戶數字證書的申請和審批; 

3. 向申請者頒發、拒絕頒發數字證書; 

4. 接收、處理最終用戶數字證書的更新; 

5. 接受最終用戶數字證書的查詢、撤銷; 

6. 產生和發布CRL(證書廢止列表); 

7. 數字證書的歸檔; 

8. 密鑰歸檔; 

9. 歷史數據歸檔;

五、量子密碼

5.1 量子計算

​ 由於量子計算技術取得了出人意料的快速發展,大量僅能抵禦經典計算機暴力破解的密碼演算法面臨被提前淘汰的困境 。

​ 非對稱密碼系統有效解決了對稱密碼面臨的安全密鑰交換問題,因而廣泛應用於公鑰基礎設施、數字簽名、聯合授權、公共信道密鑰交換、安全電子郵件、虛擬專用網以及安全套接層等大量網路通信活動之中。不幸的是,隨著量子計算的發展,包括RSA密碼、ECC密碼以及DH密鑰交換技術等非對稱密碼演算法已經從理論上被證明徹底喪失了安全性。相對於對稱密碼系統還可以採取升級措施應對量子威脅,非對稱密碼系統必須採取全新方法進行重建 。

5.2 量子密碼

​ 量子密碼是以量子力學和密碼學為基礎,利用量子物理學中的原理實現密碼體制的一種新型密碼體制,與當前大多使用的經典密碼體制不一樣的是,量子密碼利用信息載體的物理屬性實現。目前量子密碼用於承載信息的載體包括光子、壓縮態光信號、相干態光信號等。

​ 由於量子密碼體制的理論基礎是量子物理定理,而物理定理是物理學家經過多年的研究與論證得出的結論,有可靠的理論依據,且不論在何時都是不會改變的,因此,理論上,依賴於這些物理定理的量子密碼也是不可攻破的,量子密碼體制是一種無條件安全的密碼體制。

⑵ 網路密鑰的加密類型

一般來說密鑰加密的方法有三種類型:對稱加密、非對稱加密和Hash加密。
密鑰的一個重要因素是它的長度——位,使用瀏覽器的時候也許你已經注意到了,在幫助中,我們可以查到某個版本瀏覽器的密鑰長度,比如密鑰長度為128,則表示這個密鑰里包含了2的128次方個密碼規則(如圖),這是一個天文數字。
也許你會問有必要要這么大的密鑰嗎?要知道,計算機的運算能力在突飛猛進地發展,如果擁有足夠的設備和資金,破解密鑰是不成問題的。比如64位的密鑰在條件許可的情況下,以現有的技術水平,可以在三天內被完全破解。當然破解成本和信息自身價值是有關系的,如果耗費的成本遠遠大於信息內容的價值時,沒有人會願意去做這個虧本買賣的,所以目前128位的密鑰長度還是足夠安全的。 只使用了一個密鑰進行加密解密,所以也可以叫做單密鑰加密。它對密鑰本身沒有特殊的要求,通信雙方只要有一個相同的密鑰就行,一個用戶把自己需要發送的數據通過密鑰加密成混亂的信息,接受方使用相同的密鑰把接受到的信息還原成原始數據,這個方法可以在極短的時間內對大量信息進行加密解密。但是如果密鑰在傳輸過程中就被截獲,那麼以後的加密過程就形同虛設。這個方法的優點是使用同一個密鑰節省了加密解密所需的時間,但是無法保證密鑰的安全性。
目前使用對稱密鑰演算法的是RC5、RC6、Blowfish和Twofish,其中最後兩種演算法位數長,而且加密解密速度很快。 是通過數學運算,把不同長度的信息轉化到128位編碼中,形成Hash值,通過比較這個數值是否正確,來確定通信雙方的合法性。這也可以說是數字簽名,在數據傳輸後,可以通過比較Hash值來判斷信息途中是否被截獲修改,是否由合法的發送人發送或者合法的接收人接收等。用這種方法,可以防止密鑰丟失的問題,因為它的加密部分是隨機生成的,如果沒有正確的Hash值根本就無法解開加密部分,而且它還具備了數字簽名的能力,可以證明發送方和接收方的合法身份,具有不可抵賴性,很適用於商業信息的傳遞。目前使用的有MD4、MD5和SHA。

⑶ 1、對稱加密演算法

指加密和解密使用相同密鑰的加密演算法。對稱加密演算法用來對敏感數據等信息進頃弊指行加密,常用的演算法包括RC4、DES、3DES、AES、DESX、Blowfish、ChaCha20、RC5、RC6。前3種演算法被認為是不安全的,通常禁止使用。

國內:SM1、SM4、ZUC

國際:DES、3DES、AES

說明:SM1的128位保密強度和性能與AES相當,SM4的128位已升級為國際標准

塊密碼演算法:DES、3DES、AES

流密碼演算法:RC4

SM1:對稱加密演算法,加密強度為128位,採用硬體實現; 演算法不公開 ,只能通過相關安全產品進行使用。

SM4:對稱演算法,隨WAPI標准一起公布,可使用軟體實現,加密強度為128位。

SM4分組密碼演算法是我國自主設計的分組對稱密碼演算法,用於實現數據的加密/解密運算,以保證數據和信息的機密性。要保證一個對稱密碼演算法的安全性的基本條件是其具備足夠的密鑰長度,SM4演算法與AES演算法具有相同的密鑰長度分組長度128比特,因此在安全性上高於3DES演算法。

DES(Data Encryption Standard) :數據加密標准,速度較快,適用於加密 大量數據 的場合。

3DES(Triple DES) :是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。

AES(Advanced Encryption Standard) :高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;

ECB(Electronic Codebook)、特點:運算快速,支持並行處理,需要填充、說明:不推薦使用

CBC (Cipher Block Chaining)、特點:支持並行處理,需要填充、說明:推薦使用

CFB(Cipher Feedback)、特點:支持並行處理,不需要填充、說明:不推薦使用

OFB(Output Feedback)、特點:迭代運算使用流密碼模式,不需要填充、說明:不推薦使用

CTR (Counter)、特點:迭代運算使用流密碼模式,支持並行處理,不需要填充、說明:推薦使用

XTS(XEX-based tweaked-codebook)、特點:不需要填充、說明:用於本地硬碟存儲解決方案中

填充標准:明文長度必須是分組長度的倍數,如雀配卜嘩不是倍數,則必須有填充機制

PKCS#7填充:可處理的分組長度是1到255個位元組

AES演算法使用標准,比如:AES-128-CBC-PKCS#7,其中秘鑰長度128,分組模式CBC,填充標准PKCS#7,AES演算法默認分組128bit

⑷ 什麼是RC4、RC5、AES

http://ke..com/view/2310288.htm

aes加密演算法
AES加密演算法原理
隨著對稱密碼的發展,DES數據加密標准演算法由於密鑰長度較小(56位),已經不適應當今分布式開放網路對數據加密安全性的要求,因此1997年NIST公開徵集新的數據加密標准,即AES[1]。經過三輪的篩選,比利時Joan Daeman和Vincent Rijmen提交的Rijndael演算法被提議為AES的最終演算法。此演算法將成為美國新的數據加密標准而被廣泛應用在各個領域中。盡管人們對AES還有不同的看法,但總體來說,AES作為新一代的數據加密標准匯聚了強安全性、高性能、高效率、易用和靈活等優點。AES設計有三個密鑰長度:128,192,256位,相對而言,AES的128密鑰比DES的56密鑰強1021倍[2]。AES演算法主要包括三個方面:輪變化、圈數和密鑰擴展。本文以128為例,介紹演算法的基本原理;結合AVR匯編語言,實現高級數據加密演算法AES。
AES是分組密鑰,演算法輸入128位數據,密鑰長度也是128位。用Nr表示對一個數據分組加密的輪數(加密輪數與密鑰長度的關系如表1所列)。每一輪都需要一個與輸入分組具有相同長度的擴展密鑰Expandedkey(i)的參與。由於外部輸入的加密密鑰K長度有限,所以在演算法中要用一個密鑰擴展程序(Keyexpansion)把外部密鑰K擴展成更長的比特串,以生成各輪的加密和解密密鑰。
1.1圈變化
AES每一個圈變換由以下三個層組成:
非線性層——進行Subbyte變換;
線行混合層——進行ShiftRow和MixColumn運算;
密鑰加層——進行AddRoundKey運算。
① Subbyte變換是作用在狀態中每個位元組上的一種非線性位元組轉換,可以通過計算出來的S盒進行映射。
② ShiftRow是一個位元組換位。它將狀態中的行按照不同的偏移量進行循環移位,而這個偏移量也是根據Nb的不同而選擇的[3]。
③ 在MixColumn變換中,把狀態中的每一列看作GF(28)上的多項式a(x)與固定多項式c(x)相乘的結果。 b(x)=c(x)*a(x)的系數這樣計算:*運算不是普通的乘法運算,而是特殊的運算,即 b(x)=c(x)·a(x)(mod x4+1) 對於這個運算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a0其中,符號「。」表示模一個八次不可約多項式的同餘乘法[3]。
對於逆變化,其矩陣C要改變成相應的D,即b(x)=d(x)*a(x)。
④ 密鑰加層運算(addround)是將圈密鑰狀態中的對應位元組按位「異或」。
⑤ 根據線性變化的性質[1],解密運算是加密變化的逆變化。這里不再詳細敘述。
1.2輪變化
對不同的分組長度,其對應的輪變化次數是不同的,如表1所列。
1.3密鑰擴展
AES演算法利用外部輸入密鑰K(密鑰串的字數為Nk),通過密鑰的擴展程序得到共計4(Nr+1)字的擴展密鑰。它涉及如下三個模塊:① 位置變換(rotword)——把一個4位元組的序列[A,B,C,D]變化成[B,C,D,A];② S盒變換(subword)——對一個4位元組進行S盒代替;③ 變換Rcon——Rcon表示32位比特字[xi-1,00,00,00]。這里的x是(02),如 Rcon[1]=[01000000];Rcon[2]=[02000000];Rcon[3]=[04000000]…… 擴展密鑰的生成:擴展密鑰的前Nk個字就是外部密鑰K;以後的字W[]等於它前一個字W[[i-1]]與前第Nk個字W[[i-Nk]]的「異或」,即W[]=W[[i-1]]W[[i- Nk]]。但是若i為Nk的倍數,則W=W[i-Nk]Subword(Rotword(W[[i-1]]))Rcon[i/Nk]。
AES的加密與解密流程如圖1所示。

⑸ 對稱加密演算法的加密演算法

基於「對稱密鑰」的加密演算法主要有DES、TripleDES、RC2、RC4、RC5和Blowfish等。
對稱密鑰:DES TripleDES演算法
DES演算法把64位的明文輸入塊變為數據長度為64位的密文輸出塊,其中8位為奇偶校驗位,另外56位作為密碼的長度。首先,DES把輸入的64位數據塊按位重新組合,並把輸出分為L0、R0兩部分,每部分各長32位,並進行前後置換,最終由L0輸出左32位,R0輸出右32位,根據這個法則經過16次迭代運算後,得到L16、R16,將此作為輸入,進行與初始置換相反的逆置換,即得到密文輸出。
DES演算法具有極高的安全性,到目前為止,除了用窮舉搜索法對DES演算法進行攻擊外,還沒有發現更有效的辦法,而56位長密鑰的窮舉空間為2^56,這意味著如果一台計算機的速度是每秒種檢測100萬個密鑰,那麼它搜索完全部密鑰就需要將近2285年的時間,因此DES演算法是一種很可靠的加密方法。
對稱密鑰:RC演算法
RC4演算法的原理是「攪亂」,它包括初始化演算法和偽隨機子密碼生成演算法兩大部分,在初始化的過程中,密鑰的主要功能是將一個256位元組的初始數簇進行隨機攪亂,不同的數簇在經過偽隨機子密碼生成演算法的處理後可以得到不同的子密鑰序列,將得到的子密鑰序列和明文進行異或運算(XOR)後,得到密文。
由於RC4演算法加密採用的是異或方式,所以,一旦子密鑰序列出現了重復,密文就有可能被破解,但是目前還沒有發現密鑰長度達到128位的RC4有重復的可能性,所以,RC4也是目前最安全的加密演算法之一。
對稱密鑰:BlowFish演算法
BlowFish演算法是一個64位分組及可變密鑰長度的分組密碼演算法,該演算法是非專利的。
BlowFish演算法使用兩個「盒」:pbox[18]和sbox[4256],BlowFish演算法有一個核心加密函數。該函數輸入64位信息,運算後以64位密文的形式輸出。用BlowFish演算法加密信息,需要密鑰預處理和信息加密兩個過程。BlowFish演算法的原密鑰pbox和sbox是固定的,要加密一個信息,需要選擇一個key,用這個key對pbox和sbox進行變換,得到下一步信息加密所用到的key_pbox和key_sbox。
BlowFish演算法解密,同樣也需要密鑰預處理和信息解密兩個過程。密鑰預處理的過程和加密時完全相同。信息解密的過程就是把信息加密過程的key_pbox逆序使用即可。

⑹ 對稱密碼體制的內容和典型演算法

內容:在對稱加密系統中,加密和解密採用相同的密鑰。因為加解密密鑰相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須信任對方不會將密鑰泄密出去,這樣就可以實現數據的機密性和完整性。

演算法:DES(Data Encryption Standard數據加密標准)演算法及其變形Triple DES(三重DES),GDES(廣義DES);歐洲的IDEA;日本的FEAL N、RC5等。

Triple DES使用兩個獨立的56bit密鑰對交換的信息進行3次加密,從而使其有效長度達到112bit。RC2和RC4方法是RSA數據安全公司的對稱加密專利演算法,它們採用可變密鑰長度的演算法。通過規定不同的密鑰長度,,C2和RC4能夠提高或降低安全的程度。

(6)rc5演算法加密密鑰長度擴展閱讀:

密碼體制的基本模式:

通常的密碼體制採用移位法、代替法和代數方法來進行加密和解密的變換,可以採用一種或幾種方法結合的方式作為數據變換的基本模式,下面舉例說明:

移位法也叫置換法。移位法把明文中的字元重新排列,字元本身不變但其位置改變了。

例如最簡單的例子:把文中的字母和字元倒過來寫。

或將密文以固定長度來發送

5791ECNI SYLDIPAT DEVLOBES AHYTIRUC ESATAD**。

閱讀全文

與rc5演算法加密密鑰長度相關的資料

熱點內容
名片開發源碼 瀏覽:333
如何買便宜的雲伺服器 瀏覽:773
linux的命令提示符 瀏覽:979
機器人焊接手柄編程入門教程 瀏覽:652
方舟怎麼進入之前進去的伺服器 瀏覽:809
家有萌寶解壓 瀏覽:929
linuxc一站式學習pdf 瀏覽:20
奇思妙想pdf 瀏覽:991
租用裸金屬伺服器需要什麼資質 瀏覽:635
程序員熬夜習慣 瀏覽:203
劍網三文件夾越來越大怎麼辦 瀏覽:413
提示沒有ads編譯器 瀏覽:375
androidgson工具類 瀏覽:14
爬取文件夾內多個excel表格 瀏覽:341
牙齒分割演算法創新點 瀏覽:813
liunix編譯 瀏覽:833
安卓rsa介面參數加密 瀏覽:272
三星伺服器停止運行是怎麼回事 瀏覽:58
phpmysqli刪除數據 瀏覽:59
安卓虛擬機黑屏什麼原因 瀏覽:767