RC4加密關(guān)鍵變量及算法特點(diǎn)原理詳解
什么是RC4
RC4加密算法是大名鼎鼎的RSA三人組中的頭號人物Ron Rivest在1987年設(shè)計的密鑰長度可變的流加密算法簇。RC4算法是一種在電子信息領(lǐng)域加密的技術(shù)手段,用于無線通信網(wǎng)絡(luò),是一種電子密碼,只有經(jīng)過授權(quán)的用戶才能享受該服務(wù)。
RC4 流密碼是使用最廣泛的流密碼之一,它通過算法一次一個字節(jié)地加密消息,簡單并且操作速度快。 RC4是一種在電子信息領(lǐng)域加密的技術(shù)手段,用于無線通信網(wǎng)絡(luò),是一種電子密碼,只有經(jīng)過授權(quán)的用戶才能享受該服務(wù),使用 64 位或 128 位密鑰大小。它通常用于安全套接層 (SSL)、傳輸層安全 (TLS) 等應(yīng)用,也用于 IEEE 802.11 無線 LAN 標(biāo)準(zhǔn)。
RC4加密是一種典型的對稱加密算法。
RC4算法特點(diǎn)
(1)、算法簡潔易于軟件實(shí)現(xiàn),加密速度快,安全性比較高;
(2)、密鑰長度可變,一般用256個字節(jié)。
RC4加密的幾個關(guān)鍵變量
1、密鑰流:RC4算法的關(guān)鍵是根據(jù)明文和密鑰生成相應(yīng)的密鑰流,密鑰流的長度和明文的長度是對應(yīng)的,也就是說明文的長度是500字節(jié),那么密鑰流也是500字節(jié)。當(dāng)然,加密生成的密文也是500字節(jié),因?yàn)?strong>密文第i字節(jié)=明文第i字節(jié)^密鑰流第i字節(jié);
2、狀態(tài)向量S:長度為256,S[0],S[1].....S[255]。每個單元都是一個字節(jié),算法運(yùn)行的任何時候,S都包括0-255的8比特數(shù)的排列組合,只不過值的位置發(fā)生了變換;
3、臨時向量T:長度也為256,每個單元也是一個字節(jié)。如果密鑰的長度是256字節(jié),就直接把密鑰的值賦給T,否則,輪轉(zhuǎn)地將密鑰的每個字節(jié)賦給T;
4、密鑰K:長度為1-256字節(jié),注意密鑰的長度keylen 與明文長度、密鑰流的長度沒有必然關(guān)系,通常密鑰的長度取為16字節(jié)(128比特)。
RC4加密原理
1、初始化S和T
for i=0 to 255 do S[i] =i; T[i]=K[ imodkeylen ];
2、初始排列S
for i=0 to 255 do j= ( j+S[i]+T[i])mod256; swap(S[i],S[j]);
3、產(chǎn)生密鑰流
for r=0 to len do //r為明文長度,r字節(jié) i=(i+1) mod 256; j=(j+S[i])mod 256; swap(S[i],S[j]); t=(S[i]+S[j])mod 256; k[r]=S[t];
通過知道RC4加密的原理,可以根據(jù)具體情境寫出加密或者解密的腳本
以上就是RC4加密關(guān)鍵變量及算法特點(diǎn)原理詳解的詳細(xì)內(nèi)容,更多關(guān)于RC4加密關(guān)鍵變量算法的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于加密解密 Base64 and URL and Hex Encoding and Decoding
關(guān)于加密解密 Base64 and URL and Hex Encoding and Decoding...2007-03-03RC4加密關(guān)鍵變量及算法特點(diǎn)原理詳解
這篇文章主要為大家介紹了RC4加密關(guān)鍵變量及算法特點(diǎn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10