? ? ? ?RC4算法是一種對(duì)稱加密算法,所謂對(duì)稱加密,就是加密和解密的過程是一樣的,加密和解密均采用同一把密鑰。RC4算法的特點(diǎn)是算法簡(jiǎn)單,執(zhí)行速度快安全性比較高并且密鑰長(zhǎng)度是可變的,可變范圍為1-256字節(jié)(8-2048比特)。讓它如此廣泛分布和使用的主要因素是它不可思議的簡(jiǎn)單和速度,不管是軟件還是硬件,實(shí)現(xiàn)起來都十分容易。且該算法的運(yùn)行速度很快,它大約是分塊密碼算法DES的5倍,是3DES的15倍,且比高級(jí)加密算法AES也快很多。RC4的安全保證主要在于輸入密鑰的產(chǎn)生途徑,只要在這方面不出現(xiàn)漏洞,采用128bit的密鑰是非常安全的。
?簡(jiǎn)介
? ? ? ?RC4加密算法是大名鼎鼎的 RSA三人組中的頭號(hào)人物Ron Rivest在1987年設(shè)計(jì)的密鑰長(zhǎng)度可變的流加密算法簇。之所以稱其為簇,是因?yàn)槠浜诵牟糠值腟-box長(zhǎng)度可為任意長(zhǎng)度,但一般為256字節(jié)。RC4算法是一種對(duì)稱加密算法,所謂對(duì)稱加密,就是加密和解密的過程是一樣的,加密和解密均采用同一把密鑰。對(duì)稱加密算法是最常用的加密算法,優(yōu)勢(shì)在于算法公開,計(jì)算量小,加密效率高。常用的對(duì)稱加密算法有DES、RC4、AES等。
RC4被用于為網(wǎng)絡(luò)瀏覽器和服務(wù)器間通信而制定的SSL/TLS(安全套接字協(xié)議/傳輸層安全協(xié)議)標(biāo)準(zhǔn)中,以及作為IEEE 801.11無線局域網(wǎng)標(biāo)準(zhǔn)一部分的WEP(Wired Equivalent Privacy)協(xié)議和新的WiFi受保護(hù)訪問協(xié)議(WAP)中。從這些應(yīng)用來看,RC4構(gòu)成了當(dāng)今網(wǎng)絡(luò)通信的非常重要的部分,因此這個(gè)算法非常重要。
?RC4算法的特點(diǎn)
? ? ? ?RC4算法的特點(diǎn)是算法簡(jiǎn)單,執(zhí)行速度快安全性比較高并且密鑰長(zhǎng)度是可變的,可變范圍為1-256字節(jié)(8-2048比特),在現(xiàn)在技術(shù)支持的前提下,當(dāng)密鑰長(zhǎng)度為128bit時(shí),用暴力法搜索密鑰已經(jīng)不太可行,所以能夠預(yù)見RC4的密鑰范圍仍然能夠在今后相當(dāng)長(zhǎng)的時(shí)間里抵御暴力搜索密鑰的攻擊。實(shí)際上,現(xiàn)在也沒有找到對(duì)于128bit密鑰長(zhǎng)度的RC4加密算法的有效攻擊方法。RC4的可變密鑰長(zhǎng)度,是面向字節(jié)操作的流密碼(逐字節(jié)加密)。流密碼也屬于對(duì)稱密碼,但與分組加密算法不同的是,流密碼不對(duì)明文數(shù)據(jù)進(jìn)行分組,而是用密鑰生成與明文一樣長(zhǎng)短的密碼流對(duì)明文進(jìn)行加密,加解密使用相同的密鑰。該算法以隨機(jī)置換作為基礎(chǔ),其密碼周期很可能大于10100,且該算法的運(yùn)行速度很快,它大約是分塊密碼算法DES的5倍,是3DES的15倍,且比高級(jí)加密算法AES也快很多。RC4的安全保證主要在于輸入密鑰的產(chǎn)生途徑,只要在這方面不出現(xiàn)漏洞,采用128bit的密鑰是非常安全的。
????對(duì)稱密碼算法的工作方式有四種:電子密碼本(ECB, electronic codebook)方式、密碼分組鏈接(CBC, cipherblock chaining)方式、密文反饋(CFB, cipher-feedback)方式、輸出反饋(OFB, output-feedback)方式。 RC4算法采用的是輸出反饋工作方式,所以可以用一個(gè)短的密鑰產(chǎn)生一個(gè)相對(duì)較長(zhǎng)的密鑰序列。
1.3 RC4的優(yōu)點(diǎn)和缺陷文章來源:http://www.zghlxwxcb.cn/news/detail-443141.html
? ? ?由于RC4算法加密是采用的xor,所以,一旦子密鑰序列出現(xiàn)了重復(fù),密文就有可能被破解。RC4算法生成的子密鑰序列是否會(huì)出現(xiàn)重復(fù)呢?由于存在部分弱密鑰,使得子密鑰序列在不到100萬(wàn)字節(jié)內(nèi)就發(fā)生了完全的重復(fù),如果是部分重復(fù),則可能在不到10萬(wàn)字節(jié)內(nèi)就能發(fā)生重復(fù),因此,推薦在使用RC4算法時(shí),必須對(duì)加密密鑰進(jìn)行測(cè)試,判斷其是否為弱密鑰。其不足主要體現(xiàn)于,在無線網(wǎng)絡(luò)中IV(初始化向量)不變性漏洞。文章來源地址http://www.zghlxwxcb.cn/news/detail-443141.html
到了這里,關(guān)于基于JAVA的RC4加密解密算法循環(huán)實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!