rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)

rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)

ID:36448005

大?。?2.00 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-05-10

rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)_第1頁(yè)
rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)_第2頁(yè)
rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)_第3頁(yè)
rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)_第4頁(yè)
rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)_第5頁(yè)
資源描述:

《rc4流密碼算法之c語(yǔ)言實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、實(shí)用文案RC4流密碼算法之C語(yǔ)言實(shí)現(xiàn)RC4加密算法RC4算法的原理很簡(jiǎn)單,包括初始化算法(KSA)和偽隨機(jī)子密碼生成算法(PRGA)兩大部分。假設(shè)S-box長(zhǎng)度和密鑰長(zhǎng)度均為為n。先來(lái)看看算法的初始化部分(用類C偽代碼表示):  for(i=0;i

2、{  j=(j+s+k)%256;  swap(s,s[j]);  }    i=j=0;得到的子密碼sub_k用以和明文進(jìn)行xor運(yùn)算,得到密文,解密過(guò)程也完全相同。根據(jù)目前的分析結(jié)果,沒(méi)有任何的分析對(duì)于密鑰長(zhǎng)度達(dá)到128位的RC4有效,所以,RC4是目前最安全的加密算法之一,大家可以放心使用!  while(明文未結(jié)束)  {  ++i%=n;  j=(j+s)%n;  swap(s,s[j]);標(biāo)準(zhǔn)文檔實(shí)用文案  sub_k=s((s+s[j])%n);  }  位長(zhǎng)可以自己隨意設(shè)置,將256設(shè)置為你希望的即可我的C語(yǔ)言源碼:平臺(tái):wi

3、ndowsXP,VC++6.0有什么大家可以討論的地方請(qǐng)留言或發(fā)郵件至我郵箱:#include#include#includevoidswap(unsignedchar*s1,unsignedchar*s2){chartemp;temp=*s1;*s1=*s2;*s2=temp;}voidre_S(unsignedchar*S){unsignedinti;for(i=0;i<256;i++)??S[i]=i;}voidre_T(unsignedchar*T,char*key){inti

4、;intkeylen;keylen=strlen(key);for(i=0;i<256;i++)??T[i]=key[i%keylen];}voidre_Sbox(unsignedchar*S,unsignedchar*T){inti;intj=0;for(i=0;i<256;i++){??j=(j+S[i]+T[i])%256;標(biāo)準(zhǔn)文檔實(shí)用文案??swap(&S[i],&S[j]);}}voidre_RC4(unsignedchar*S,char*key){charT[255]={0};re_S(S);re_T(T,key);re_Sbox

5、(S,T);}voidRC4(FILE*readfile,FILE*writefile,char*key){unsignedcharS[255]={0};unsignedcharreadbuf[1];inti,j,t;re_RC4(S,key);i=j=0;while(fread(readbuf,1,1,readfile)){??i=(i+1)%256;??j=(j+S[i])%256;??swap(&S[i],&S[j]);??t=(S[i]+(S[j]%256))%256;??readbuf[0]=readbuf[0]^S[t];??fw

6、rite(readbuf,1,1,writefile);??memset(readbuf,0,1);}printf("加密

7、解密成功!!!");}intmain(intargc,char*argv[]){char*Filename1,*Filename2;char*key;FILE*file1,*file2;Filename1=argv[1];Filename2=argv[2];key=argv[3];if(argc==4){??printf("**********************正在加密中*******************

8、n");}else{??printf("輸入格式:");標(biāo)準(zhǔn)文檔實(shí)用文案??printf("文件名

9、加密或解密文件名

10、存放文件名

11、密鑰");??return-1;}if((file1=fopen(Filename1,"rb"))==NULL

12、

13、(file2=fopen(Filename2,"wb"))==NULL){????printf("Can'topenfile");??return-1;}???RC4(file1,file2,key);fclose(file1);fclose(file2);return0;}加密解密算法RC

14、5--#include#include"math.h"#includestaticconstw=32;staticcons

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。