信安实验-RC4加密算法

    xiaoxiao2021-03-25  137

                                                                            RC4加密算法

      算法具体就不介绍了,应信安老师要求整理及掌握。

    #include<bits/stdc++.h> using namespace std; const int N=256; char m[N]= {"this is a test"}; //明文与密文 int len,s[N],t[N],c[N],key[N]; //本次试验n=3,故随机选取密钥5 6 7对t数组依次填充 void init()//初始化 { int j=0; for(int i=0; i<N; i++) s[i]=i; //对s-box线性填充 for(int i=0; i<N; i++) //依次填充辅助数组 { if(i%3==0) t[i]=5; else if(i%3==1) t[i]=6; else t[i]=7; j=(j+s[i]+t[i])%N; swap(s[j],s[i]); } } void RC4_add() { int i=0,j=0; for(int k=0; k<len; k++) { i=(i+1)%N; j=(j+s[i])%N; // swap(s[i],s[j]); int tmp=(s[i]+s[j])%N; m[k]^=s[tmp]; printf("%c",m[k]); } } int main() { len=strlen(m); init(); printf("明文:%s\n",m); printf("加密:"); RC4_add(); printf("\n解密: "); RC4_add(); }  

    
    转载请注明原文地址: https://ju.6miu.com/read-12361.html

    最新回复(0)