rc4流密码算法之c语言实现

rc4流密码算法之c语言实现

ID:36448005

大小:42.00 KB

页数:8页

时间:2019-05-10

rc4流密码算法之c语言实现_第1页
rc4流密码算法之c语言实现_第2页
rc4流密码算法之c语言实现_第3页
rc4流密码算法之c语言实现_第4页
rc4流密码算法之c语言实现_第5页
资源描述:

《rc4流密码算法之c语言实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用文案RC4流密码算法之C语言实现RC4加密算法RC4算法的原理很简单,包括初始化算法(KSA)和伪随机子密码生成算法(PRGA)两大部分。假设S-box长度和密钥长度均为为n。先来看看算法的初始化部分(用类C伪代码表示):  for(i=0;i

2、{  j=(j+s+k)%256;  swap(s,s[j]);  }    i=j=0;得到的子密码sub_k用以和明文进行xor运算,得到密文,解密过程也完全相同。根据目前的分析结果,没有任何的分析对于密钥长度达到128位的RC4有效,所以,RC4是目前最安全的加密算法之一,大家可以放心使用!  while(明文未结束)  {  ++i%=n;  j=(j+s)%n;  swap(s,s[j]);标准文档实用文案  sub_k=s((s+s[j])%n);  }  位长可以自己随意设置,将256设置为你希望的即可我的C语言源码:平台:wi

3、ndowsXP,VC++6.0有什么大家可以讨论的地方请留言或发邮件至我邮箱:#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;标准文档实用文案  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("输入格式:");标准文档实用文案  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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。