古典加密演算法分為替代演算法和置換移位法。
1、替代演算法
替代演算法用明文的字母由其他字母或數字或符號所代替。最著名的替代演算法是愷撒密碼。凱撒密碼的原理很簡單,其實就是單字母替換。
例子:
明文:abcdefghijklmnopq
密文:defghijklmnopqrst
2、置換移位法
使用置換移位法的最著名的一種密碼稱為維吉尼亞密碼。它以置換移位為基礎的周期替換密碼。
在維吉尼亞密碼中,加密密鑰是一個可被任意指定的字元串。加密密鑰字元依次逐個作用於明文信息字元。明文信息長度往往會大於密鑰字元串長度,而明文的每一個字元都需要有一個對應的密鑰字元,因此密鑰就需要不斷循環,直至明文每一個字元都對應一個密鑰字元。
其他常見的加密演算法
1、DES演算法是密碼體制中的對稱密碼體制,把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位。
2、3DES是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
3、RC2和RC4是對稱演算法,用變長密鑰對大量數據進行加密,比DES快。
4、IDEA演算法是在DES演算法的基礎上發展出來的,是作為迭代的分組密碼實現的,使用128位的密鑰和8個循環。
5、RSA是由RSA公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法。
6、DSA,即數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法。
7、AES是高級加密標准對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael演算法。
❷ 加密技術06-加密總結
對稱密碼是一種用相同的密鑰進行加密和解密的技術,用於確保消息的機密性。在對稱密碼的演算法方面,目前主要使用的是 AES。盡管對稱密碼能夠確保消息的機密性,但需要解決將解密密鑰配送給接受者的密鑰配送問題。
主要演算法
DES
數據加密標准(英語:Data Encryption Standard,縮寫為 DES)是一種對稱密鑰加密塊密碼演算法,1976年被美國聯邦政府的國家標准局確定為聯邦資料處理標准(FIPS),隨後在國際上廣泛流傳開來。它基於使用56位密鑰的對稱演算法。
DES現在已經不是一種安全的加密方法,主要因為它使用的56位密鑰過短。
原理請參考: 加密技術01-對稱加密-DES原理
3DES
三重數據加密演算法(英語:Triple Data Encryption Algorithm,縮寫為TDEA,Triple DEA),或稱3DES(Triple DES),是一種對稱密鑰加密塊密碼,相當於是對每個數據塊應用三次DES演算法。由於計算機運算能力的增強,原版DES由於密鑰長度過低容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的密鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼演算法。
注意:有3個獨立密鑰的3DES的密鑰安全性為168位,但由於中途相遇攻擊(知道明文和密文),它的有效安全性僅為112位。
3DES使用「密鑰包」,其包含3個DES密鑰,K1,K2和K3,均為56位(除去奇偶校驗位)。
密文 = E k3 (D k2 (E k1 (明文)))
而解密則為其反過程:
明文 = D k3 (E k2 (D k1 (密文)))
AES
AES 全稱 Advanced Encryption Standard(高級加密標准)。它的出現主要是為了取代 DES 加密演算法的,因為 DES 演算法的密鑰長度是 56 位,因此演算法的理論安全強度是 56 位。於是 1997 年 1 月 2 號,美國國家標准技術研究所宣布希望徵集高級加密標准,用以取代 DES。AES 也得到了全世界很多密碼工作者的響應,先後有很多人提交了自己設計的演算法。最終有5個候選演算法進入最後一輪:Rijndael,Serpent,Twofish,RC6 和 MARS。最終經過安全性分析、軟硬體性能評估等嚴格的步驟,Rijndael 演算法獲勝。
AES 密碼與分組密碼 Rijndael 基本上完全一致,Rijndael 分組大小和密鑰大小都可以為 128 位、192 位和 256 位。然而 AES 只要求分組大小為 128 位,因此只有分組長度為 128 位的 Rijndael 才稱為 AES 演算法。
本文 AES 默認是分組長度為 128 位的 Rijndael 演算法
原理請參考: 加密技術02-對稱加密-AES原理
演算法對比
公鑰密碼是一種用不同的密鑰進行加密和解密的技術,和對稱密碼一樣用於確保消息的機密性。使用最廣泛的一種公鑰密碼演算法是 RAS。和對稱密碼相比,公鑰密碼的速度非常慢,因此一般都會和對稱密碼一起組成混合密碼系統來使用。公鑰密碼能夠解決對稱密碼中的密鑰交換問題,但存在通過中間人攻擊被偽裝的風險,因此需要對帶有數字簽名的公鑰進行認證。
公鑰密碼學的概念是為了解決對稱密碼學中最困難的兩個問題而提出
應用場景
幾個誤解
主要演算法
Diffie–Hellman 密鑰交換
迪菲-赫爾曼密鑰交換(英語:Diffie–Hellman key exchange,縮寫為D-H) 是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道創建起一個密鑰。這個密鑰可以在後續的通訊中作為對稱密鑰來加密通訊內容。公鑰交換的概念最早由瑞夫·墨克(Ralph C. Merkle)提出,而這個密鑰交換方法,由惠特菲爾德·迪菲(Bailey Whitfield Diffie)和馬丁·赫爾曼(Martin Edward Hellman)在1976年發表,也是在公開文獻中發布的第一個非對稱方案。
Diffie–Hellman 演算法的有效性是建立在計算離散對數很困難的基礎上。簡單地說,我們可如下定義離散對數。首先定義素數 p 的本原跟。素數 p 的本原根是一個整數,且其冪可以產生 1 到 p-1 之間所有整數,也就是說若 a 是素數 p 的本原根,則
a mod p, a 2 mod p,..., a p-1 mod p 各不相同,它是整數 1 到 p-1 的一個置換。
對任意整數 b 和素數 p 的本原跟 a,我們可以找到唯一的指數 i 使得
b ≡ a i (mod p) 其中 0 <= i <= p-1
其中 a, b, p 這些是公開的,i 是私有的,破解難度就是計算 i 的難度。
Elgamal
1985年,T.Elgamal 提出了一種基於離散對數的公開密鑰體制,一種與 Diffie-Hellman 密鑰分配體制密切相關。Elgamal 密碼體系應用於一些技術標准中,如數字簽名標准(DSS) 和 S/MIME 電子郵件標准。
基本原理就是利用 Diffie–Hellman 進行密鑰交換,假設交換的密鑰為 K,然後用 K 對要發送的消息 M,進行加密處理。
所以 Elgamal 的安全系數取決於 Diffie–Hellman 密鑰交換。
另外 Elgamal 加密後消息發送的長度會增加一倍。
RSA
MIT 的羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在 1977 年提出並於 1978 年首次發表的演算法。RSA 是最早滿足要求的公鑰演算法之一,自誕生日起就成為被廣泛接受且被實現的通用的公鑰加密方法。
RSA 演算法的有效性主要依據是大數因式分解是很困難的。
原理請參考: 加密技術03-非對稱加密-RSA原理
ECC
大多數使用公鑰密碼學進行加密和數字簽名的產品和標准都使用 RSA 演算法。我們知道,為了保證 RSA 使用的安全性,最近這些年來密鑰的位數一直在增加,這對使用 RSA 的應用是很重的負擔,對進行大量安全交易的電子商務更是如此。近來,出現的一種具有強大競爭力的橢圓曲線密碼學(ECC)對 RSA 提出了挑戰。在標准化過程中,如關於公鑰密碼學的 IEEE P1363 標准中,人們也已考慮了 ECC。
與 RSA 相比,ECC 的主要誘人之處在於,它可以使用比 RSA 短得多的密鑰得到相同安全性,因此可以減少處理負荷。
ECC 比 RSA 或 Diffie-Hellman 原理復雜很多,本文就不多闡述了。
演算法對比
公鑰密碼體制的應用
密碼分析所需計算量( NIST SP-800-57 )
註:L=公鑰的大小,N=私鑰的大小
散列函數是一種將長消息轉換為短散列值的技術,用於確保消息的完整性。在散列演算法方面,SHA-1 曾被廣泛使用,但由於人們已經發現了一些針對該演算法理論上可行的攻擊方式,因此該演算法不應再被用於新的用途。今後我們應該主要使用的演算法包括目前已經在廣泛使用的 SHA-2,以及具有全新結構的 SHA-3 演算法。散列函數可以單獨使用,也可以作為消息認證、數字簽名以及偽隨機數生成器等技術的組成元素來使用。
主要應用
主要演算法
MD5
MD5消息摘要演算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個 128 位( 16 位元組,被表示為 32 位十六進制數字)的散列值(hash value),用於確保信息傳輸完整一致。MD5 由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於 1992 年公開,用以取代 MD4 演算法。這套演算法的程序在 RFC 1321 中被加以規范。
2009年,中國科學院的謝濤和馮登國僅用了 2 20.96 的碰撞演算法復雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上運行只需要數秒鍾。2011年,RFC 6151 禁止MD5用作密鑰散列消息認證碼。
原理請參考: 加密技術04-哈希演算法-MD5原理
SHA-1
SHA-1(英語:Secure Hash Algorithm 1,中文名:安全散列演算法1)是一種密碼散列函數,美國國家安全局設計,並由美國國家標准技術研究所(NIST)發布為聯邦資料處理標准(FIPS)。SHA-1可以生成一個被稱為消息摘要的160位(20位元組)散列值,散列值通常的呈現形式為40個十六進制數。
2005年,密碼分析人員發現了對SHA-1的有效攻擊方法,這表明該演算法可能不夠安全,不能繼續使用,自2010年以來,許多組織建議用SHA-2或SHA-3來替換SHA-1。Microsoft、Google以及Mozilla都宣布,它們旗下的瀏覽器將在2017年停止接受使用SHA-1演算法簽名的SSL證書。
2017年2月23日,CWI Amsterdam與Google宣布了一個成功的SHA-1碰撞攻擊,發布了兩份內容不同但SHA-1散列值相同的PDF文件作為概念證明。
2020年,針對SHA-1的選擇前綴沖突攻擊已經實際可行。建議盡可能用SHA-2或SHA-3取代SHA-1。
原理請參考: 加密技術05-哈希演算法-SHA系列原理
SHA-2
SHA-2,名稱來自於安全散列演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數演算法標准,由美國國家安全局研發,由美國國家標准與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演算法標准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
SHA-2 系列的演算法主要思路和 SHA-1 基本一致
原理請參考: 加密技術05-哈希演算法-SHA系列原理
SHA-3
SHA-3 第三代安全散列演算法(Secure Hash Algorithm 3),之前名為 Keccak 演算法。
Keccak 是一個加密散列演算法,由 Guido Bertoni,Joan Daemen,Michaël Peeters,以及 Gilles Van Assche 在 RadioGatún 上設計。
2012年10月2日,Keccak 被選為 NIST 散列函數競賽的勝利者。SHA-2 目前沒有出現明顯的弱點。由於對 MD5、SHA-0 和 SHA-1 出現成功的破解,NIST 感覺需要一個與之前演算法不同的,可替換的加密散列演算法,也就是現在的 SHA-3。
SHA-3 在2015年8月5日由 NIST 通過 FIPS 202 正式發表。
原理請參考: 加密技術05-哈希演算法-SHA系列原理
演算法對比
❸ 典型加密演算法包括
1、對稱加密演算法
對稱加密演算法是指加密和解密採用相同的密鑰,是可逆的(即可解密)。AES加密演算法是密碼學中的高級加密標准,採用的是對稱分組密碼體制,密鑰長度的最少支持為128。
AES加密演算法是美國聯邦政府採用的區塊加密標准,這個標准用來替代原先的DES,已經被多方分析且廣為全世界使用。
2、非對稱加密
非對稱加密演算法,又稱為公開密鑰加密演算法。它需要兩個密鑰,一個稱為公開密鑰 (public key),即公鑰,另一個稱為私有密鑰 (private key),即私鑰。
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
3、Hash 演算法
Hash 演算法特別的地方在於它是一種單向演算法,用戶可以通過 Hash 演算法對目標信息生成一段特定長度的唯一的 Hash 值,卻不能通過這個 Hash 值重新獲得目標信息。因此 Hash 演算法常用在不可還原的密碼存儲、信息完整性校驗等。
❹ 數據加密的方法
網路安全防範措施與應用是什麼呢?如果您也想要了解一下網路安全防範措施和應用的話,請從數據加密的方法入手。因此很多人都會問數據加密有哪些方法呢?無巧不成書,最近公布了一個關於數據加密方法的總結,我相信您一定可以找到問題的答案哦。
由於計算機軟體的非法復制,通信的泄密、數據安全受到威脅,解密及盜版問題日益嚴重,甚至引發國際爭端,所以在信息安全技術中,加密技術佔有不可替代的位置,因此對信息加密技術和加密手段的研究與開發,受到各國計算機界的重視,發展日新月異。現在我們就幾種常用的加密演算法給大家比較一下。
DES加密演算法是一種分組密碼,以64位為分組對數據加密,它的密鑰長度是56位,加密解密用同一演算法。DES加密演算法是對密鑰進行保密,而公開演算法,包括加密和解密演算法。這樣,只有掌握了和發送方相同密鑰的人才能解讀由DES加密演算法加密的密文數據。因此,破譯DES加密演算法實際上就是搜索密鑰的編碼。對於56位長度的密鑰來說,如果用窮舉法來進行搜索的話,其運算次數為256。隨著計算機系統能力的不斷發展,DES的安全性比它剛出現時會弱得多,然而從非關鍵性質的實際出發,仍可以認為它是足夠的。不過,DES現在僅用於舊系統的鑒定,而更多地選擇新的加密標准。
RSA加密演算法是目前最有影響力的公鑰加密演算法,並且被普遍認為是目前最優秀的公鑰方案之一。RSA是第一個能同時用於加密和數宇簽名的演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標准。RSA加密演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
❺ 網路加密
信息安全包括 系統安全 和 數據安全 。
系統安全一般採用防火牆、病毒查殺等被動措施;數據安全主要採用現代密碼技術對數據進行主動保護,如數據保密、數據完整性、數據不可否認與抵賴、雙向身份認證等。
密碼技術是保證信息安全的核心技術。
名詞解釋
明文(plaintext):未被加密的消息;
密文(ciphertext):被加密的消息;
密碼演算法:也叫密碼(cipher),適用於加密和解密的數學函數。通常有兩個相關函數:一個用於加密,一個用於解密。
加密系統:由演算法以及所有可能的明文,密文和密鑰組成。
加密(encrypt):通過密碼演算法對數據進行轉化,使之成為沒有正確密鑰的人都無法讀懂的報文。
解密(decrypt):加密的相反過程。
密鑰(key):參與加密與解密演算法的關鍵數據。
一個加密網路不但可以防止非授權用戶的搭線竊聽和入網,保護網內數據、文件、口令和控制信息,也是對付惡意軟體的有效方法之一。
鏈路加密保護網路節點之間的鏈路信息安全,節點加密對源節點到目的節點之間的傳輸鏈路提供加密保護,端點加密是對源端點到目的端點的數據提供加密保護。
鏈路加密 又稱為在線加密,在數據鏈路層對數據進行加密,用於信道或鏈路中可能被截獲的那一部分數據進行保護。鏈路加密把報文中每一比特都加密,還對路由信息、校驗和控制信息加密。所以報文傳輸到某節點時,必須先解密,然後再路徑選擇,差錯控制,最後再次加密,發送到下一節點。
鏈路加密的優點 :實現簡單,在兩個節點線路上安裝一對密碼設備,安裝在數據機之間;用戶透明性。
鏈路加密的缺點 :1.全部報文以明文形式通過各節點;2.每條鏈路都需要一對設備,成本高。
節點加密 除具有鏈路加密的優勢外,還不允許報文在節點內以明文存在,先把收到的報文進行解密,然後採用另一個密鑰進行加密,克服了節點處易受非法存取的缺點。
優點是比鏈路加密成本低,且更安全。缺點是節點加密要求報頭和路由信息以明文傳輸,以便中間節點能得到如何處理消息的信息,對防止攻擊者分析通信業務仍是脆弱的。
端對端加密 又稱脫線加密或包加密、面向協議加密運行數據從源點到終點的傳輸過程中始終以密文形式存在,報文在到達終點前不進行解密。
端對端加密在傳輸層或更高層中實現。若在傳輸層加密,則不必為每個用戶提供單獨的安全保護機制;若在應用層加密,則用戶可根據自己特定要求選用不同加密策略。鏈路是對整個鏈路通信採取加密,端對端則是對整個網路系統採取保護措施。
優點:成本低,可靠性高,易設計、易實現、易維護。
目前已公開發表的各種加密演算法有200多種。
根據對明文的加密方式不同進行分類,加密演算法分為分組加密演算法和序列加密演算法。
如果經過加密所得到的密文僅與給定的密碼演算法和密鑰有關,與被處理的明文數據段在整個明文中所處的位置無關,就稱為分組加密演算法。
如果密文不僅與最初給定的密碼演算法和密鑰有關,同時也是被處理的數據段在明文中所處的位置的函數,就成為序列加密演算法。
按照收發雙方的密鑰是否相同分為對稱加密演算法(私鑰加密演算法)和非對稱加密演算法(公鑰加密演算法)。
一個加密系統的加密和解密密鑰相同,或者雖不同,但是由其中一個可以容易的推導出另一個,則該系統採用的是對稱加密演算法。
1976年美國Diffe和Hallman提出非對稱加密演算法。
主要特點是對數據進行加密和解密時使用不同的密鑰。每個用戶都保存一對密鑰,每個人的公開密鑰都對外開放。加入某用戶與另一用戶通信,可用公開密鑰對數據進行加密,而收信者則用自己的私有密鑰進行解密,加密解密分別使用不同的密鑰實現,且不可能由加密密鑰推導出解密密鑰。
著名的非對稱加密演算法有RSA、背包密碼、McEliece密碼、Diffe-Hellman、Rabin、Ong-FiatShamir、零知識證明的演算法、橢圓曲線、EIGamal密碼演算法等。最有影響力的是RSA,能抵抗目前為止已知的所有密碼攻擊。
❻ 網路加密的演算法是什麼
就是網路在傳輸數字信號得時候0101代碼之間的運算得出某個關鍵值就成為了網路的安全碼。
❼ 加密演算法總結
iOS加密相關演算法框架:CommonCrypto
明文: 明文指的是未被加密過的原始數據。
密文: 明文被某種加密演算法加密之後,會變成密文,從而確保原始數據的安全。密文也可以被解密,得到原始的明文。
密鑰: 密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰,分別應用在對稱加密和非對稱加密上。
對稱加密又叫做私鑰加密 ,即信息的發送方和接收方使用 同一個密鑰 去加密和解密數據。
對稱加密的特點是 演算法公開、計算量少、加密和解密速度快效率高 ,適合於對大數據量進行加密;
缺點是 雙方使用相同的密鑰、密鑰傳輸的過程不安全、易被破解、因此為了保密其密鑰需要經常更換
常見的對稱加密演算法有 AES、DES 、3DES、TDEA、Blowfish、RC5和IDEA。【不過DES被認為是不安全的】
加密過程:明文 + 加密演算法 + 私鑰 => 密文
解密過程: 密文 + 解密演算法 + 私鑰 => 明文
對稱加密中用到的密鑰叫做 私鑰 ,私鑰表示個人私有的密鑰,即該密鑰不能被泄露。
其 加密過程中的私鑰與解密過程中用到的私鑰是同一個密鑰 ,這也是稱加密之所以稱之為「對稱」的原因。由於對稱加密的 演算法是公開 的,所以一旦私鑰被泄露,那麼密文就很容易被破解,所以對稱加密的 缺點是密鑰安全管理困難 。
3DES是DES加密演算法的一種模式,它使用3條64位的密鑰對數據進行三次加密。是DES像AES過渡的加密演算法,是DES的一個更安全的變形,它以DES為基本模塊,通過組合分組方法設計出分組加密演算法。
非對稱加密也叫做公鑰加密 。非對稱加密與對稱加密相比,其安全性更好。對稱加密的通信雙方使用相同的密鑰,如果一方的密鑰遭泄露,那麼整個通信就會被破解。而 非對稱加密使用一對密鑰,即公鑰和私鑰 , 且二者成對出現 。私鑰被自己保存,不能對外泄露。公鑰指的是公共的密鑰,任何人都可以獲得該密鑰。用公鑰或私鑰中的任何一個進行加密,用另一個進行解密。兩種使用方法:
哈希演算法加密是通過哈希演算法對數據加密、加密後的結果不可逆,即加密後不能在解密。
SHA加密,安全哈希演算法,主要適用於數字簽名簽名標准( DSS )裡面定義的數字簽名演算法( DSA )。對於長度小於 2^64 位的消息, SHA1 會產生一個160位的消息摘要。當接收消息的時候,這個消息摘要可以用來驗證數據的完整性。在傳輸的過程中,數據很可能會發生變化,那麼這時候就會產生不同的消息摘要。當然除了 SHA1 還有 SHA256 以及 SHA512 等。
HMAC加密,給定一個密鑰,對明文加密,做兩次「散列」,得到的結果還是32位字元串。
就是或、與、異或、或者加上某個數據
特點:可逆、原始數據和加密數據長度保持一致
❽ 對稱加密演算法的加密演算法主要有哪些
1、3DES演算法
3DES(即Triple DES)是DES向AES過渡的加密演算法(1999年,NIST將3-DES指定為過渡的加密標准),加密演算法,其具體實現如下:設Ek()和Dk()代表DES演算法的加密和解密過程,K代表DES演算法使用的密鑰,M代表明文,C代表密文,這樣:
3DES加密過程為:C=Ek3(Dk2(Ek1(M)))
3DES解密過程為:M=Dk1(EK2(Dk3(C)))
2、Blowfish演算法
BlowFish演算法用來加密64Bit長度的字元串。
BlowFish演算法使用兩個「盒」——unsignedlongpbox[18]和unsignedlongsbox[4,256]。
BlowFish演算法中,有一個核心加密函數:BF_En(後文詳細介紹)。該函數輸入64位信息,運算後,以64位密文的形式輸出。用BlowFish演算法加密信息,需要兩個過程:密鑰預處理和信息加密。
分別說明如下:
密鑰預處理:
BlowFish演算法的源密鑰——pbox和sbox是固定的。我們要加密一個信息,需要自己選擇一個key,用這個key對pbox和sbox進行變換,得到下一步信息加密所要用的key_pbox和key_sbox。具體的變化演算法如下:
1)用sbox填充key_sbox
2)用自己選擇的key8個一組地去異或pbox,用異或的結果填充key_pbox。key可以循環使用。
比如說:選的key是"abcdefghijklmn"。則異或過程為:
key_pbox[0]=pbox[0]abcdefgh;
key_pbox[1]=pbox[1]ijklmnab;
…………
…………
如此循環,直到key_pbox填充完畢。
3)用BF_En加密一個全0的64位信息,用輸出的結果替換key_pbox[0]和key_pbox[1],i=0;
4)用BF_En加密替換後的key_pbox,key_pbox[i+1],用輸出替代key_pbox[i+2]和key_pbox[i+3];
5)i+2,繼續第4步,直到key_pbox全部被替換;
6)用key_pbox[16]和key_pbox[17]做首次輸入(相當於上面的全0的輸入),用類似的方法,替換key_sbox信息加密。
信息加密就是用函數把待加密信息x分成32位的兩部分:xL,xRBF_En對輸入信息進行變換。
3、RC5演算法
RC5是種比較新的演算法,Rivest設計了RC5的一種特殊的實現方式,因此RC5演算法有一個面向字的結構:RC5-w/r/b,這里w是字長其值可以是16、32或64對於不同的字長明文和密文塊的分組長度為2w位,r是加密輪數,b是密鑰位元組長度。
(8)加密的關鍵演算法我們稱作擴展閱讀:
普遍而言,有3個獨立密鑰的3DES(密鑰選項1)的密鑰長度為168位(三個56位的DES密鑰),但由於中途相遇攻擊,它的有效安全性僅為112位。密鑰選項2將密鑰長度縮短到了112位,但該選項對特定的選擇明文攻擊和已知明文攻擊的強度較弱,因此NIST認定它只有80位的安全性。
對密鑰選項1的已知最佳攻擊需要約2組已知明文,2部,2次DES加密以及2位內存(該論文提到了時間和內存的其它分配方案)。
這在現在是不現實的,因此NIST認為密鑰選項1可以使用到2030年。若攻擊者試圖在一些可能的(而不是全部的)密鑰中找到正確的,有一種在內存效率上較高的攻擊方法可以用每個密鑰對應的少數選擇明文和約2次加密操作找到2個目標密鑰中的一個。