詞語解釋
RC4算法,即Rivest Cipher 4,又稱為“魯棒密碼4”,是一種流密碼算法,由美國麻省理工學(xué)院的Ron Rivest于1987年發(fā)明,是一種對稱加密算法,它可以使用變長密鑰,其密鑰長度可以達到256位。 RC4算法在通信中的含義是,它是一種加密算法,可以用來保護通信雙方之間傳輸?shù)男畔ⅲ沟弥挥须p方知道密鑰的人才能夠解密信息,從而保護信息的安全。 RC4算法的應(yīng)用包括: 1、用于安全傳輸:RC4算法可以用來保護數(shù)據(jù)傳輸?shù)陌踩,可以用來保護網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù),從而保護網(wǎng)絡(luò)中的信息安全。 2、用于身份認(rèn)證:RC4算法可以用來驗證雙方的身份,從而保證雙方之間的安全通信。 3、用于數(shù)據(jù)加密:RC4算法可以用來對數(shù)據(jù)進行加密,從而保護數(shù)據(jù)的安全性。 4、用于數(shù)據(jù)解密:RC4算法可以用來對數(shù)據(jù)進行解密,從而獲取原始數(shù)據(jù)。 5、用于網(wǎng)絡(luò)安全:RC4算法可以用來保護網(wǎng)絡(luò)的安全,從而保護網(wǎng)絡(luò)中的數(shù)據(jù)安全。 總之,RC4算法可以用來保護網(wǎng)絡(luò)中傳輸?shù)男畔,保護雙方之間的安全通信,保護數(shù)據(jù)的安全性,從而保護網(wǎng)絡(luò)的安全。 RC4加密算法 RC4加密算法是大名鼎鼎的RSA三人組中的頭號人物Ron Rivest在1987年設(shè)計的密鑰長度可變的流加密算法簇。之所以稱其為簇,是由于其核心部分的S-box長度可為任意,但一般為256字節(jié)。該算法的速度可以達到DES加密的10倍左右。 RC4算法的原理很簡單,包括初始化算法和偽隨機子密碼生成算法兩大部分。假設(shè)S-box長度和密鑰長度均為為n。先來看看算法的初始化部分(用類C偽代碼表示): for (i=0; i s=i; j=0; for (i=0; i { j=(j+s+k)%256; swap(s, s[j]); } 在初始化的過程中,密鑰的主要功能是將S-box攪亂,i確保S-box的每個元素都得到處理,j保證S-box的攪亂是隨機的。而不同的S-box在經(jīng)過偽隨機子密碼生成算法的處理后可以得到不同的子密鑰序列,并且,該序列是隨機的: i=j=0; while (明文未結(jié)束) { ++i%=n; j=(j+s)%n; swap(s, s[j]); sub_k=s((s+s[j])%n); } 得到的子密碼sub_k用以和明文進行xor運算,得到密文,解密過程也完全相同。 由于RC4算法加密是采用的xor,所以,一旦子密鑰序列出現(xiàn)了重復(fù),密文就有可能被破解。關(guān)于如何破解xor加密,請參看Bruce Schneier的Applied Cryptography一書的1.4節(jié)Simple XOR,在此我就不細說了。那么,RC4算法生成的子密鑰序列是否會出現(xiàn)重復(fù)呢?經(jīng)過我的測試,存在部分弱密鑰,使得子密鑰序列在不到100萬字節(jié)內(nèi)就發(fā)生了完全的重復(fù),如果是部分重復(fù),則可能在不到10萬字節(jié)內(nèi)就能發(fā)生重復(fù),因此,推薦在使用RC4算法時,必須對加密密鑰進行測試,判斷其是否為弱密鑰。 但在2001年就有以色列科學(xué)家指出RC4加密算法存在著漏洞,這可能對無線通信網(wǎng)絡(luò)的安全構(gòu)成威脅。 以色列魏茨曼研究所和美國思科公司的研究者發(fā)現(xiàn),在使用“有線等效保密規(guī)則”(WEP)的無線網(wǎng)絡(luò)中,在特定情況下,人們可以逆轉(zhuǎn)RC4算法的加密過程,獲取密鑰,從而將己加密的信息解密。實現(xiàn)這一過程并不復(fù)雜,只需要使用一臺個人電腦對加密的數(shù)據(jù)進行分析,經(jīng)過幾個小時的時間就可以破譯出信息的全部內(nèi)容。 專家說,這并不表示所有使用RC4算法的軟件都容易泄密,但它意味著RC4算法并不像人們原先認(rèn)為的那樣安全。這一發(fā)現(xiàn)可能促使人們重新設(shè)計無線通信網(wǎng)絡(luò),并且使用新的加密算法。
RC4加密算法 RC4加密算法是大名鼎鼎的RSA三人組中的頭號人物Ron Rivest在1987年設(shè)計的密鑰長度可變的流加密算法簇。之所以稱其為簇,是由于其核心部分的S-box長度可為任意,但一般為256字節(jié)。該算法的速度可以達到DES加密的10倍左右。 RC4算法的原理很簡單,包括初始化算法和偽隨機子密碼生成算法兩大部分。假設(shè)S-box長度和密鑰長度均為為n。先來看看算法的初始化部分(用類C偽代碼表示): for (i=0; i s=i; j=0; for (i=0; i { j=(j+s+k)%256; swap(s, s[j]); } 在初始化的過程中,密鑰的主要功能是將S-box攪亂,i確保S-box的每個元素都得到處理,j保證S-box的攪亂是隨機的。而不同的S-box在經(jīng)過偽隨機子密碼生成算法的處理后可以得到不同的子密鑰序列,并且,該序列是隨機的: i=j=0; while (明文未結(jié)束) { ++i%=n; j=(j+s)%n; swap(s, s[j]); sub_k=s((s+s[j])%n); } 得到的子密碼sub_k用以和明文進行xor運算,得到密文,解密過程也完全相同。 由于RC4算法加密是采用的xor,所以,一旦子密鑰序列出現(xiàn)了重復(fù),密文就有可能被破解。關(guān)于如何破解xor加密,請參看Bruce Schneier的Applied Cryptography一書的1.4節(jié)Simple XOR,在此我就不細說了。那么,RC4算法生成的子密鑰序列是否會出現(xiàn)重復(fù)呢?經(jīng)過我的測試,存在部分弱密鑰,使得子密鑰序列在不到100萬字節(jié)內(nèi)就發(fā)生了完全的重復(fù),如果是部分重復(fù),則可能在不到10萬字節(jié)內(nèi)就能發(fā)生重復(fù),因此,推薦在使用RC4算法時,必須對加密密鑰進行測試,判斷其是否為弱密鑰。 但在2001年就有以色列科學(xué)家指出RC4加密算法存在著漏洞,這可能對無線通信網(wǎng)絡(luò)的安全構(gòu)成威脅。 以色列魏茨曼研究所和美國思科公司的研究者發(fā)現(xiàn),在使用“有線等效保密規(guī)則”(WEP)的無線網(wǎng)絡(luò)中,在特定情況下,人們可以逆轉(zhuǎn)RC4算法的加密過程,獲取密鑰,從而將己加密的信息解密。實現(xiàn)這一過程并不復(fù)雜,只需要使用一臺個人電腦對加密的數(shù)據(jù)進行分析,經(jīng)過幾個小時的時間就可以破譯出信息的全部內(nèi)容。 專家說,這并不表示所有使用RC4算法的軟件都容易泄密,但它意味著RC4算法并不像人們原先認(rèn)為的那樣安全。這一發(fā)現(xiàn)可能促使人們重新設(shè)計無線通信網(wǎng)絡(luò),并且使用新的加密算法。
抱歉,此頁面的內(nèi)容受版權(quán)保護,復(fù)制需扣除次數(shù),次數(shù)不足時需付費購買。
如需下載請點擊:點擊此處下載
掃碼付費即可復(fù)制
李少謙 | 英飛凌 | TCP_IP | 網(wǎng)絡(luò)硬盤 | WHQL | https | 發(fā)光二極管 | TRP | 網(wǎng)絡(luò)鎖 | 帶外信令 | tco | 維基 |
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助